DX STF Client API

<back to all web services

GetOrderResponseById

Order Response Requests

Order Response

Requires Authentication
The following routes are available for this service:
GET/api/orderResponse/{Id}Get specific OrderResponse by OrderResponse Id
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
Object = TypeVar('Object')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DocumentIdentification:
    identifier: Optional[str] = None
    type: Optional[str] = None
    creation_date_and_time: datetime.datetime = datetime.datetime(1, 1, 1)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Identifier:
    authority: Optional[str] = None
    text: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ContactInformation:
    pass


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Partner:
    identifier: Optional[Identifier] = None
    contact_information: List[ContactInformation] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Header:
    document_identification: Optional[DocumentIdentification] = None
    sender: Optional[Partner] = None
    receiver: Optional[Partner] = None


class DocumentAction(str, Enum):
    ADD = 'ADD'
    CHANGE_BY_REFRESH = 'CHANGE_BY_REFRESH'
    DELETE = 'DELETE'
    REJECTED = 'REJECTED'


class DocumentStatus(str, Enum):
    ADDITIONAL_TRANSMISSION = 'ADDITIONAL_TRANSMISSION'
    COPY = 'COPY'
    ORIGINAL = 'ORIGINAL'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AvpList:
    code: Optional[str] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BaseDocument:
    currency_code: Optional[str] = None
    creation_date_time: datetime.datetime = datetime.datetime(1, 1, 1)
    document_action_code: Optional[DocumentAction] = None
    document_status_code: Optional[DocumentStatus] = None
    document_structure_version: Optional[str] = None
    last_update_date_time: Optional[datetime.datetime] = None
    revision_number: Optional[int] = None
    avp_list: List[AvpList] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AllowanceCharge:
    allowance_charge_amount: Optional[Decimal] = None
    allowance_charge_percentage: Optional[Decimal] = None
    allowance_charge_type: Optional[str] = None
    allowance_or_charge_type: Optional[str] = None
    amount_per_unit: Optional[Decimal] = None
    base_amount: Optional[Decimal] = None
    base_number_of_units: Optional[str] = None
    bracket_identifier: Optional[str] = None
    effective_date_type: Optional[datetime.datetime] = None
    sequence_number: Optional[str] = None
    settlement_type: Optional[str] = None
    special_service_type: Optional[str] = None
    allowance_charge_description: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DeliveryTermsLocation:
    un_location_code: Optional[str] = None
    gln: Optional[str] = None
    additional_location_identification: List[AvpList] = field(default_factory=list)
    sublocation_identification: Optional[str] = None
    location_name: Optional[str] = None
    location_specific_instructions: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DeliveryTerms:
    incoterms_code: Optional[str] = None
    alternate_delivery_terms_code: Optional[str] = None
    delivery_instructions: Optional[str] = None
    delivery_cost_payment: Optional[str] = None
    is_signature_required: Optional[str] = None
    delivery_terms_location: Optional[DeliveryTermsLocation] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DateRange:
    begin_date: Optional[datetime.datetime] = None
    begin_time: Optional[datetime.datetime] = None
    end_date: Optional[datetime.datetime] = None
    end_time: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OrderLogisticalDateInformation:
    date_range_delivery_date_range: Optional[DateRange] = None
    date_range_ship_date_range: Optional[DateRange] = None
    date_range_delivery_date_range_at_ultimate_consignee: Optional[DateRange] = None
    requested_delivery_date_time: Optional[datetime.datetime] = None
    requested_ship_date_time: Optional[str] = None
    requested_pick_up_date_time: Optional[datetime.datetime] = None
    requested_delivery_date_time_at_ultimate_consignee: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DocumentReference:
    creation_date_time: Optional[datetime.datetime] = None
    revision_number: Optional[int] = None
    line_item_number: Optional[int] = None
    entity_identification: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Ecom_PartyIdentificationType:
    gln: Optional[str] = None
    name: Optional[str] = None
    additional_party_identification: List[AvpList] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CommunicationChannel:
    communication_channel_code: Optional[str] = None
    communication_channel_name: Optional[str] = None
    communication_value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Contact:
    contact_type_code: Optional[str] = None
    person_name: Optional[str] = None
    department_name: Optional[str] = None
    job_title: Optional[str] = None
    responsibility: Optional[str] = None
    communication_channel: List[CommunicationChannel] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Address:
    street_address_one: Optional[str] = None
    street_address_two: Optional[str] = None
    street_address_three: Optional[str] = None
    city: Optional[str] = None
    postal_code: Optional[str] = None
    province_code: Optional[str] = None
    country_code: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FinancialRoutingNumber:
    number: Optional[str] = None
    number_type_code: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FinancialAccount:
    number: Optional[str] = None
    number_type_code: Optional[str] = None
    name: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FinancialInstitutionInformation:
    financial_institution_branch_name: Optional[str] = None
    financial_institution_name: Optional[str] = None
    financial_routing_number: Optional[FinancialRoutingNumber] = None
    financial_account: Optional[FinancialAccount] = None
    swift_code: Optional[str] = None
    exporters_code: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TransactionalParty(Ecom_PartyIdentificationType):
    contact: List[Contact] = field(default_factory=list)
    address: Optional[Address] = None
    communication_channel: List[AvpList] = field(default_factory=list)
    financial_institution_information: Optional[FinancialInstitutionInformation] = None
    duty_fee_tax_registration: Optional[str] = None
    entity_identification: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Quantity:
    value: Optional[Decimal] = None
    measurement_unit_code: Optional[str] = None
    code_list_version: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Code:
    value: Optional[str] = None
    code_description: Optional[str] = None
    code_list_agency_code_list_version: Optional[str] = None
    code_list_agency_name: Optional[str] = None
    code_list_name: Optional[str] = None
    code_list_uri: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ShipmentTransportationInformation:
    carrier: Optional[TransactionalParty] = None
    freight_forwarder: Optional[TransactionalParty] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OrderLogisticalInformation:
    commodity_type_code: Optional[Code] = None
    order_logistical_date_information: Optional[OrderLogisticalDateInformation] = None
    inventory_location: Optional[TransactionalParty] = None
    ship_from: Optional[TransactionalParty] = None
    ship_to: Optional[TransactionalParty] = None
    ultimate_consignee: Optional[TransactionalParty] = None
    shipment_transportation_information: Optional[ShipmentTransportationInformation] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OrderResponseLineItemDetail:
    confirmed_quantity: Optional[Quantity] = None
    order_logistical_information: Optional[OrderLogisticalInformation] = None
    avp_list: Optional[AvpList] = None
    purchase_conditions: Optional[DocumentReference] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TransactionalItem:
    measurement_unit_code: Optional[str] = None
    measurement_type: Optional[str] = None
    measurement_value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SerialNumberRange:
    maximum_value: Optional[str] = None
    minimum_value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TransactionalItemDimension:
    measurement_unit_code: Optional[str] = None
    depth: Optional[str] = None
    height: Optional[str] = None
    width: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TransactionalItemLogisticUnitInformation:
    number_of_layers: Optional[int] = None
    number_of_units_per_layer: Optional[int] = None
    number_of_units_per_pallet: Optional[int] = None
    packaging_terms: Optional[str] = None
    package_type_code: Optional[str] = None
    maximum_stacking_factor: Optional[int] = None
    returnable_package_transport_cost_payment: Optional[str] = None
    dimensions_of_logistic_unit: List[TransactionalItemDimension] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TransactionalItemDataCarrierAndIdentification:
    gs1_transactional_item_identification_key: Optional[str] = None
    data_carrier: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TradeItemWaste:
    waste_identification: Optional[str] = None
    type_of_waste: List[AvpList] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TransactionalItemOrganicInformation:
    is_trade_item_organic: Optional[bool] = None
    organic_certification: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TransactionalItemData:
    available_for_sale_date: Optional[datetime.datetime] = None
    batch_number: Optional[str] = None
    best_before_date: Optional[datetime.datetime] = None
    country_of_origin: Optional[str] = None
    item_expiration_date: Optional[datetime.datetime] = None
    lot_number: Optional[str] = None
    packaging_date: Optional[datetime.datetime] = None
    production_date: Optional[datetime.datetime] = None
    product_quality_indication: Optional[str] = None
    sell_by_date: Optional[datetime.datetime] = None
    serial_number: List[str] = field(default_factory=list)
    shelf_life: Optional[str] = None
    trade_item_quantity: Optional[int] = None
    item_in_contact_with_food_product: Optional[bool] = None
    transactional_item_weight: List[TransactionalItem] = field(default_factory=list)
    transactional_item_volume: List[TransactionalItem] = field(default_factory=list)
    serial_number_range: List[SerialNumberRange] = field(default_factory=list)
    transactional_item_dimensions: List[TransactionalItemDimension] = field(default_factory=list)
    transactional_item_logistic_unit_information: Optional[TransactionalItemLogisticUnitInformation] = None
    transactional_item_data_carrier_and_identification: Optional[TransactionalItemDataCarrierAndIdentification] = None
    trade_item_waste: List[TradeItemWaste] = field(default_factory=list)
    transactional_item_organic_information: Optional[TransactionalItemOrganicInformation] = None
    avp_list: List[AvpList] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Colour:
    colour_code: Optional[str] = None
    colour_description: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Size:
    descriptive_size: Optional[str] = None
    size_code: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TradeItemClassification:
    gpc_category_code: Optional[str] = None
    additional_trade_item_classification_code: List[AvpList] = field(default_factory=list)
    gpc_category_name: Optional[str] = None
    gpc_attribute: List[AvpList] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TransactionalTradeItem:
    gtin: Optional[str] = None
    additional_trade_item_identification: List[AvpList] = field(default_factory=list)
    trade_item_quantity: Optional[Decimal] = None
    trade_item_description: Optional[str] = None
    product_variant_identifier: Optional[str] = None
    item_type_code: Optional[str] = None
    trade_item_data_owner: Optional[str] = None
    butter_fat_reference: Optional[str] = None
    transactional_item_data: List[TransactionalItemData] = field(default_factory=list)
    colour: List[Colour] = field(default_factory=list)
    size: Optional[Size] = None
    trade_item_classification: Optional[TradeItemClassification] = None
    avp_list: List[AvpList] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LeviedDutyFeeTax:
    duty_fee_tax_amount: Optional[Decimal] = None
    duty_fee_tax_basis_amount: Optional[Decimal] = None
    duty_fee_tax_description: Optional[str] = None
    duty_fee_tax_percentage: Optional[Decimal] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OrderResponseLineItem:
    additional_order_line_instruction: List[str] = field(default_factory=list)
    confirmed_quantity: Optional[Quantity] = None
    delivery_date_time: Optional[datetime.datetime] = None
    line_item_action_code: Optional[str] = None
    line_item_change_indicator: Optional[str] = None
    line_item_number: Optional[int] = None
    monetary_amount_excluding_taxes: Optional[Decimal] = None
    monetary_amount_including_taxes: Optional[Decimal] = None
    net_amount: Optional[Decimal] = None
    net_price: Optional[Decimal] = None
    note: Optional[str] = None
    order_response_reason_code: Optional[str] = None
    response_status_code: Optional[str] = None
    original_order_line_item_number: Optional[int] = None
    parent_line_item_number: Optional[int] = None
    order_response_line_item_detail: List[OrderResponseLineItemDetail] = field(default_factory=list)
    allowance_charge: List[AllowanceCharge] = field(default_factory=list)
    transactional_trade_item: Optional[TransactionalTradeItem] = None
    levied_duty_fee_tax: Optional[LeviedDutyFeeTax] = None
    avp_list: List[AvpList] = field(default_factory=list)
    back_order_information: Optional[OrderResponseLineItemDetail] = None
    substitute_item_information: Optional[TransactionalTradeItem] = None
    shipment_transportation_information: Optional[ShipmentTransportationInformation] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OrderResponse(BaseDocument):
    note: Optional[str] = None
    order_response_reason_code: List[str] = field(default_factory=list)
    response_status_code: Optional[str] = None
    total_monetary_amount_excluding_taxes: Optional[Decimal] = None
    total_monetary_amount_including_taxes: Optional[Decimal] = None
    total_tax_amount: Optional[Decimal] = None
    allowance_charge: List[AllowanceCharge] = field(default_factory=list)
    delivery_terms: Optional[DeliveryTerms] = None
    amended_date_time_value: Optional[OrderLogisticalDateInformation] = None
    order_response_identification: Optional[str] = None
    original_order: Optional[DocumentReference] = None
    sales_order: Optional[DocumentReference] = None
    bill_to: Optional[TransactionalParty] = None
    buyer: Optional[TransactionalParty] = None
    seller: Optional[TransactionalParty] = None
    ship_to: Optional[TransactionalParty] = None
    order_response_line_item: List[OrderResponseLineItem] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OrderResponseMessage:
    header: Optional[Header] = None
    order_response: Optional[OrderResponse] = None


