{
  "sections": [
    {
      "title": "General",
      "type": "columns",
      "fields": [
        {
          "label": "Type",
          "visible": true,
          "component": "VTextField",
          "editable": false,
          "model": "type",
          "required": true,
          "rules": "required"
        },
        {
          "label": "Number",
          "visible": true,
          "component": "TextFieldWithAction",
          "model": "number",
          "required": true,
          "rules": "required"
        },
        {
          "label": "Agency",
          "visible": true,
          "component": "AgencyFilter",
          "model": "agency",
          "returnObject": true
        },
        {
          "label": "Master AWB",
          "visible": true,
          "component": "AwbReferenceLink",
          "model": "masterawbId",
          "editable": false,
          "showOnlyWhenHawb": true
        }
      ]
    },
    {
      "title": "Issuing Carrier",
      "type": "columns",
      "fields": [
        {
          "label": "Issuing Carrier",
          "visible": true,
          "component": "TransporterFilter",
          "model": "issuingId",
          "returnObject": true,
          "required": true,
          "rules": "required"
        },
        {
          "label": "Address",
          "visible": true,
          "component": "VTextField",
          "model": "issuingAddress",
          "editable": false
        },
        {
          "label": "City",
          "visible": true,
          "component": "VTextField",
          "model": "issuingCity",
          "editable": false
        },
        {
          "label": "Zip",
          "visible": true,
          "component": "VTextField",
          "model": "issuingZip",
          "editable": false
        },
        {
          "label": "Phone",
          "visible": true,
          "component": "VTextField",
          "model": "issuingPhone",
          "editable": false
        },
        {
          "label": "Contact Person",
          "visible": true,
          "component": "VTextField",
          "model": "issuingContact",
          "editable": false
        }
      ]
    },
    {
      "title": "Shipper",
      "type": "columns",
      "fields": [
        {
          "label": "Source",
          "visible": true,
          "component": "PartySourceSelector",
          "model": "shipperSource"
        },
        {
          "label": "Shipper",
          "visible": true,
          "component": "PartySourceInput",
          "model": "shipper",
          "returnObject": true,
          "args": {
            "sourceField": "shipperSource",
            "returnObject": true
          }
        },
        {
          "label": "Shipper Name",
          "visible": true,
          "component": "VTextField",
          "model": "shippername",
          "required": true,
          "rules": "required"
        },
        {
          "label": "Shipper Address",
          "visible": true,
          "component": "VTextField",
          "model": "shipperaddress",
          "required": true,
          "rules": "required"
        },
        {
          "label": "Shipper City",
          "visible": true,
          "component": "VTextField",
          "model": "shippercity",
          "required": true,
          "rules": "required"
        },
        {
          "label": "Shipper Phone",
          "visible": true,
          "component": "VTextField",
          "model": "shipperphone"
        },
        {
          "label": "Shipper Zip",
          "visible": true,
          "component": "VTextField",
          "model": "shipperzip"
        },
        {
          "label": "Shipper Contact",
          "visible": true,
          "component": "VTextField",
          "model": "shippercontact"
        }
      ]
    },
    {
      "title": "Consignee",
      "type": "columns",
      "fields": [
        {
          "label": "Source",
          "visible": true,
          "component": "PartySourceSelector",
          "model": "consigneeSource"
        },
        {
          "label": "Consignee",
          "visible": true,
          "component": "PartySourceInput",
          "model": "consignee",
          "returnObject": true,
          "args": {
            "sourceField": "consigneeSource",
            "returnObject": true
          }
        },
        {
          "label": "Consignee Name",
          "visible": true,
          "component": "VTextField",
          "model": "consigneename",
          "required": true,
          "rules": "required"
        },
        {
          "label": "Consignee Address",
          "visible": true,
          "component": "VTextField",
          "model": "consigneeaddress"
        },
        {
          "label": "Consignee City",
          "visible": true,
          "component": "VTextField",
          "model": "consigneecity",
          "required": true,
          "rules": "required"
        },
        {
          "label": "Consignee Phone",
          "visible": true,
          "component": "VTextField",
          "model": "consigneephone"
        },
        {
          "label": "Consignee Zip",
          "visible": true,
          "component": "VTextField",
          "model": "consigneezip"
        },
        {
          "label": "Consignee Contact",
          "visible": true,
          "component": "VTextField",
          "model": "consigneecontact"
        }
      ]
    },
    {
      "title": "Issue Agent",
      "type": "columns",
      "fields": [
        {
          "label": "Issue Agent",
          "visible": true,
          "component": "TransporterFilter",
          "model": "issueagentId",
          "returnObject": true,
          "required": true,
          "rules": "required"
        },
        {
          "label": "Address",
          "visible": true,
          "component": "VTextField",
          "model": "issuingAgentAddress",
          "editable": false
        },
        {
          "label": "City",
          "visible": true,
          "component": "VTextField",
          "model": "issuingAgentCity",
          "editable": false
        },
        {
          "label": "Zip",
          "visible": true,
          "component": "VTextField",
          "model": "issuingAgentZip",
          "editable": false
        },
        {
          "label": "Phone",
          "visible": true,
          "component": "VTextField",
          "model": "issuingAgentPhone",
          "editable": false
        },
        {
          "label": "Contact Person",
          "visible": true,
          "component": "VTextField",
          "model": "issuingAgentContact",
          "editable": false
        }
      ]
    },
    {
      "title": "Route & Destination",
      "sectionKey": "route",
      "type": "columns",
      "fields": [
        {
          "label": "Departure",
          "visible": true,
          "component": "AirportFilter",
          "model": "departureId",
          "returnObject": false,
          "required": true,
          "rules": "required"
        },
        {
          "label": "First Carrier",
          "visible": true,
          "component": "TransporterFilter",
          "model": "firstId",
          "returnObject": false,
          "required": true,
          "rules": "required"
        },
        {
          "label": "First Stop",
          "visible": false,
          "component": "AirportFilter",
          "model": "byfirstId",
          "returnObject": false
        },
        {
          "label": "Second Carrier",
          "visible": false,
          "component": "TransporterFilter",
          "model": "secondId",
          "returnObject": false
        },
        {
          "label": "Second Stop",
          "visible": false,
          "component": "AirportFilter",
          "model": "bysecondId",
          "returnObject": false
        },
        {
          "label": "Third Carrier",
          "visible": false,
          "component": "TransporterFilter",
          "model": "thirdId",
          "returnObject": false
        },
        {
          "label": "Destination",
          "visible": true,
          "component": "AirportFilter",
          "model": "destinationId",
          "returnObject": false,
          "required": true,
          "rules": "required"
        },
        {
          "label": "Flight Date",
          "visible": true,
          "component": "TextDatepicker",
          "model": "flightdate"
        },
        {
          "label": "Flight Number",
          "visible": true,
          "component": "VTextField",
          "model": "flightnumber"
        }
      ]
    },
    {
      "title": "References & Accounting",
      "type": "columns",
      "fields": [
        {
          "label": "Ref Number",
          "visible": true,
          "component": "VTextField",
          "model": "refnumber"
        },
        {
          "label": "Account Information",
          "visible": true,
          "component": "VTextarea",
          "model": "info"
        },
        {
          "label": "Reference Information",
          "visible": true,
          "component": "VTextarea",
          "model": "soptional1"
        },
        {
          "label": "Additional Information",
          "visible": true,
          "component": "VTextarea",
          "model": "soptional2"
        }
      ]
    },
    {
      "title": "Charges Declarations",
      "type": "columns",
      "fields": [
        {
          "label": "Currency",
          "visible": true,
          "component": "CurrencyFilter",
          "model": "currencyCode",
          "required": true,
          "rules": "required"
        },
        {
          "label": "Charge Type",
          "visible": true,
          "component": "ChargeTypeFilter",
          "model": "chargeType"
        },
        {
          "label": "WT/Val",
          "visible": true,
          "component": "ChargePaymentSelector",
          "model": "wtval"
        },
        {
          "label": "Other",
          "visible": true,
          "component": "ChargePaymentSelector",
          "model": "other"
        },
        {
          "label": "Carrier Declared Value",
          "visible": true,
          "component": "FormattedNumberField",
          "model": "carriervalue"
        },
        {
          "label": "Declared Value At Customs",
          "visible": true,
          "component": "FormattedNumberField",
          "model": "customvalue"
        },
        {
          "label": "Insurance Amount",
          "visible": true,
          "component": "FormattedNumberField",
          "model": "insuranceamount"
        }
      ]
    },
    {
      "title": "Handling Information",
      "type": "columns",
      "fields": [
        {
          "label": "Handling Information",
          "visible": true,
          "component": "VTextarea",
          "model": "handleinfo"
        },
        {
          "label": "SCI",
          "visible": true,
          "component": "VTextField",
          "model": "sci"
        },
        {
          "label": "Sign Person",
          "visible": false,
          "component": "VTextField",
          "model": "signperson"
        }
      ]
    }
  ]
}
