| GET | /api/order/{Id} | Get specific order by Order Id |
|---|
namespace DX.STF.Application.ClientApi.Messages.Order
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<DataContract>]
[<AllowNullLiteral>]
type DocumentIdentification() =
[<DataMember(Name="identifier")>]
member val Identifier:String = null with get,set
[<DataMember(Name="type")>]
member val Type:String = null with get,set
[<DataMember(Name="creationDateAndTime")>]
member val CreationDateAndTime:DateTime = new DateTime() with get,set
[<DataContract>]
[<AllowNullLiteral>]
type Identifier() =
[<DataMember(Name="authority")>]
member val Authority:String = null with get,set
[<DataMember(Name="text")>]
member val Text:String = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type ContactInformation() =
class end
[<DataContract>]
[<AllowNullLiteral>]
type Partner() =
[<DataMember(Name="identifier")>]
member val Identifier:Identifier = null with get,set
[<DataMember(Name="contactInformation")>]
member val ContactInformation:ResizeArray<ContactInformation> = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type Header() =
[<DataMember(Name="documentIdentification")>]
member val DocumentIdentification:DocumentIdentification = null with get,set
[<DataMember(Name="sender")>]
member val Sender:Partner = null with get,set
[<DataMember(Name="receiver")>]
member val Receiver:Partner = null with get,set
type DocumentAction =
| ADD = 0
| CHANGE_BY_REFRESH = 1
| DELETE = 2
| REJECTED = 3
type DocumentStatus =
| ADDITIONAL_TRANSMISSION = 0
| COPY = 1
| ORIGINAL = 2
[<AllowNullLiteral>]
type AvpList() =
member val Code:String = null with get,set
member val Value:String = null with get,set
[<AllowNullLiteral>]
type BaseDocument() =
member val CurrencyCode:String = null with get,set
member val CreationDateTime:DateTime = new DateTime() with get,set
member val DocumentActionCode:DocumentAction = new DocumentAction() with get,set
member val DocumentStatusCode:DocumentStatus = new DocumentStatus() with get,set
member val DocumentStructureVersion:String = null with get,set
member val LastUpdateDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val RevisionNumber:Nullable<Int64> = new Nullable<Int64>() with get,set
member val AvpList:ResizeArray<AvpList> = null with get,set
[<AllowNullLiteral>]
type Ecom_PartyIdentification() =
member val AdditionalPartyIdentification:ResizeArray<AvpList> = null with get,set
member val Gln:String = null with get,set
[<AllowNullLiteral>]
type Ecom_EntityIdentification() =
member val EntityIdentification:String = null with get,set
member val ContentOwner:Ecom_PartyIdentification = null with get,set
[<AllowNullLiteral>]
type Code() =
member val Value:String = null with get,set
member val CodeDescription:String = null with get,set
member val CodeListAgencyCodeListVersion:String = null with get,set
member val CodeListAgencyName:String = null with get,set
member val CodeListName:String = null with get,set
member val CodeListUri:String = null with get,set
[<AllowNullLiteral>]
type DateRange() =
member val BeginDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val BeginTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val EndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val EndTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<AllowNullLiteral>]
type OrderLogisticalDateInformation() =
member val DateRangeDeliveryDateRange:DateRange = null with get,set
member val DateRangeShipDateRange:DateRange = null with get,set
member val DateRangeDeliveryDateRangeAtUltimateConsignee:DateRange = null with get,set
member val RequestedDeliveryDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val RequestedShipDateTime:String = null with get,set
member val RequestedPickUpDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val RequestedDeliveryDateTimeAtUltimateConsignee:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<AllowNullLiteral>]
type Ecom_PartyIdentificationType() =
member val Gln:String = null with get,set
member val Name:String = null with get,set
member val AdditionalPartyIdentification:ResizeArray<AvpList> = null with get,set
[<AllowNullLiteral>]
type CommunicationChannel() =
member val CommunicationChannelCode:String = null with get,set
member val CommunicationChannelName:String = null with get,set
member val CommunicationValue:String = null with get,set
[<AllowNullLiteral>]
type Contact() =
member val ContactTypeCode:String = null with get,set
member val PersonName:String = null with get,set
member val DepartmentName:String = null with get,set
member val JobTitle:String = null with get,set
member val Responsibility:String = null with get,set
member val CommunicationChannel:ResizeArray<CommunicationChannel> = null with get,set
[<AllowNullLiteral>]
type Address() =
member val StreetAddressOne:String = null with get,set
member val StreetAddressTwo:String = null with get,set
member val StreetAddressThree:String = null with get,set
member val City:String = null with get,set
member val PostalCode:String = null with get,set
member val ProvinceCode:String = null with get,set
member val CountryCode:String = null with get,set
[<AllowNullLiteral>]
type FinancialRoutingNumber() =
member val Number:String = null with get,set
member val NumberTypeCode:String = null with get,set
[<AllowNullLiteral>]
type FinancialAccount() =
member val Number:String = null with get,set
member val NumberTypeCode:String = null with get,set
member val Name:String = null with get,set
[<AllowNullLiteral>]
type FinancialInstitutionInformation() =
member val FinancialInstitutionBranchName:String = null with get,set
member val FinancialInstitutionName:String = null with get,set
member val FinancialRoutingNumber:FinancialRoutingNumber = null with get,set
member val FinancialAccount:FinancialAccount = null with get,set
member val SwiftCode:String = null with get,set
member val ExportersCode:String = null with get,set
[<AllowNullLiteral>]
type TransactionalParty() =
inherit Ecom_PartyIdentificationType()
member val Contact:ResizeArray<Contact> = null with get,set
member val Address:Address = null with get,set
member val CommunicationChannel:ResizeArray<AvpList> = null with get,set
member val FinancialInstitutionInformation:FinancialInstitutionInformation = null with get,set
member val DutyFeeTaxRegistration:String = null with get,set
member val EntityIdentification:String = null with get,set
[<AllowNullLiteral>]
type ShipmentTransportationInformation() =
member val Carrier:TransactionalParty = null with get,set
member val FreightForwarder:TransactionalParty = null with get,set
[<AllowNullLiteral>]
type OrderLogisticalInformation() =
member val CommodityTypeCode:Code = null with get,set
member val OrderLogisticalDateInformation:OrderLogisticalDateInformation = null with get,set
member val InventoryLocation:TransactionalParty = null with get,set
member val ShipFrom:TransactionalParty = null with get,set
member val ShipTo:TransactionalParty = null with get,set
member val UltimateConsignee:TransactionalParty = null with get,set
member val ShipmentTransportationInformation:ShipmentTransportationInformation = null with get,set
[<AllowNullLiteral>]
type AdministrativeUnit() =
member val TypeCode:String = null with get,set
member val Gln:String = null with get,set
member val InternalIdentification:String = null with get,set
[<AllowNullLiteral>]
type DeliveryTermsLocation() =
member val UnLocationCode:String = null with get,set
member val Gln:String = null with get,set
member val AdditionalLocationIdentification:ResizeArray<AvpList> = null with get,set
member val SublocationIdentification:String = null with get,set
member val LocationName:String = null with get,set
member val LocationSpecificInstructions:String = null with get,set
[<AllowNullLiteral>]
type DeliveryTerms() =
member val IncotermsCode:String = null with get,set
member val AlternateDeliveryTermsCode:String = null with get,set
member val DeliveryInstructions:String = null with get,set
member val DeliveryCostPayment:String = null with get,set
member val IsSignatureRequired:String = null with get,set
member val DeliveryTermsLocation:DeliveryTermsLocation = null with get,set
[<AllowNullLiteral>]
type DocumentReference() =
member val CreationDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val RevisionNumber:Nullable<Int64> = new Nullable<Int64>() with get,set
member val LineItemNumber:Nullable<Int64> = new Nullable<Int64>() with get,set
member val EntityIdentification:String = null with get,set
[<AllowNullLiteral>]
type ReferencedOrder() =
member val OrderRelationship:String = null with get,set
member val DocumentReference:DocumentReference = null with get,set
[<AllowNullLiteral>]
type AllowanceCharge() =
member val AllowanceChargeAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val AllowanceChargePercentage:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val AllowanceChargeType:String = null with get,set
member val AllowanceOrChargeType:String = null with get,set
member val AmountPerUnit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val BaseAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val BaseNumberOfUnits:String = null with get,set
member val BracketIdentifier:String = null with get,set
member val EffectiveDateType:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val SequenceNumber:String = null with get,set
member val SettlementType:String = null with get,set
member val SpecialServiceType:String = null with get,set
member val AllowanceChargeDescription:String = null with get,set
[<AllowNullLiteral>]
type Quantity() =
member val Value:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val MeasurementUnitCode:String = null with get,set
member val CodeListVersion:String = null with get,set
[<AllowNullLiteral>]
type TransactionalItem() =
member val MeasurementUnitCode:String = null with get,set
member val MeasurementType:String = null with get,set
member val MeasurementValue:String = null with get,set
[<AllowNullLiteral>]
type SerialNumberRange() =
member val MaximumValue:String = null with get,set
member val MinimumValue:String = null with get,set
[<AllowNullLiteral>]
type TransactionalItemDimension() =
member val MeasurementUnitCode:String = null with get,set
member val Depth:String = null with get,set
member val Height:String = null with get,set
member val Width:String = null with get,set
[<AllowNullLiteral>]
type TransactionalItemLogisticUnitInformation() =
member val NumberOfLayers:Nullable<Int64> = new Nullable<Int64>() with get,set
member val NumberOfUnitsPerLayer:Nullable<Int64> = new Nullable<Int64>() with get,set
member val NumberOfUnitsPerPallet:Nullable<Int64> = new Nullable<Int64>() with get,set
member val PackagingTerms:String = null with get,set
member val PackageTypeCode:String = null with get,set
member val MaximumStackingFactor:Nullable<Int64> = new Nullable<Int64>() with get,set
member val ReturnablePackageTransportCostPayment:String = null with get,set
member val DimensionsOfLogisticUnit:ResizeArray<TransactionalItemDimension> = null with get,set
[<AllowNullLiteral>]
type TransactionalItemDataCarrierAndIdentification() =
member val Gs1TransactionalItemIdentificationKey:String = null with get,set
member val DataCarrier:String = null with get,set
[<AllowNullLiteral>]
type TradeItemWaste() =
member val WasteIdentification:String = null with get,set
member val TypeOfWaste:ResizeArray<AvpList> = null with get,set
[<AllowNullLiteral>]
type TransactionalItemOrganicInformation() =
member val IsTradeItemOrganic:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val OrganicCertification:String = null with get,set
[<AllowNullLiteral>]
type TransactionalItemData() =
member val AvailableForSaleDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val BatchNumber:String = null with get,set
member val BestBeforeDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CountryOfOrigin:String = null with get,set
member val ItemExpirationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val LotNumber:String = null with get,set
member val PackagingDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ProductionDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ProductQualityIndication:String = null with get,set
member val SellByDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val SerialNumber:ResizeArray<String> = null with get,set
member val ShelfLife:String = null with get,set
member val TradeItemQuantity:Nullable<Int64> = new Nullable<Int64>() with get,set
member val ItemInContactWithFoodProduct:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val TransactionalItemWeight:ResizeArray<TransactionalItem> = null with get,set
member val TransactionalItemVolume:ResizeArray<TransactionalItem> = null with get,set
member val SerialNumberRange:ResizeArray<SerialNumberRange> = null with get,set
member val TransactionalItemDimensions:ResizeArray<TransactionalItemDimension> = null with get,set
member val TransactionalItemLogisticUnitInformation:TransactionalItemLogisticUnitInformation = null with get,set
member val TransactionalItemDataCarrierAndIdentification:TransactionalItemDataCarrierAndIdentification = null with get,set
member val TradeItemWaste:ResizeArray<TradeItemWaste> = null with get,set
member val TransactionalItemOrganicInformation:TransactionalItemOrganicInformation = null with get,set
member val AvpList:ResizeArray<AvpList> = null with get,set
[<AllowNullLiteral>]
type Colour() =
member val ColourCode:String = null with get,set
member val ColourDescription:String = null with get,set
[<AllowNullLiteral>]
type Size() =
member val DescriptiveSize:String = null with get,set
member val SizeCode:String = null with get,set
[<AllowNullLiteral>]
type TradeItemClassification() =
member val GpcCategoryCode:String = null with get,set
member val AdditionalTradeItemClassificationCode:ResizeArray<AvpList> = null with get,set
member val GpcCategoryName:String = null with get,set
member val GpcAttribute:ResizeArray<AvpList> = null with get,set
[<AllowNullLiteral>]
type TransactionalTradeItem() =
member val Gtin:String = null with get,set
member val AdditionalTradeItemIdentification:ResizeArray<AvpList> = null with get,set
member val TradeItemQuantity:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val TradeItemDescription:String = null with get,set
member val ProductVariantIdentifier:String = null with get,set
member val ItemTypeCode:String = null with get,set
member val TradeItemDataOwner:String = null with get,set
member val ButterFatReference:String = null with get,set
member val TransactionalItemData:ResizeArray<TransactionalItemData> = null with get,set
member val Colour:ResizeArray<Colour> = null with get,set
member val Size:Size = null with get,set
member val TradeItemClassification:TradeItemClassification = null with get,set
member val AvpList:ResizeArray<AvpList> = null with get,set
[<AllowNullLiteral>]
type LeviedDutyFeeTax() =
member val DutyFeeTaxAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val DutyFeeTaxBasisAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val DutyFeeTaxDescription:String = null with get,set
member val DutyFeeTaxPercentage:Nullable<Decimal> = new Nullable<Decimal>() with get,set
[<AllowNullLiteral>]
type OrderLineItemDetail() =
member val RequestedQuantity:Quantity = null with get,set
member val OrderLogisticalInformation:OrderLogisticalInformation = null with get,set
member val AvpList:ResizeArray<AvpList> = null with get,set
[<AllowNullLiteral>]
type OrderLineItem() =
member val FreeGoodsQuantity:Quantity = null with get,set
member val ItemPriceBaseQuantity:Quantity = null with get,set
member val RequestedQuantity:Quantity = null with get,set
member val LineItemActionCode:String = null with get,set
member val LineItemNumber:Nullable<Int64> = new Nullable<Int64>() with get,set
member val ListPrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val MonetaryAmountExcludingTaxes:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val MonetaryAmountIncludingTaxes:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val NetAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val NetPrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val Note:String = null with get,set
member val OrderLineItemInstructionCode:String = null with get,set
member val ParentLineItemNumber:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val RecommendedRetailPrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val OrderLineItemPriority:String = null with get,set
member val AdditionalOrderLineInstruction:ResizeArray<AvpList> = null with get,set
member val AllowanceCharge:ResizeArray<AllowanceCharge> = null with get,set
member val AdministrativeUnit:ResizeArray<AdministrativeUnit> = null with get,set
member val TransactionalTradeItem:TransactionalTradeItem = null with get,set
member val LeviedDutyFeeTax:LeviedDutyFeeTax = null with get,set
member val Contract:DocumentReference = null with get,set
member val PromotionalDeal:DocumentReference = null with get,set
member val PurchaseConditions:DocumentReference = null with get,set
member val AvpList:ResizeArray<AvpList> = null with get,set
member val OrderLineItemDetail:ResizeArray<OrderLineItemDetail> = null with get,set
[<AllowNullLiteral>]
type Order() =
inherit BaseDocument()
member val DocumentEffectiveDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val AdditionalOrderInstruction:String = null with get,set
member val IsApplicationReceiptAcknowledgementRequired:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val IsOrderFreeOfExciseTaxDuty:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val Note:String = null with get,set
member val OrderEntryType:String = null with get,set
member val OrderInstructionCode:String = null with get,set
member val OrderPriority:String = null with get,set
member val OrderTypeCode:String = null with get,set
member val TotalMonetaryAmountExcludingTaxes:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val TotalMonetaryAmountIncludingTaxes:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val TotalTaxAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val PaymentTerms:String = null with get,set
member val OrderIdentification:Ecom_EntityIdentification = null with get,set
member val OrderLogisticalInformation:OrderLogisticalInformation = null with get,set
member val AdministrativeUnit:ResizeArray<AdministrativeUnit> = null with get,set
member val DeliveryTerms:DeliveryTerms = null with get,set
member val TransactionalGenericReference:ResizeArray<AvpList> = null with get,set
member val ReferencedOrder:ResizeArray<ReferencedOrder> = null with get,set
member val BillTo:TransactionalParty = null with get,set
member val Buyer:TransactionalParty = null with get,set
member val PickupFrom:TransactionalParty = null with get,set
member val Seller:TransactionalParty = null with get,set
member val UltimateConsignee:TransactionalParty = null with get,set
member val Contract:DocumentReference = null with get,set
member val QuoteNumber:DocumentReference = null with get,set
member val PromotionalDeal:DocumentReference = null with get,set
member val TradeAgreement:DocumentReference = null with get,set
member val DeliveryDateAccordingToSchedule:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val LatestDeliveryDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val AllowanceCharge:ResizeArray<AllowanceCharge> = null with get,set
member val OrderLineItem:ResizeArray<OrderLineItem> = null with get,set
[<AllowNullLiteral>]
type OrderMessage() =
member val Header:Header = null with get,set
member val Order:Order = null with get,set
///<summary>
///Order
///</summary>
[<Api(Description="Order")>]
[<ApiResponse(Description="Order data", IsDefaultResponse=true, StatusCode=200)>]
[<ApiResponse(Description="No Content", ResponseType=typeof<IReturnVoid>, StatusCode=204)>]
[<ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType=typeof<ArgumentOutOfRangeException>, StatusCode=400)>]
[<AllowNullLiteral>]
type GetOrderById() =
///<summary>
///Order ID or Token
///</summary>
[<ApiMember(Description="Order ID or Token", ExcludeInSchema=true, ParameterType="path")>]
member val Id:Guid = new Guid() with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/order/{Id} HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
header:
{
documentIdentification:
{
identifier: String,
type: String
},
sender:
{
identifier:
{
authority: String,
text: String
},
contactInformation:
[
{
}
]
},
receiver:
{
identifier:
{
authority: String,
text: String
},
contactInformation:
[
{
}
]
}
},
order:
{
documentEffectiveDate: 0001-01-01,
additionalOrderInstruction: String,
isApplicationReceiptAcknowledgementRequired: False,
isOrderFreeOfExciseTaxDuty: False,
note: String,
orderEntryType: String,
orderInstructionCode: String,
orderPriority: String,
orderTypeCode: String,
totalMonetaryAmountExcludingTaxes: 0,
totalMonetaryAmountIncludingTaxes: 0,
totalTaxAmount: 0,
paymentTerms: String,
orderIdentification:
{
entityIdentification: String,
contentOwner:
{
additionalPartyIdentification:
[
{
code: String,
value: String
}
],
gln: String
}
},
orderLogisticalInformation:
{
commodityTypeCode:
{
value: String,
codeDescription: String,
codeListAgencyCodeListVersion: String,
codeListAgencyName: String,
codeListName: String,
codeListUri: String
},
orderLogisticalDateInformation:
{
dateRangeDeliveryDateRange:
{
beginDate: 0001-01-01,
beginTime: 0001-01-01,
endDate: 0001-01-01,
endTime: 0001-01-01
},
dateRangeShipDateRange:
{
beginDate: 0001-01-01,
beginTime: 0001-01-01,
endDate: 0001-01-01,
endTime: 0001-01-01
},
dateRangeDeliveryDateRangeAtUltimateConsignee:
{
beginDate: 0001-01-01,
beginTime: 0001-01-01,
endDate: 0001-01-01,
endTime: 0001-01-01
},
requestedDeliveryDateTime: 0001-01-01,
requestedShipDateTime: String,
requestedPickUpDateTime: 0001-01-01,
requestedDeliveryDateTimeAtUltimateConsignee: 0001-01-01
},
inventoryLocation:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
shipFrom:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
shipTo:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
ultimateConsignee:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
shipmentTransportationInformation:
{
carrier:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
freightForwarder:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
}
}
},
administrativeUnit:
[
{
typeCode: String,
gln: String,
internalIdentification: String
}
],
deliveryTerms:
{
incotermsCode: String,
alternateDeliveryTermsCode: String,
deliveryInstructions: String,
deliveryCostPayment: String,
isSignatureRequired: String,
deliveryTermsLocation:
{
unLocationCode: String,
gln: String,
additionalLocationIdentification:
[
{
code: String,
value: String
}
],
sublocationIdentification: String,
locationName: String,
locationSpecificInstructions: String
}
},
transactionalGenericReference:
[
{
code: String,
value: String
}
],
referencedOrder:
[
{
orderRelationship: String,
documentReference:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
}
}
],
billTo:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
buyer:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
pickupFrom:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
seller:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
ultimateConsignee:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
contract:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
quoteNumber:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
promotionalDeal:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
tradeAgreement:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
deliveryDateAccordingToSchedule: 0001-01-01,
latestDeliveryDate: 0001-01-01,
allowanceCharge:
[
{
allowanceChargeAmount: 0,
allowanceChargePercentage: 0,
allowanceChargeType: String,
allowanceOrChargeType: String,
amountPerUnit: 0,
baseAmount: 0,
baseNumberOfUnits: String,
bracketIdentifier: String,
effectiveDateType: 0001-01-01,
sequenceNumber: String,
settlementType: String,
specialServiceType: String,
allowanceChargeDescription: String
}
],
orderLineItem:
[
{
freeGoodsQuantity:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
itemPriceBaseQuantity:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
requestedQuantity:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
lineItemActionCode: String,
lineItemNumber: 0,
listPrice: 0,
monetaryAmountExcludingTaxes: 0,
monetaryAmountIncludingTaxes: 0,
netAmount: 0,
netPrice: 0,
note: String,
orderLineItemInstructionCode: String,
parentLineItemNumber: 0,
recommendedRetailPrice: 0,
orderLineItemPriority: String,
additionalOrderLineInstruction:
[
{
code: String,
value: String
}
],
allowanceCharge:
[
{
allowanceChargeAmount: 0,
allowanceChargePercentage: 0,
allowanceChargeType: String,
allowanceOrChargeType: String,
amountPerUnit: 0,
baseAmount: 0,
baseNumberOfUnits: String,
bracketIdentifier: String,
effectiveDateType: 0001-01-01,
sequenceNumber: String,
settlementType: String,
specialServiceType: String,
allowanceChargeDescription: String
}
],
administrativeUnit:
[
{
typeCode: String,
gln: String,
internalIdentification: String
}
],
transactionalTradeItem:
{
gtin: String,
additionalTradeItemIdentification:
[
{
code: String,
value: String
}
],
tradeItemQuantity: 0,
tradeItemDescription: String,
productVariantIdentifier: String,
itemTypeCode: String,
tradeItemDataOwner: String,
butterFatReference: String,
transactionalItemData:
[
{
availableForSaleDate: 0001-01-01,
batchNumber: String,
bestBeforeDate: 0001-01-01,
countryOfOrigin: String,
itemExpirationDate: 0001-01-01,
lotNumber: String,
packagingDate: 0001-01-01,
productionDate: 0001-01-01,
productQualityIndication: String,
sellByDate: 0001-01-01,
serialNumber:
[
String
],
shelfLife: String,
tradeItemQuantity: 0,
itemInContactWithFoodProduct: False,
transactionalItemWeight:
[
{
measurementUnitCode: String,
measurementType: String,
measurementValue: String
}
],
transactionalItemVolume:
[
{
measurementUnitCode: String,
measurementType: String,
measurementValue: String
}
],
serialNumberRange:
[
{
maximumValue: String,
minimumValue: String
}
],
transactionalItemDimensions:
[
{
measurementUnitCode: String,
depth: String,
height: String,
width: String
}
],
transactionalItemLogisticUnitInformation:
{
numberOfLayers: 0,
numberOfUnitsPerLayer: 0,
numberOfUnitsPerPallet: 0,
packagingTerms: String,
packageTypeCode: String,
maximumStackingFactor: 0,
returnablePackageTransportCostPayment: String,
dimensionsOfLogisticUnit:
[
{
measurementUnitCode: String,
depth: String,
height: String,
width: String
}
]
},
transactionalItemDataCarrierAndIdentification:
{
gs1TransactionalItemIdentificationKey: String,
dataCarrier: String
},
tradeItemWaste:
[
{
wasteIdentification: String,
typeOfWaste:
[
{
code: String,
value: String
}
]
}
],
transactionalItemOrganicInformation:
{
isTradeItemOrganic: False,
organicCertification: String
},
avpList:
[
{
code: String,
value: String
}
]
}
],
colour:
[
{
colourCode: String,
colourDescription: String
}
],
size:
{
descriptiveSize: String,
sizeCode: String
},
tradeItemClassification:
{
gpcCategoryCode: String,
additionalTradeItemClassificationCode:
[
{
code: String,
value: String
}
],
gpcCategoryName: String,
gpcAttribute:
[
{
code: String,
value: String
}
]
},
avpList:
[
{
code: String,
value: String
}
]
},
leviedDutyFeeTax:
{
dutyFeeTaxAmount: 0,
dutyFeeTaxBasisAmount: 0,
dutyFeeTaxDescription: String,
dutyFeeTaxPercentage: 0
},
contract:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
promotionalDeal:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
purchaseConditions:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
avpList:
[
{
code: String,
value: String
}
],
orderLineItemDetail:
[
{
requestedQuantity:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
orderLogisticalInformation:
{
commodityTypeCode:
{
value: String,
codeDescription: String,
codeListAgencyCodeListVersion: String,
codeListAgencyName: String,
codeListName: String,
codeListUri: String
},
orderLogisticalDateInformation:
{
dateRangeDeliveryDateRange:
{
beginDate: 0001-01-01,
beginTime: 0001-01-01,
endDate: 0001-01-01,
endTime: 0001-01-01
},
dateRangeShipDateRange:
{
beginDate: 0001-01-01,
beginTime: 0001-01-01,
endDate: 0001-01-01,
endTime: 0001-01-01
},
dateRangeDeliveryDateRangeAtUltimateConsignee:
{
beginDate: 0001-01-01,
beginTime: 0001-01-01,
endDate: 0001-01-01,
endTime: 0001-01-01
},
requestedDeliveryDateTime: 0001-01-01,
requestedShipDateTime: String,
requestedPickUpDateTime: 0001-01-01,
requestedDeliveryDateTimeAtUltimateConsignee: 0001-01-01
},
inventoryLocation:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
shipFrom:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
shipTo:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
ultimateConsignee:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
shipmentTransportationInformation:
{
carrier:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
},
freightForwarder:
{
contact:
[
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
}
],
address:
{
streetAddressOne: String,
streetAddressTwo: String,
streetAddressThree: String,
city: String,
postalCode: String,
provinceCode: String,
countryCode: String
},
communicationChannel:
[
{
code: String,
value: String
}
],
financialInstitutionInformation:
{
financialInstitutionBranchName: String,
financialInstitutionName: String,
financialRoutingNumber:
{
number: String,
numberTypeCode: String
},
financialAccount:
{
number: String,
numberTypeCode: String,
name: String
},
swiftCode: String,
exportersCode: String
},
dutyFeeTaxRegistration: String,
entityIdentification: String,
gln: String,
name: String,
additionalPartyIdentification:
[
{
code: String,
value: String
}
]
}
}
},
avpList:
[
{
code: String,
value: String
}
]
}
]
}
],
currencyCode: String,
documentActionCode: ADD,
documentStatusCode: ADDITIONAL_TRANSMISSION,
documentStructureVersion: String,
lastUpdateDateTime: 0001-01-01,
revisionNumber: 0,
avpList:
[
{
code: String,
value: String
}
]
}
}