# @Api(Description="Order Response")
# @ApiResponse(Description="OrderResponse 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)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetOrderResponseById(IGetDocumentById):
    """
    Order Response
    """

    # @ApiMember(Description="OrderResponse ID or Token", ExcludeInSchema=true, ParameterType="path")
    id: Optional[str] = None
    """
    OrderResponse ID or Token
    """

Python GetOrderResponseById DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /api/orderResponse/{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: 
			[
				{
					
				}
			]
		}
	},
	orderResponse: 
	{
		note: String,
		orderResponseReasonCode: 
		[
			String
		],
		responseStatusCode: String,
		totalMonetaryAmountExcludingTaxes: 0,
		totalMonetaryAmountIncludingTaxes: 0,
		totalTaxAmount: 0,
		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
			}
		],
		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
			}
		},
		amendedDateTimeValue: 
		{
			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
		},
		orderResponseIdentification: String,
		originalOrder: 
		{
			creationDateTime: 0001-01-01,
			revisionNumber: 0,
			lineItemNumber: 0,
			entityIdentification: String
		},
		salesOrder: 
		{
			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
				}
			]
		},
		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
				}
			]
		},
		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
				}
			]
		},
		orderResponseLineItem: 
		[
			{
				additionalOrderLineInstruction: 
				[
					String
				],
				confirmedQuantity: 
				{
					value: 0,
					measurementUnitCode: String,
					codeListVersion: String
				},
				deliveryDateTime: 0001-01-01,
				lineItemActionCode: String,
				lineItemChangeIndicator: String,
				lineItemNumber: 0,
				monetaryAmountExcludingTaxes: 0,
				monetaryAmountIncludingTaxes: 0,
				netAmount: 0,
				netPrice: 0,
				note: String,
				orderResponseReasonCode: String,
				responseStatusCode: String,
				originalOrderLineItemNumber: 0,
				parentLineItemNumber: 0,
				orderResponseLineItemDetail: 
				[
					{
						confirmedQuantity: 
						{
							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
						},
						purchaseConditions: 
						{
							creationDateTime: 0001-01-01,
							revisionNumber: 0,
							lineItemNumber: 0,
							entityIdentification: 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
					}
				],
				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
				},
				avpList: 
				[
					{
						code: String,
						value: String
					}
				],
				backOrderInformation: 
				{
					confirmedQuantity: 
					{
						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
					},
					purchaseConditions: 
					{
						creationDateTime: 0001-01-01,
						revisionNumber: 0,
						lineItemNumber: 0,
						entityIdentification: String
					}
				},
				substituteItemInformation: 
				{
					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
						}
					]
				},
				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
							}
						]
					}
				}
			}
		],
		currencyCode: String,
		documentActionCode: ADD,
		documentStatusCode: ADDITIONAL_TRANSMISSION,
		documentStructureVersion: String,
		lastUpdateDateTime: 0001-01-01,
		revisionNumber: 0,
		avpList: 
		[
			{
				code: String,
				value: String
			}
		]
	}
}