| GET | /api/receivingAdvice/{Id} | Get specific ReceivingAdvice by ReceivingAdvice 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 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 IdentityDocument:
identity_document_issuer: Optional[str] = None
identity_document_number: Optional[str] = None
identity_document_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Person:
date_of_birth: Optional[datetime.datetime] = None
gender: Optional[str] = None
nationality: Optional[str] = None
person_name: Optional[str] = None
identity_document: List[IdentityDocument] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReceivingAdviceTransportInformation:
route_i_d: Optional[Identifier] = None
transport_means_i_d: Optional[Identifier] = None
transport_means_name: Optional[str] = None
driver: Optional[Contact] = None
driver_i_d: Optional[Person] = None
receiver: Optional[Contact] = None
receiver_i_d: Optional[Person] = 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 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 AdditionalConsignmentIdentification:
text: Optional[str] = None
additional_consignment_identification_type_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ConsignmentIdentification:
ginc: Optional[str] = None
additional_consignment_identification: Optional[AdditionalConsignmentIdentification] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Measurement:
value: Optional[Decimal] = None
code_list_version: Optional[str] = None
measurement_unit_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Dimension:
depth: Optional[Measurement] = None
height: Optional[Measurement] = None
width: Optional[Measurement] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UnitMeasurement:
measurement_type: Optional[str] = None
measurement_value: Optional[Measurement] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LogisticUnitMeasurement:
dimension: Optional[Dimension] = None
unit_measurement: Optional[UnitMeasurement] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdditionalReturnableAssetIdentification:
value: Optional[str] = None
additional_returnable_asset_identification_type_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnableAssetIdentification:
additional_returnable_asset_identification: List[AdditionalReturnableAssetIdentification] = field(default_factory=list)
grai: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnablePackaging:
current_holder_registration: Optional[Identifier] = None
new_holder_registration: Optional[Identifier] = None
packaging_condition_code: Optional[str] = None
packaging_quantity: Optional[int] = None
individual_returnable_asset_identification: List[ReturnableAssetIdentification] = field(default_factory=list)
returnable_asset_identification: Optional[ReturnableAssetIdentification] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CarrierTrackAndTraceInformation:
carrier_track_and_trace_u_r_l: Optional[str] = None
package_tracking_number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdditionalIndividualAssetIdentification:
value: Optional[Decimal] = None
additional_individual_asset_identification_type_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Ecom_IndividualAssetIdentification:
additional_individual_asset_identification: List[AdditionalIndividualAssetIdentification] = field(default_factory=list)
giai: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AdditionalLogisticUnitIdentification:
value: Optional[Decimal] = None
additional_logistic_unit_identification_type_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Ecom_LogisticUnitIdentification:
additional_logisitic_unit_identification: List[AdditionalLogisticUnitIdentification] = field(default_factory=list)
sscc: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LogisticUnits:
child_package_type_code: Optional[str] = None
level_identification: Optional[int] = None
package_type_code: Optional[str] = None
parent_level_identification: Optional[int] = None
quantity_of_children: Optional[int] = None
quantity_of_logistic_units: Optional[int] = None
logistic_unit_measurement: Optional[LogisticUnitMeasurement] = None
returnable_packaging: List[ReturnablePackaging] = field(default_factory=list)
carrier_track_and_trace_information: Optional[CarrierTrackAndTraceInformation] = None
avp_list: Optional[AvpList] = None
individual_asset_identification: List[Ecom_IndividualAssetIdentification] = field(default_factory=list)
logistic_unit_identification: Optional[Ecom_LogisticUnitIdentification] = 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 ReceivingConditionInformation:
received_goods_disposition: Optional[str] = None
receiving_condition_code: Optional[str] = None
receiving_condition_quantity: Optional[Quantity] = 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 TradeItemIdentification:
additional_trade_item_identification: List[AvpList] = field(default_factory=list)
gtin: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReceivingAdviceLineItem:
extension: Optional[str] = None
line_item_number: Optional[int] = None
note: Optional[str] = None
parent_line_item_number: Optional[int] = None
quantity_accepted: Optional[Quantity] = None
quantity_despatched: Optional[Quantity] = None
quantity_received: Optional[Quantity] = None
receiving_condition_information: List[ReceivingConditionInformation] = field(default_factory=list)
transactional_trade_item: Optional[TransactionalTradeItem] = None
consignment_identification: Optional[ConsignmentIdentification] = None
avp_list: Optional[AvpList] = None
contract: Optional[DocumentReference] = None
customer_reference: Optional[DocumentReference] = None
delivery_note: Optional[DocumentReference] = None
despatch_advice: Optional[DocumentReference] = None
product_certification: Optional[DocumentReference] = None
promotional_deal: Optional[DocumentReference] = None
purchase_conditions: Optional[DocumentReference] = None
purchase_order: Optional[DocumentReference] = None
requested_item_identification: Optional[TradeItemIdentification] = None
specification: Optional[DocumentReference] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReceivingAdviceLogisticUnit(LogisticUnits):
receiving_advice_line_item: List[ReceivingAdviceLineItem] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReceivingAdvice(BaseDocument):
despatch_advice_delivery_date_time: Optional[datetime.datetime] = None
note: Optional[str] = None
payment_date_time: Optional[datetime.datetime] = None
receiving_date_time: Optional[datetime.datetime] = None
reporting_code: Optional[str] = None
total_deposit_amount: Optional[Decimal] = None
receiving_advice_transport_information: Optional[ReceivingAdviceTransportInformation] = None
bill_of_lading_number: Optional[DocumentReference] = None
buyer: Optional[TransactionalParty] = None
carrier: Optional[TransactionalParty] = None
consignment_identification: Optional[ConsignmentIdentification] = None
delivery_note: Optional[DocumentReference] = None
despatch_advice: Optional[str] = None
inventory_location: Optional[TransactionalParty] = None
purchase_order: Optional[DocumentReference] = None
receiver: Optional[TransactionalParty] = None
receiving_advice_identification: Optional[str] = None
seller: Optional[TransactionalParty] = None
ship_from: Optional[TransactionalParty] = None
shipment_identification: Optional[ConsignmentIdentification] = None
shipper: Optional[TransactionalParty] = None
ship_to: Optional[TransactionalParty] = None
receiving_advice_logistic_unit: List[ReceivingAdviceLogisticUnit] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReceivingAdviceMessage:
header: Optional[Header] = None
receiving_advice: Optional[ReceivingAdvice] = None
# @Api(Description="Receiving Advice")
# @ApiResponse(Description="ReceivingAdvice 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 GetReceivingAdviceById(IGetDocumentById):
"""
Receiving Advice
"""
# @ApiMember(Description="ReceivingAdvice ID or Token", ExcludeInSchema=true, ParameterType="path")
id: Optional[str] = None
"""
ReceivingAdvice ID or Token
"""
Python GetReceivingAdviceById DTOs
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/receivingAdvice/{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:
[
{
}
]
}
},
receivingAdvice:
{
despatchAdviceDeliveryDateTime: 0001-01-01,
note: String,
paymentDateTime: 0001-01-01,
receivingDateTime: 0001-01-01,
reportingCode: String,
totalDepositAmount: 0,
receivingAdviceTransportInformation:
{
routeID:
{
authority: String,
text: String
},
transportMeansID:
{
authority: String,
text: String
},
transportMeansName: String,
driver:
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
},
driverID:
{
dateOfBirth: 0001-01-01,
gender: String,
nationality: String,
personName: String,
identityDocument:
[
{
identityDocumentIssuer: String,
identityDocumentNumber: String,
identityDocumentType: String
}
]
},
receiver:
{
contactTypeCode: String,
personName: String,
departmentName: String,
jobTitle: String,
responsibility: String,
communicationChannel:
[
{
communicationChannelCode: String,
communicationChannelName: String,
communicationValue: String
}
]
},
receiverID:
{
dateOfBirth: 0001-01-01,
gender: String,
nationality: String,
personName: String,
identityDocument:
[
{
identityDocumentIssuer: String,
identityDocumentNumber: String,
identityDocumentType: String
}
]
}
},
billOfLadingNumber:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: 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
}
]
},
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
}
]
},
consignmentIdentification:
{
ginc: String,
additionalConsignmentIdentification:
{
text: String,
additionalConsignmentIdentificationTypeCode: String
}
},
deliveryNote:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
despatchAdvice: String,
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
}
]
},
purchaseOrder:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
receiver:
{
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
}
]
},
receivingAdviceIdentification: 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
}
]
},
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
}
]
},
shipmentIdentification:
{
ginc: String,
additionalConsignmentIdentification:
{
text: String,
additionalConsignmentIdentificationTypeCode: String
}
},
shipper:
{
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
}
]
},
receivingAdviceLogisticUnit:
[
{
receivingAdviceLineItem:
[
{
extension: String,
lineItemNumber: 0,
note: String,
parentLineItemNumber: 0,
quantityAccepted:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
quantityDespatched:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
quantityReceived:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
receivingConditionInformation:
[
{
receivedGoodsDisposition: String,
receivingConditionCode: String,
receivingConditionQuantity:
{
value: 0,
measurementUnitCode: String,
codeListVersion: 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
}
]
},
consignmentIdentification:
{
ginc: String,
additionalConsignmentIdentification:
{
text: String,
additionalConsignmentIdentificationTypeCode: String
}
},
avpList:
{
code: String,
value: String
},
contract:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
customerReference:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
deliveryNote:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
despatchAdvice:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
productCertification:
{
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
},
purchaseOrder:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
requestedItemIdentification:
{
additionalTradeItemIdentification:
[
{
code: String,
value: String
}
],
gtin: String
},
specification:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
}
}
],
childPackageTypeCode: String,
levelIdentification: 0,
packageTypeCode: String,
parentLevelIdentification: 0,
quantityOfChildren: 0,
quantityOfLogisticUnits: 0,
logisticUnitMeasurement:
{
dimension:
{
depth:
{
value: 0,
codeListVersion: String,
measurementUnitCode: String
},
height:
{
value: 0,
codeListVersion: String,
measurementUnitCode: String
},
width:
{
value: 0,
codeListVersion: String,
measurementUnitCode: String
}
},
unitMeasurement:
{
measurementType: String,
measurementValue:
{
value: 0,
codeListVersion: String,
measurementUnitCode: String
}
}
},
returnablePackaging:
[
{
currentHolderRegistration:
{
authority: String,
text: String
},
newHolderRegistration:
{
authority: String,
text: String
},
packagingConditionCode: String,
packagingQuantity: 0,
individualReturnableAssetIdentification:
[
{
additionalReturnableAssetIdentification:
[
{
value: String,
additionalReturnableAssetIdentificationTypeCode: String
}
],
grai: String
}
],
returnableAssetIdentification:
{
additionalReturnableAssetIdentification:
[
{
value: String,
additionalReturnableAssetIdentificationTypeCode: String
}
],
grai: String
}
}
],
carrierTrackAndTraceInformation:
{
carrierTrackAndTraceURL: String,
packageTrackingNumber: String
},
avpList:
{
code: String,
value: String
},
individualAssetIdentification:
[
{
additionalIndividualAssetIdentification:
[
{
value: 0,
additionalIndividualAssetIdentificationTypeCode: String
}
],
giai: String
}
],
logisticUnitIdentification:
{
additionalLogisiticUnitIdentification:
[
{
value: 0,
additionalLogisticUnitIdentificationTypeCode: String
}
],
sscc: String
}
}
],
currencyCode: String,
documentActionCode: ADD,
documentStatusCode: ADDITIONAL_TRANSMISSION,
documentStructureVersion: String,
lastUpdateDateTime: 0001-01-01,
revisionNumber: 0,
avpList:
[
{
code: String,
value: String
}
]
}
}