{
  "@context": {
    "ixo": "https://w3id.org/ixo/ns/protocol/",
    "@id": "@type",
    "type": "@type",
    "@protected": true
  },
  "type": "ixo:entity#surveyTemplate",
  "question": {
    "title": "Editing Order Form",
    "description": "Edit Order.",
    "pages": [
      {
        "name": "order_details",
        "elements": [
          {
            "type": "panel",
            "name": "customer_info_panel",
            "elements": [
              {
                "type": "text",
                "name": "schema:name",
                "title": "Customer Name",
                "readOnly": true
              },
              {
                "type": "text",
                "name": "ecs:contract_reference",
                "title": "Contract Reference",
                "readOnly": true
              },
              {
                "type": "dropdown",
                "name": "schema:country",
                "title": "Country",
                "readOnly": true,
                "choices": [
                  "Zambia",
                  "Malawi",
                  "Mozambique"
                ]
              },
              {
                "type": "dropdown",
                "name": "ecs:group",
                "title": "Group",
                "readOnly": true,
                "choices": [
                  "Utility",
                  "Non Utility"
                ]
              },
              {
                "type": "text",
                "name": "ecs:wallet_balance",
                "title": "Client Wallet Balance",
                "readOnly": true,
                "inputType": "number"
              }
            ],
            "title": "Customer Information"
          },
          {
            "type": "panel",
            "name": "order_pricing_panel",
            "elements": [
              {
                "type": "text",
                "name": "ecs:offer",
                "title": "Offer",
                "description": "Select applicable offer for this order",
                "defaultValue": "No Offer"
              },
              {
                "type": "text",
                "name": "ecs:quantity",
                "title": "Quantity",
                "defaultValue": 0,
                "isRequired": true,
                "inputType": "number"
              },
              {
                "type": "text",
                "name": "ecs:price_per_unit",
                "title": "Price per Unit",
                "defaultValue": 0,
                "isRequired": true,
                "inputType": "number"
              },
              {
                "type": "expression",
                "name": "ecs:unit_total",
                "title": "Unit Total",
                "expression": "({ecs:quantity} || 0) * ({ecs:price_per_unit} || 0)"
              },
              {
                "type": "panel",
                "name": "discount_panel",
                "elements": [
                  {
                    "type": "text",
                    "name": "ecs:discount_name",
                    "title": "Discount Name"
                  },
                  {
                    "type": "dropdown",
                    "name": "ecs:discount_type",
                    "title": "Discount Type",
                    "defaultValue": "Percentage",
                    "choices": [
                      "Percentage",
                      "Fixed Amount"
                    ]
                  },
                  {
                    "type": "text",
                    "name": "ecs:discount_value",
                    "title": "Discount Value",
                    "defaultValue": 0,
                    "inputType": "number"
                  }
                ],
                "title": "Discount Details"
              },
              {
                "type": "expression",
                "name": "ecs:total_price",
                "title": "Total Price (After Discount)",
                "expression": "max(0, iif({ecs:discount_type} = 'Percentage', ({ecs:unit_total} || 0) - (({ecs:unit_total} || 0) * ({ecs:discount_value} || 0) / 100), ({ecs:unit_total} || 0) - ({ecs:discount_value} || 0)))"
              }
            ],
            "title": "Order Pricing"
          }
        ]
      }
    ],
    "completeText": "Submit Order"
  }
}