{ "$schema": "http://json-schema.org/draft-04/schema#", "$ref": "#/definitions/Transmission", "definitions": { "Transmission": { "description": "JSON Schema generated by XMLSpy v2018 (x64) (http://www.altova.com)", "type": "object", "properties": { "TransmissionHeader": { "title": "TransmissionHeader", "type": "object", "properties": { "TransmissionDate": { "description": "Format yyyy-mm-dd hh:mm", "type": "string" }, "TransmissionID": { "type": "string" }, "TransmissionOriginator": { "type": "string" }, "VersionNumber": { "type": "string" }, "TotalInvoiceCount": { "type": "number" }, "TotalInvoiceAmount": { "type": "number" } }, "required": [ "TransmissionDate", "TransmissionID", "TransmissionOriginator", "VersionNumber", "TotalInvoiceCount", "TotalInvoiceAmount" ], "additionalProperties": false }, "Invoices": { "title": "Invoices", "type": "array", "items": { "$ref": "#/definitions/Invoices" } }, "TransmissionSummary": { "title": "TransmissionSummary", "type": "object", "properties": { "MessageCount": { "type": "number" } }, "required": [ "MessageCount" ], "additionalProperties": false } }, "required": [ "TransmissionHeader", "Invoices", "TransmissionSummary" ], "additionalProperties": false }, "Invoices": { "type": "object", "properties": { "InvoiceHeader": { "$ref": "#/definitions/InvoiceHeader" } }, "required": [ "InvoiceHeader" ], "additionalProperties": false }, "InvoiceHeader": { "title": "InvoiceHeader", "type": "object", "properties": { "InvoiceNumber": { "type": "string" }, "InvoiceDate": { "description": "Format yyyy-mm-dd hh:mm", "type": "string" }, "InvoiceType": { "description": "Document type code: INV, CDT etc", "type": "string" }, "CreditReference": { "description": "The original invoice number that this credit note refers to", "type": "string" }, "Buyer": { "title": "Buyer", "type": "object", "properties": { "BuyerID": { "type": "string" }, "BuyerName": { "type": "string" }, "BuyerVATNumber": { "type": "string" }, "BuyerAddress1": { "type": "string" }, "BuyerAddress2": { "type": "string" }, "BuyerCity": { "type": "string" }, "BuyerPostCode": { "type": "string" }, "BuyerCountryCode": { "type": "string" } }, "required": [ "BuyerID", "BuyerName", "BuyerVATNumber", "BuyerAddress1", "BuyerAddress2", "BuyerCity", "BuyerPostCode", "BuyerCountryCode" ], "additionalProperties": false }, "Seller": { "title": "Seller", "type": "object", "properties": { "SellerID": { "type": "string" }, "SellerName": { "type": "string" }, "SellerVATNumber": { "type": "string" }, "SellerAddress1": { "type": "string" }, "SellerAddress2": { "type": "string" }, "SellerCity": { "type": "string" }, "SellerPostCode": { "type": "string" }, "SellerCountryCode": { "type": "string" }, "SellerFullDetails": { "type": "string" } }, "required": [ "SellerID", "SellerName", "SellerVATNumber", "SellerAddress1", "SellerAddress2", "SellerCity", "SellerPostCode", "SellerCountryCode" ], "additionalProperties": false }, "InvoiceAmountExclVAT": { "description": "Value of the invoice subtotal in the seller payment currency", "type": "number" }, "InvoiceVATAmount": { "description": "Value of the invoice VAT in the seller payment currency", "type": "number" }, "InvoiceAmountInclVAT": { "description": "Value of the invoice total in the seller payment currency", "type": "number" }, "InvoicePaidAmount": { "description": "Sum of the order payments", "type": "number" }, "InvoiceAmountDue": { "description": "The amount due of the invoice", "type": "number" }, "InvoiceCurrency": { "description": "ISO3 invoice currency code", "type": "string" }, "PaymentTerm": { "description": "Agreed payments terms related to this invoice", "type": "string" }, "LocalAmountExclVAT": { "description": "Value of the invoice subtotal in the originating country local currency", "type": "number" }, "LocalVATAmount": { "description": "Value of the invoice VAT in the originating country local currency", "type": "number" }, "LocalAmountInclVAT": { "description": "Value of the invoice total in the originating country local currency", "type": "number" }, "LocalPaidAmount": { "description": "Value of the invoice total in the originating country local currency", "type": "number" }, "LocalCurrency": { "description": "ISO3 original currency code - the local currency code of the issuing country", "type": "string" }, "PurchaseOrder": { "type": "string" }, "TotalInvoiceLines": { "type": "number" }, "TotalPrePayments": { "type": "number" }, "InvoiceDetails": { "title": "InvoiceDetails", "type": "array", "items": { "$ref": "#/definitions/InvoiceDetails" } }, "Prepayments": { "title": "Prepayments", "type": "array", "items": { "$ref": "#/definitions/Prepayments" } }, "InvoicePDF": { "type": "string" } }, "required": [ "InvoiceNumber", "InvoiceDate", "InvoiceType", "Buyer", "Seller", "InvoiceAmountExclVAT", "InvoiceVATAmount", "InvoiceAmountInclVAT", "InvoiceCurrency", "TotalInvoiceLines", "TotalPrePayments", "InvoiceDetails" ], "additionalProperties": false }, "Prepayments": { "type": "object", "properties": { "Key": { "type": "string" }, "OrderKey": { "type": "string" }, "AmountInInvoicedCurrency": { "type": "number" }, "AmountInPaidCurrency": { "type": "number" }, "PaidCurrencyCode": { "type": "string" }, "ExchangeRate": { "type": "number" }, "Remarks": { "type": "string" }, "FormOfPayment": { "type": "string" }, "AuthorizationCode": { "type": "string" }, "CardLastFourDigits": { "type": "string" }, "PaymentProcessor": { "type": "string" }, "DateTimeUtc": { "type": "string" }, "DateTimeLt": { "type": "string" } }, "required": [ "Key", "OrderKey", "AmountInInvoicedCurrency", "AmountInPaidCurrency", "PaidCurrencyCode", "Remarks", "FormOfPayment" ], "additionalProperties": false }, "InvoiceDetails": { "type": "object", "properties": { "LineNumber": { "description": "Ordinal invoice line number", "type": "number" }, "ServiceType": { "description": "The type service possible values Header, Chargeable service, PriceComponent ", "type": "string" }, "ServiceNumber": { "description": "Index number of the chargeable service group", "type": "number" }, "ProductCode": { "description": "Seller product code", "type": "string" }, "ProductName": { "description": "Seller product item description", "type": "string" }, "ProductReference": { "description": "Reference code agreed to between buyer and seller to refer to a common item codeSeller product item description", "type": "string" }, "ContractRateItem": { "description": "Contract rate item indicator Y/N", "type": "string" }, "DeliveryStartDate": { "description": "Date that the service was performed or when it was started. format: yyyy-mm-dd hh:mm:ss", "type": "string" }, "DeliveryEndDate": { "description": "Date that the service delivery ended, can be equal to start if service was a single event. format: yyyy-mm-dd hh:mm:ss", "type": "string" }, "Quantity": { "type": "number" }, "UOM": { "type": "string" }, "UnitPrice": { "type": "number" }, "LineAmount": { "type": "number" }, "LineVATAmount": { "type": "number" }, "LineVATPercentage": { "description": "The percentage of VAT allocated to this line item, expressed as full number like 19.5", "type": "number" }, "LineVATReference": { "description": "VAT reference code from the seller VAT system, also used for the VAT exemption code", "type": "string" }, "OrderReference": { "description": "The buyers order reference number. Free text field that is optional.", "type": "string" }, "ServiceLocation": { "description": "Airport code for ground based events, either IATA or ICAO code. Mandatory field but can be blank", "type": "object", "$ref": "#/definitions/Airport" }, "CreditedSellerInvoiceReference": { "description": "The original invoice number that this credit entry belongs to", "type": "string" }, "CreditedSellerOrderReference": { "description": "The original order number of the invoice that this credit entry belongs to", "type": "string" }, "DeliveryReference": { "description": "A reference of the delivery event, eg: fuel ticket, catering delivery note#. Free text field that is optional.", "type": "string" }, "OperatorsHandlingNumber": { "type": "string" }, "AircraftDetail": { "title": "AircraftDetail", "type": "object", "maxItems": 1, "properties": { "RegistrationNumber": { "type": "string" }, "MTOWTonnes": { "type": "number" }, "AircraftTypeCode_ICAO": { "type": "string" }, "AircraftTypeCode_IATA": { "type": "string" }, "NoiseClass": { "type": "string" }, "EmissionsClass": { "type": "string" } }, "required": [ "RegistrationNumber", "MTOWTonnes", "AircraftTypeCode_ICAO", "AircraftTypeCode_IATA", "NoiseClass", "EmissionsClass" ], "additionalProperties": false }, "FlightDetail": { "title": "FlightDetail", "type": "object", "minItems": 0, "maxItems": 2, "properties": { "FlightNumber": { "type": "string" }, "FlightDateTime": { "type": "string" }, "FlightDirection": { "type": "string" }, "RouteSource": { "type": "object", "$ref": "#/definitions/Airport" }, "RouteDestination": { "type": "object", "$ref": "#/definitions/Airport" }, "PassengerCount": { "type": "number" } }, "required": [ "FlightDirection", "PassengerCount" ], "additionalProperties": false } }, "required": [ "LineNumber", "ServiceType", "ServiceNumber", "ProductCode", "ProductName", "ProductReference", "ContractRateItem", "DeliveryStartDate", "Quantity", "UOM", "UnitPrice", "LineAmount", "LineVATAmount", "LineVATPercentage", "LineVATReference", "ServiceLocation", "AircraftDetail" ], "additionalProperties": false }, "Airport": { "description": "Airport data", "type": "object", "properties": { "IcaoCode": { "type": "string" }, "IataCode": { "type": "string" }, "Name": { "type": "string" } }, "required": [ "IcaoCode", "IataCode", "Name" ], "additionalProperties": false } } }