{
  "@context": {
    "ixo": "https://w3id.org/ixo/ns/protocol/",
    "@id": "@type",
    "type": "@type",
    "@protected": true
  },
  "type": "ixo:entity#surveyTemplate",
  "question": {
    "title": "Unmatched Payment",
    "pages": [
      {
        "name": "page1",
        "elements": [
          {
            "type": "text",
            "name": "ecs:trace_id",
            "title": "Gateway trace ID",
            "description": "Trace ID from the SMS gateway",
            "isRequired": true
          },
          {
            "type": "text",
            "name": "ecs:telerivet_msg_id",
            "title": "TeleRivet message ID",
            "description": "Unique message ID from TeleRivet, used to prevent duplicates",
            "isRequired": true
          },
          {
            "type": "text",
            "name": "ecs:msisdn_hash",
            "title": "Payer phone (secure hash)",
            "description": "Privacy-preserving SHA-256 hash of the payer's phone number",
            "isRequired": true
          },
          {
            "type": "text",
            "name": "ecs:msisdn_md5",
            "title": "Payer phone (lookup hash)",
            "description": "MD5 hash of the payer's phone number, used to look up the account",
            "isRequired": true
          },
          {
            "type": "text",
            "name": "ecs:payer_ref",
            "title": "Reference the payer entered",
            "description": "The customer reference they tried to use, e.g. C1A2B3"
          },
          {
            "type": "text",
            "name": "ecs:amount_fiat",
            "title": "Amount paid (minor units)",
            "description": "Payment amount in the smallest currency unit, e.g. cents",
            "isRequired": true,
            "inputType": "number"
          },
          {
            "type": "text",
            "name": "schema:priceCurrency",
            "title": "Currency",
            "description": "Three-letter currency code, e.g. ZMW",
            "isRequired": true
          },
          {
            "type": "text",
            "name": "schema:datePaid",
            "title": "When the payment was made",
            "description": "Date and time the payment occurred",
            "isRequired": true
          },
          {
            "type": "text",
            "name": "schema:identifier",
            "title": "Carrier transaction ID",
            "description": "The transaction ID from the mobile network"
          },
          {
            "type": "text",
            "name": "schema:provider",
            "title": "Mobile money provider",
            "description": "Who processed the payment, e.g. Airtel"
          },
          {
            "type": "text",
            "name": "schema:addressCountry",
            "title": "Country",
            "description": "Two-letter country code, e.g. ZM"
          },
          {
            "type": "comment",
            "name": "ecs:raw_content",
            "title": "Raw SMS data",
            "description": "The original SMS details, as captured (JSON)"
          },
          {
            "type": "text",
            "name": "ecs:failure_reason",
            "title": "Why it could not be matched",
            "description": "The reason this payment could not be linked to a customer",
            "isRequired": true
          }
        ]
      }
    ],
    "completeText": "Submit"
  }
}