| GET | /api/debitNote/{Id} | Get specific debit note by debit note Id |
|---|
<?php namespace dtos;
use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};
// @DataContract
class DocumentIdentification implements JsonSerializable
{
public function __construct(
// @DataMember(Name="identifier")
/** @var string */
public string $identifier='',
// @DataMember(Name="type")
/** @var string */
public string $type='',
// @DataMember(Name="creationDateAndTime")
/** @var DateTime */
public DateTime $creationDateAndTime=new DateTime()
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['identifier'])) $this->identifier = $o['identifier'];
if (isset($o['type'])) $this->type = $o['type'];
if (isset($o['creationDateAndTime'])) $this->creationDateAndTime = JsonConverters::from('DateTime', $o['creationDateAndTime']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->identifier)) $o['identifier'] = $this->identifier;
if (isset($this->type)) $o['type'] = $this->type;
if (isset($this->creationDateAndTime)) $o['creationDateAndTime'] = JsonConverters::to('DateTime', $this->creationDateAndTime);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class Identifier implements JsonSerializable
{
public function __construct(
// @DataMember(Name="authority")
/** @var string */
public string $authority='',
// @DataMember(Name="text")
/** @var string */
public string $text=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['authority'])) $this->authority = $o['authority'];
if (isset($o['text'])) $this->text = $o['text'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->authority)) $o['authority'] = $this->authority;
if (isset($this->text)) $o['text'] = $this->text;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class ContactInformation implements JsonSerializable
{
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class Partner implements JsonSerializable
{
public function __construct(
// @DataMember(Name="identifier")
/** @var Identifier|null */
public ?Identifier $identifier=null,
// @DataMember(Name="contactInformation")
/** @var array<ContactInformation>|null */
public ?array $contactInformation=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['identifier'])) $this->identifier = JsonConverters::from('Identifier', $o['identifier']);
if (isset($o['contactInformation'])) $this->contactInformation = JsonConverters::fromArray('ContactInformation', $o['contactInformation']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->identifier)) $o['identifier'] = JsonConverters::to('Identifier', $this->identifier);
if (isset($this->contactInformation)) $o['contactInformation'] = JsonConverters::toArray('ContactInformation', $this->contactInformation);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class Header implements JsonSerializable
{
public function __construct(
// @DataMember(Name="documentIdentification")
/** @var DocumentIdentification|null */
public ?DocumentIdentification $documentIdentification=null,
// @DataMember(Name="sender")
/** @var Partner|null */
public ?Partner $sender=null,
// @DataMember(Name="receiver")
/** @var Partner|null */
public ?Partner $receiver=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['documentIdentification'])) $this->documentIdentification = JsonConverters::from('DocumentIdentification', $o['documentIdentification']);
if (isset($o['sender'])) $this->sender = JsonConverters::from('Partner', $o['sender']);
if (isset($o['receiver'])) $this->receiver = JsonConverters::from('Partner', $o['receiver']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->documentIdentification)) $o['documentIdentification'] = JsonConverters::to('DocumentIdentification', $this->documentIdentification);
if (isset($this->sender)) $o['sender'] = JsonConverters::to('Partner', $this->sender);
if (isset($this->receiver)) $o['receiver'] = JsonConverters::to('Partner', $this->receiver);
return empty($o) ? new class(){} : $o;
}
}
enum DocumentAction : string
{
case ADD = 'ADD';
case CHANGE_BY_REFRESH = 'CHANGE_BY_REFRESH';
case DELETE = 'DELETE';
case REJECTED = 'REJECTED';
}
enum DocumentStatus : string
{
case ADDITIONAL_TRANSMISSION = 'ADDITIONAL_TRANSMISSION';
case COPY = 'COPY';
case ORIGINAL = 'ORIGINAL';
}
class AvpList implements JsonSerializable
{
public function __construct(
/** @var string */
public string $code='',
/** @var string */
public string $value=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['code'])) $this->code = $o['code'];
if (isset($o['value'])) $this->value = $o['value'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->code)) $o['code'] = $this->code;
if (isset($this->value)) $o['value'] = $this->value;
return empty($o) ? new class(){} : $o;
}
}
class BaseDocument implements JsonSerializable
{
public function __construct(
/** @var string */
public string $currencyCode='',
/** @var DateTime */
public DateTime $creationDateTime=new DateTime(),
/** @var DocumentAction|null */
public ?DocumentAction $documentActionCode=null,
/** @var DocumentStatus|null */
public ?DocumentStatus $documentStatusCode=null,
/** @var string */
public string $documentStructureVersion='',
/** @var DateTime|null */
public ?DateTime $lastUpdateDateTime=null,
/** @var int|null */
public ?int $revisionNumber=null,
/** @var array<AvpList>|null */
public ?array $avpList=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['currencyCode'])) $this->currencyCode = $o['currencyCode'];
if (isset($o['creationDateTime'])) $this->creationDateTime = JsonConverters::from('DateTime', $o['creationDateTime']);
if (isset($o['documentActionCode'])) $this->documentActionCode = JsonConverters::from('DocumentAction', $o['documentActionCode']);
if (isset($o['documentStatusCode'])) $this->documentStatusCode = JsonConverters::from('DocumentStatus', $o['documentStatusCode']);
if (isset($o['documentStructureVersion'])) $this->documentStructureVersion = $o['documentStructureVersion'];
if (isset($o['lastUpdateDateTime'])) $this->lastUpdateDateTime = JsonConverters::from('DateTime', $o['lastUpdateDateTime']);
if (isset($o['revisionNumber'])) $this->revisionNumber = $o['revisionNumber'];
if (isset($o['avpList'])) $this->avpList = JsonConverters::fromArray('AvpList', $o['avpList']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->currencyCode)) $o['currencyCode'] = $this->currencyCode;
if (isset($this->creationDateTime)) $o['creationDateTime'] = JsonConverters::to('DateTime', $this->creationDateTime);
if (isset($this->documentActionCode)) $o['documentActionCode'] = JsonConverters::to('DocumentAction', $this->documentActionCode);
if (isset($this->documentStatusCode)) $o['documentStatusCode'] = JsonConverters::to('DocumentStatus', $this->documentStatusCode);
if (isset($this->documentStructureVersion)) $o['documentStructureVersion'] = $this->documentStructureVersion;
if (isset($this->lastUpdateDateTime)) $o['lastUpdateDateTime'] = JsonConverters::to('DateTime', $this->lastUpdateDateTime);
if (isset($this->revisionNumber)) $o['revisionNumber'] = $this->revisionNumber;
if (isset($this->avpList)) $o['avpList'] = JsonConverters::toArray('AvpList', $this->avpList);
return empty($o) ? new class(){} : $o;
}
}
class Ecom_PartyIdentificationType implements JsonSerializable
{
public function __construct(
/** @var string */
public string $gln='',
/** @var string */
public string $name='',
/** @var array<AvpList>|null */
public ?array $additionalPartyIdentification=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['gln'])) $this->gln = $o['gln'];
if (isset($o['name'])) $this->name = $o['name'];
if (isset($o['additionalPartyIdentification'])) $this->additionalPartyIdentification = JsonConverters::fromArray('AvpList', $o['additionalPartyIdentification']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->gln)) $o['gln'] = $this->gln;
if (isset($this->name)) $o['name'] = $this->name;
if (isset($this->additionalPartyIdentification)) $o['additionalPartyIdentification'] = JsonConverters::toArray('AvpList', $this->additionalPartyIdentification);
return empty($o) ? new class(){} : $o;
}
}
class CommunicationChannel implements JsonSerializable
{
public function __construct(
/** @var string */
public string $communicationChannelCode='',
/** @var string */
public string $communicationChannelName='',
/** @var string */
public string $communicationValue=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['communicationChannelCode'])) $this->communicationChannelCode = $o['communicationChannelCode'];
if (isset($o['communicationChannelName'])) $this->communicationChannelName = $o['communicationChannelName'];
if (isset($o['communicationValue'])) $this->communicationValue = $o['communicationValue'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->communicationChannelCode)) $o['communicationChannelCode'] = $this->communicationChannelCode;
if (isset($this->communicationChannelName)) $o['communicationChannelName'] = $this->communicationChannelName;
if (isset($this->communicationValue)) $o['communicationValue'] = $this->communicationValue;
return empty($o) ? new class(){} : $o;
}
}
class Contact implements JsonSerializable
{
public function __construct(
/** @var string */
public string $contactTypeCode='',
/** @var string */
public string $personName='',
/** @var string */
public string $departmentName='',
/** @var string */
public string $jobTitle='',
/** @var string */
public string $responsibility='',
/** @var array<CommunicationChannel>|null */
public ?array $communicationChannel=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['contactTypeCode'])) $this->contactTypeCode = $o['contactTypeCode'];
if (isset($o['personName'])) $this->personName = $o['personName'];
if (isset($o['departmentName'])) $this->departmentName = $o['departmentName'];
if (isset($o['jobTitle'])) $this->jobTitle = $o['jobTitle'];
if (isset($o['responsibility'])) $this->responsibility = $o['responsibility'];
if (isset($o['communicationChannel'])) $this->communicationChannel = JsonConverters::fromArray('CommunicationChannel', $o['communicationChannel']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->contactTypeCode)) $o['contactTypeCode'] = $this->contactTypeCode;
if (isset($this->personName)) $o['personName'] = $this->personName;
if (isset($this->departmentName)) $o['departmentName'] = $this->departmentName;
if (isset($this->jobTitle)) $o['jobTitle'] = $this->jobTitle;
if (isset($this->responsibility)) $o['responsibility'] = $this->responsibility;
if (isset($this->communicationChannel)) $o['communicationChannel'] = JsonConverters::toArray('CommunicationChannel', $this->communicationChannel);
return empty($o) ? new class(){} : $o;
}
}
class Address implements JsonSerializable
{
public function __construct(
/** @var string */
public string $streetAddressOne='',
/** @var string */
public string $streetAddressTwo='',
/** @var string */
public string $streetAddressThree='',
/** @var string */
public string $city='',
/** @var string */
public string $postalCode='',
/** @var string */
public string $provinceCode='',
/** @var string */
public string $countryCode=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['streetAddressOne'])) $this->streetAddressOne = $o['streetAddressOne'];
if (isset($o['streetAddressTwo'])) $this->streetAddressTwo = $o['streetAddressTwo'];
if (isset($o['streetAddressThree'])) $this->streetAddressThree = $o['streetAddressThree'];
if (isset($o['city'])) $this->city = $o['city'];
if (isset($o['postalCode'])) $this->postalCode = $o['postalCode'];
if (isset($o['provinceCode'])) $this->provinceCode = $o['provinceCode'];
if (isset($o['countryCode'])) $this->countryCode = $o['countryCode'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->streetAddressOne)) $o['streetAddressOne'] = $this->streetAddressOne;
if (isset($this->streetAddressTwo)) $o['streetAddressTwo'] = $this->streetAddressTwo;
if (isset($this->streetAddressThree)) $o['streetAddressThree'] = $this->streetAddressThree;
if (isset($this->city)) $o['city'] = $this->city;
if (isset($this->postalCode)) $o['postalCode'] = $this->postalCode;
if (isset($this->provinceCode)) $o['provinceCode'] = $this->provinceCode;
if (isset($this->countryCode)) $o['countryCode'] = $this->countryCode;
return empty($o) ? new class(){} : $o;
}
}
class FinancialRoutingNumber implements JsonSerializable
{
public function __construct(
/** @var string */
public string $number='',
/** @var string */
public string $numberTypeCode=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['number'])) $this->number = $o['number'];
if (isset($o['numberTypeCode'])) $this->numberTypeCode = $o['numberTypeCode'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->number)) $o['number'] = $this->number;
if (isset($this->numberTypeCode)) $o['numberTypeCode'] = $this->numberTypeCode;
return empty($o) ? new class(){} : $o;
}
}
class FinancialAccount implements JsonSerializable
{
public function __construct(
/** @var string */
public string $number='',
/** @var string */
public string $numberTypeCode='',
/** @var string */
public string $name=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['number'])) $this->number = $o['number'];
if (isset($o['numberTypeCode'])) $this->numberTypeCode = $o['numberTypeCode'];
if (isset($o['name'])) $this->name = $o['name'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->number)) $o['number'] = $this->number;
if (isset($this->numberTypeCode)) $o['numberTypeCode'] = $this->numberTypeCode;
if (isset($this->name)) $o['name'] = $this->name;
return empty($o) ? new class(){} : $o;
}
}
class FinancialInstitutionInformation implements JsonSerializable
{
public function __construct(
/** @var string */
public string $financialInstitutionBranchName='',
/** @var string */
public string $financialInstitutionName='',
/** @var FinancialRoutingNumber|null */
public ?FinancialRoutingNumber $financialRoutingNumber=null,
/** @var FinancialAccount|null */
public ?FinancialAccount $financialAccount=null,
/** @var string */
public string $swiftCode='',
/** @var string */
public string $exportersCode=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['financialInstitutionBranchName'])) $this->financialInstitutionBranchName = $o['financialInstitutionBranchName'];
if (isset($o['financialInstitutionName'])) $this->financialInstitutionName = $o['financialInstitutionName'];
if (isset($o['financialRoutingNumber'])) $this->financialRoutingNumber = JsonConverters::from('FinancialRoutingNumber', $o['financialRoutingNumber']);
if (isset($o['financialAccount'])) $this->financialAccount = JsonConverters::from('FinancialAccount', $o['financialAccount']);
if (isset($o['swiftCode'])) $this->swiftCode = $o['swiftCode'];
if (isset($o['exportersCode'])) $this->exportersCode = $o['exportersCode'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->financialInstitutionBranchName)) $o['financialInstitutionBranchName'] = $this->financialInstitutionBranchName;
if (isset($this->financialInstitutionName)) $o['financialInstitutionName'] = $this->financialInstitutionName;
if (isset($this->financialRoutingNumber)) $o['financialRoutingNumber'] = JsonConverters::to('FinancialRoutingNumber', $this->financialRoutingNumber);
if (isset($this->financialAccount)) $o['financialAccount'] = JsonConverters::to('FinancialAccount', $this->financialAccount);
if (isset($this->swiftCode)) $o['swiftCode'] = $this->swiftCode;
if (isset($this->exportersCode)) $o['exportersCode'] = $this->exportersCode;
return empty($o) ? new class(){} : $o;
}
}
class TransactionalParty extends Ecom_PartyIdentificationType implements JsonSerializable
{
/**
* @param string $gln
* @param string $name
* @param array<AvpList>|null $additionalPartyIdentification
*/
public function __construct(
string $gln='',
string $name='',
?array $additionalPartyIdentification=null,
/** @var array<Contact>|null */
public ?array $contact=null,
/** @var Address|null */
public ?Address $address=null,
/** @var array<AvpList>|null */
public ?array $communicationChannel=null,
/** @var FinancialInstitutionInformation|null */
public ?FinancialInstitutionInformation $financialInstitutionInformation=null,
/** @var string */
public string $dutyFeeTaxRegistration='',
/** @var string */
public string $entityIdentification=''
) {
parent::__construct($gln,$name,$additionalPartyIdentification);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['contact'])) $this->contact = JsonConverters::fromArray('Contact', $o['contact']);
if (isset($o['address'])) $this->address = JsonConverters::from('Address', $o['address']);
if (isset($o['communicationChannel'])) $this->communicationChannel = JsonConverters::fromArray('AvpList', $o['communicationChannel']);
if (isset($o['financialInstitutionInformation'])) $this->financialInstitutionInformation = JsonConverters::from('FinancialInstitutionInformation', $o['financialInstitutionInformation']);
if (isset($o['dutyFeeTaxRegistration'])) $this->dutyFeeTaxRegistration = $o['dutyFeeTaxRegistration'];
if (isset($o['entityIdentification'])) $this->entityIdentification = $o['entityIdentification'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->contact)) $o['contact'] = JsonConverters::toArray('Contact', $this->contact);
if (isset($this->address)) $o['address'] = JsonConverters::to('Address', $this->address);
if (isset($this->communicationChannel)) $o['communicationChannel'] = JsonConverters::toArray('AvpList', $this->communicationChannel);
if (isset($this->financialInstitutionInformation)) $o['financialInstitutionInformation'] = JsonConverters::to('FinancialInstitutionInformation', $this->financialInstitutionInformation);
if (isset($this->dutyFeeTaxRegistration)) $o['dutyFeeTaxRegistration'] = $this->dutyFeeTaxRegistration;
if (isset($this->entityIdentification)) $o['entityIdentification'] = $this->entityIdentification;
return empty($o) ? new class(){} : $o;
}
}
class Invoice implements JsonSerializable
{
public function __construct(
/** @var DateTime|null */
public ?DateTime $creationDate=null,
/** @var int|null */
public ?int $revisionNumber=null,
/** @var string */
public string $entityIdentification=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['creationDate'])) $this->creationDate = JsonConverters::from('DateTime', $o['creationDate']);
if (isset($o['revisionNumber'])) $this->revisionNumber = $o['revisionNumber'];
if (isset($o['entityIdentification'])) $this->entityIdentification = $o['entityIdentification'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->creationDate)) $o['creationDate'] = JsonConverters::to('DateTime', $this->creationDate);
if (isset($this->revisionNumber)) $o['revisionNumber'] = $this->revisionNumber;
if (isset($this->entityIdentification)) $o['entityIdentification'] = $this->entityIdentification;
return empty($o) ? new class(){} : $o;
}
}
class DocumentReference implements JsonSerializable
{
public function __construct(
/** @var DateTime|null */
public ?DateTime $creationDateTime=null,
/** @var int|null */
public ?int $revisionNumber=null,
/** @var int|null */
public ?int $lineItemNumber=null,
/** @var string */
public string $entityIdentification=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['creationDateTime'])) $this->creationDateTime = JsonConverters::from('DateTime', $o['creationDateTime']);
if (isset($o['revisionNumber'])) $this->revisionNumber = $o['revisionNumber'];
if (isset($o['lineItemNumber'])) $this->lineItemNumber = $o['lineItemNumber'];
if (isset($o['entityIdentification'])) $this->entityIdentification = $o['entityIdentification'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->creationDateTime)) $o['creationDateTime'] = JsonConverters::to('DateTime', $this->creationDateTime);
if (isset($this->revisionNumber)) $o['revisionNumber'] = $this->revisionNumber;
if (isset($this->lineItemNumber)) $o['lineItemNumber'] = $this->lineItemNumber;
if (isset($this->entityIdentification)) $o['entityIdentification'] = $this->entityIdentification;
return empty($o) ? new class(){} : $o;
}
}
class ShipmentTransportationInformation implements JsonSerializable
{
public function __construct(
/** @var TransactionalParty|null */
public ?TransactionalParty $carrier=null,
/** @var TransactionalParty|null */
public ?TransactionalParty $freightForwarder=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['carrier'])) $this->carrier = JsonConverters::from('TransactionalParty', $o['carrier']);
if (isset($o['freightForwarder'])) $this->freightForwarder = JsonConverters::from('TransactionalParty', $o['freightForwarder']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->carrier)) $o['carrier'] = JsonConverters::to('TransactionalParty', $this->carrier);
if (isset($this->freightForwarder)) $o['freightForwarder'] = JsonConverters::to('TransactionalParty', $this->freightForwarder);
return empty($o) ? new class(){} : $o;
}
}
class Quantity implements JsonSerializable
{
public function __construct(
/** @var float|null */
public ?float $value=null,
/** @var string */
public string $measurementUnitCode='',
/** @var string */
public string $codeListVersion=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['value'])) $this->value = $o['value'];
if (isset($o['measurementUnitCode'])) $this->measurementUnitCode = $o['measurementUnitCode'];
if (isset($o['codeListVersion'])) $this->codeListVersion = $o['codeListVersion'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->value)) $o['value'] = $this->value;
if (isset($this->measurementUnitCode)) $o['measurementUnitCode'] = $this->measurementUnitCode;
if (isset($this->codeListVersion)) $o['codeListVersion'] = $this->codeListVersion;
return empty($o) ? new class(){} : $o;
}
}
class TransactionalItem implements JsonSerializable
{
public function __construct(
/** @var string */
public string $measurementUnitCode='',
/** @var string */
public string $measurementType='',
/** @var string */
public string $measurementValue=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['measurementUnitCode'])) $this->measurementUnitCode = $o['measurementUnitCode'];
if (isset($o['measurementType'])) $this->measurementType = $o['measurementType'];
if (isset($o['measurementValue'])) $this->measurementValue = $o['measurementValue'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->measurementUnitCode)) $o['measurementUnitCode'] = $this->measurementUnitCode;
if (isset($this->measurementType)) $o['measurementType'] = $this->measurementType;
if (isset($this->measurementValue)) $o['measurementValue'] = $this->measurementValue;
return empty($o) ? new class(){} : $o;
}
}
class SerialNumberRange implements JsonSerializable
{
public function __construct(
/** @var string */
public string $maximumValue='',
/** @var string */
public string $minimumValue=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['maximumValue'])) $this->maximumValue = $o['maximumValue'];
if (isset($o['minimumValue'])) $this->minimumValue = $o['minimumValue'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->maximumValue)) $o['maximumValue'] = $this->maximumValue;
if (isset($this->minimumValue)) $o['minimumValue'] = $this->minimumValue;
return empty($o) ? new class(){} : $o;
}
}
class TransactionalItemDimension implements JsonSerializable
{
public function __construct(
/** @var string */
public string $measurementUnitCode='',
/** @var string */
public string $depth='',
/** @var string */
public string $height='',
/** @var string */
public string $width=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['measurementUnitCode'])) $this->measurementUnitCode = $o['measurementUnitCode'];
if (isset($o['depth'])) $this->depth = $o['depth'];
if (isset($o['height'])) $this->height = $o['height'];
if (isset($o['width'])) $this->width = $o['width'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->measurementUnitCode)) $o['measurementUnitCode'] = $this->measurementUnitCode;
if (isset($this->depth)) $o['depth'] = $this->depth;
if (isset($this->height)) $o['height'] = $this->height;
if (isset($this->width)) $o['width'] = $this->width;
return empty($o) ? new class(){} : $o;
}
}
class TransactionalItemLogisticUnitInformation implements JsonSerializable
{
public function __construct(
/** @var int|null */
public ?int $numberOfLayers=null,
/** @var int|null */
public ?int $numberOfUnitsPerLayer=null,
/** @var int|null */
public ?int $numberOfUnitsPerPallet=null,
/** @var string */
public string $packagingTerms='',
/** @var string */
public string $packageTypeCode='',
/** @var int|null */
public ?int $maximumStackingFactor=null,
/** @var string */
public string $returnablePackageTransportCostPayment='',
/** @var array<TransactionalItemDimension>|null */
public ?array $dimensionsOfLogisticUnit=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['numberOfLayers'])) $this->numberOfLayers = $o['numberOfLayers'];
if (isset($o['numberOfUnitsPerLayer'])) $this->numberOfUnitsPerLayer = $o['numberOfUnitsPerLayer'];
if (isset($o['numberOfUnitsPerPallet'])) $this->numberOfUnitsPerPallet = $o['numberOfUnitsPerPallet'];
if (isset($o['packagingTerms'])) $this->packagingTerms = $o['packagingTerms'];
if (isset($o['packageTypeCode'])) $this->packageTypeCode = $o['packageTypeCode'];
if (isset($o['maximumStackingFactor'])) $this->maximumStackingFactor = $o['maximumStackingFactor'];
if (isset($o['returnablePackageTransportCostPayment'])) $this->returnablePackageTransportCostPayment = $o['returnablePackageTransportCostPayment'];
if (isset($o['dimensionsOfLogisticUnit'])) $this->dimensionsOfLogisticUnit = JsonConverters::fromArray('TransactionalItemDimension', $o['dimensionsOfLogisticUnit']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->numberOfLayers)) $o['numberOfLayers'] = $this->numberOfLayers;
if (isset($this->numberOfUnitsPerLayer)) $o['numberOfUnitsPerLayer'] = $this->numberOfUnitsPerLayer;
if (isset($this->numberOfUnitsPerPallet)) $o['numberOfUnitsPerPallet'] = $this->numberOfUnitsPerPallet;
if (isset($this->packagingTerms)) $o['packagingTerms'] = $this->packagingTerms;
if (isset($this->packageTypeCode)) $o['packageTypeCode'] = $this->packageTypeCode;
if (isset($this->maximumStackingFactor)) $o['maximumStackingFactor'] = $this->maximumStackingFactor;
if (isset($this->returnablePackageTransportCostPayment)) $o['returnablePackageTransportCostPayment'] = $this->returnablePackageTransportCostPayment;
if (isset($this->dimensionsOfLogisticUnit)) $o['dimensionsOfLogisticUnit'] = JsonConverters::toArray('TransactionalItemDimension', $this->dimensionsOfLogisticUnit);
return empty($o) ? new class(){} : $o;
}
}
class TransactionalItemDataCarrierAndIdentification implements JsonSerializable
{
public function __construct(
/** @var string */
public string $gs1TransactionalItemIdentificationKey='',
/** @var string */
public string $dataCarrier=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['gs1TransactionalItemIdentificationKey'])) $this->gs1TransactionalItemIdentificationKey = $o['gs1TransactionalItemIdentificationKey'];
if (isset($o['dataCarrier'])) $this->dataCarrier = $o['dataCarrier'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->gs1TransactionalItemIdentificationKey)) $o['gs1TransactionalItemIdentificationKey'] = $this->gs1TransactionalItemIdentificationKey;
if (isset($this->dataCarrier)) $o['dataCarrier'] = $this->dataCarrier;
return empty($o) ? new class(){} : $o;
}
}
class TradeItemWaste implements JsonSerializable
{
public function __construct(
/** @var string */
public string $wasteIdentification='',
/** @var array<AvpList>|null */
public ?array $typeOfWaste=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['wasteIdentification'])) $this->wasteIdentification = $o['wasteIdentification'];
if (isset($o['typeOfWaste'])) $this->typeOfWaste = JsonConverters::fromArray('AvpList', $o['typeOfWaste']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->wasteIdentification)) $o['wasteIdentification'] = $this->wasteIdentification;
if (isset($this->typeOfWaste)) $o['typeOfWaste'] = JsonConverters::toArray('AvpList', $this->typeOfWaste);
return empty($o) ? new class(){} : $o;
}
}
class TransactionalItemOrganicInformation implements JsonSerializable
{
public function __construct(
/** @var bool|null */
public ?bool $isTradeItemOrganic=null,
/** @var string */
public string $organicCertification=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['isTradeItemOrganic'])) $this->isTradeItemOrganic = $o['isTradeItemOrganic'];
if (isset($o['organicCertification'])) $this->organicCertification = $o['organicCertification'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->isTradeItemOrganic)) $o['isTradeItemOrganic'] = $this->isTradeItemOrganic;
if (isset($this->organicCertification)) $o['organicCertification'] = $this->organicCertification;
return empty($o) ? new class(){} : $o;
}
}
class TransactionalItemData implements JsonSerializable
{
public function __construct(
/** @var DateTime|null */
public ?DateTime $availableForSaleDate=null,
/** @var string */
public string $batchNumber='',
/** @var DateTime|null */
public ?DateTime $bestBeforeDate=null,
/** @var string */
public string $countryOfOrigin='',
/** @var DateTime|null */
public ?DateTime $itemExpirationDate=null,
/** @var string */
public string $lotNumber='',
/** @var DateTime|null */
public ?DateTime $packagingDate=null,
/** @var DateTime|null */
public ?DateTime $productionDate=null,
/** @var string */
public string $productQualityIndication='',
/** @var DateTime|null */
public ?DateTime $sellByDate=null,
/** @var array<string>|null */
public ?array $serialNumber=null,
/** @var string */
public string $shelfLife='',
/** @var int|null */
public ?int $tradeItemQuantity=null,
/** @var bool|null */
public ?bool $itemInContactWithFoodProduct=null,
/** @var array<TransactionalItem>|null */
public ?array $transactionalItemWeight=null,
/** @var array<TransactionalItem>|null */
public ?array $transactionalItemVolume=null,
/** @var array<SerialNumberRange>|null */
public ?array $serialNumberRange=null,
/** @var array<TransactionalItemDimension>|null */
public ?array $transactionalItemDimensions=null,
/** @var TransactionalItemLogisticUnitInformation|null */
public ?TransactionalItemLogisticUnitInformation $transactionalItemLogisticUnitInformation=null,
/** @var TransactionalItemDataCarrierAndIdentification|null */
public ?TransactionalItemDataCarrierAndIdentification $transactionalItemDataCarrierAndIdentification=null,
/** @var array<TradeItemWaste>|null */
public ?array $tradeItemWaste=null,
/** @var TransactionalItemOrganicInformation|null */
public ?TransactionalItemOrganicInformation $transactionalItemOrganicInformation=null,
/** @var array<AvpList>|null */
public ?array $avpList=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['availableForSaleDate'])) $this->availableForSaleDate = JsonConverters::from('DateTime', $o['availableForSaleDate']);
if (isset($o['batchNumber'])) $this->batchNumber = $o['batchNumber'];
if (isset($o['bestBeforeDate'])) $this->bestBeforeDate = JsonConverters::from('DateTime', $o['bestBeforeDate']);
if (isset($o['countryOfOrigin'])) $this->countryOfOrigin = $o['countryOfOrigin'];
if (isset($o['itemExpirationDate'])) $this->itemExpirationDate = JsonConverters::from('DateTime', $o['itemExpirationDate']);
if (isset($o['lotNumber'])) $this->lotNumber = $o['lotNumber'];
if (isset($o['packagingDate'])) $this->packagingDate = JsonConverters::from('DateTime', $o['packagingDate']);
if (isset($o['productionDate'])) $this->productionDate = JsonConverters::from('DateTime', $o['productionDate']);
if (isset($o['productQualityIndication'])) $this->productQualityIndication = $o['productQualityIndication'];
if (isset($o['sellByDate'])) $this->sellByDate = JsonConverters::from('DateTime', $o['sellByDate']);
if (isset($o['serialNumber'])) $this->serialNumber = JsonConverters::fromArray('string', $o['serialNumber']);
if (isset($o['shelfLife'])) $this->shelfLife = $o['shelfLife'];
if (isset($o['tradeItemQuantity'])) $this->tradeItemQuantity = $o['tradeItemQuantity'];
if (isset($o['itemInContactWithFoodProduct'])) $this->itemInContactWithFoodProduct = $o['itemInContactWithFoodProduct'];
if (isset($o['transactionalItemWeight'])) $this->transactionalItemWeight = JsonConverters::fromArray('TransactionalItem', $o['transactionalItemWeight']);
if (isset($o['transactionalItemVolume'])) $this->transactionalItemVolume = JsonConverters::fromArray('TransactionalItem', $o['transactionalItemVolume']);
if (isset($o['serialNumberRange'])) $this->serialNumberRange = JsonConverters::fromArray('SerialNumberRange', $o['serialNumberRange']);
if (isset($o['transactionalItemDimensions'])) $this->transactionalItemDimensions = JsonConverters::fromArray('TransactionalItemDimension', $o['transactionalItemDimensions']);
if (isset($o['transactionalItemLogisticUnitInformation'])) $this->transactionalItemLogisticUnitInformation = JsonConverters::from('TransactionalItemLogisticUnitInformation', $o['transactionalItemLogisticUnitInformation']);
if (isset($o['transactionalItemDataCarrierAndIdentification'])) $this->transactionalItemDataCarrierAndIdentification = JsonConverters::from('TransactionalItemDataCarrierAndIdentification', $o['transactionalItemDataCarrierAndIdentification']);
if (isset($o['tradeItemWaste'])) $this->tradeItemWaste = JsonConverters::fromArray('TradeItemWaste', $o['tradeItemWaste']);
if (isset($o['transactionalItemOrganicInformation'])) $this->transactionalItemOrganicInformation = JsonConverters::from('TransactionalItemOrganicInformation', $o['transactionalItemOrganicInformation']);
if (isset($o['avpList'])) $this->avpList = JsonConverters::fromArray('AvpList', $o['avpList']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->availableForSaleDate)) $o['availableForSaleDate'] = JsonConverters::to('DateTime', $this->availableForSaleDate);
if (isset($this->batchNumber)) $o['batchNumber'] = $this->batchNumber;
if (isset($this->bestBeforeDate)) $o['bestBeforeDate'] = JsonConverters::to('DateTime', $this->bestBeforeDate);
if (isset($this->countryOfOrigin)) $o['countryOfOrigin'] = $this->countryOfOrigin;
if (isset($this->itemExpirationDate)) $o['itemExpirationDate'] = JsonConverters::to('DateTime', $this->itemExpirationDate);
if (isset($this->lotNumber)) $o['lotNumber'] = $this->lotNumber;
if (isset($this->packagingDate)) $o['packagingDate'] = JsonConverters::to('DateTime', $this->packagingDate);
if (isset($this->productionDate)) $o['productionDate'] = JsonConverters::to('DateTime', $this->productionDate);
if (isset($this->productQualityIndication)) $o['productQualityIndication'] = $this->productQualityIndication;
if (isset($this->sellByDate)) $o['sellByDate'] = JsonConverters::to('DateTime', $this->sellByDate);
if (isset($this->serialNumber)) $o['serialNumber'] = JsonConverters::toArray('string', $this->serialNumber);
if (isset($this->shelfLife)) $o['shelfLife'] = $this->shelfLife;
if (isset($this->tradeItemQuantity)) $o['tradeItemQuantity'] = $this->tradeItemQuantity;
if (isset($this->itemInContactWithFoodProduct)) $o['itemInContactWithFoodProduct'] = $this->itemInContactWithFoodProduct;
if (isset($this->transactionalItemWeight)) $o['transactionalItemWeight'] = JsonConverters::toArray('TransactionalItem', $this->transactionalItemWeight);
if (isset($this->transactionalItemVolume)) $o['transactionalItemVolume'] = JsonConverters::toArray('TransactionalItem', $this->transactionalItemVolume);
if (isset($this->serialNumberRange)) $o['serialNumberRange'] = JsonConverters::toArray('SerialNumberRange', $this->serialNumberRange);
if (isset($this->transactionalItemDimensions)) $o['transactionalItemDimensions'] = JsonConverters::toArray('TransactionalItemDimension', $this->transactionalItemDimensions);
if (isset($this->transactionalItemLogisticUnitInformation)) $o['transactionalItemLogisticUnitInformation'] = JsonConverters::to('TransactionalItemLogisticUnitInformation', $this->transactionalItemLogisticUnitInformation);
if (isset($this->transactionalItemDataCarrierAndIdentification)) $o['transactionalItemDataCarrierAndIdentification'] = JsonConverters::to('TransactionalItemDataCarrierAndIdentification', $this->transactionalItemDataCarrierAndIdentification);
if (isset($this->tradeItemWaste)) $o['tradeItemWaste'] = JsonConverters::toArray('TradeItemWaste', $this->tradeItemWaste);
if (isset($this->transactionalItemOrganicInformation)) $o['transactionalItemOrganicInformation'] = JsonConverters::to('TransactionalItemOrganicInformation', $this->transactionalItemOrganicInformation);
if (isset($this->avpList)) $o['avpList'] = JsonConverters::toArray('AvpList', $this->avpList);
return empty($o) ? new class(){} : $o;
}
}
class Colour implements JsonSerializable
{
public function __construct(
/** @var string */
public string $colourCode='',
/** @var string */
public string $colourDescription=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['colourCode'])) $this->colourCode = $o['colourCode'];
if (isset($o['colourDescription'])) $this->colourDescription = $o['colourDescription'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->colourCode)) $o['colourCode'] = $this->colourCode;
if (isset($this->colourDescription)) $o['colourDescription'] = $this->colourDescription;
return empty($o) ? new class(){} : $o;
}
}
class Size implements JsonSerializable
{
public function __construct(
/** @var string */
public string $descriptiveSize='',
/** @var string */
public string $sizeCode=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['descriptiveSize'])) $this->descriptiveSize = $o['descriptiveSize'];
if (isset($o['sizeCode'])) $this->sizeCode = $o['sizeCode'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->descriptiveSize)) $o['descriptiveSize'] = $this->descriptiveSize;
if (isset($this->sizeCode)) $o['sizeCode'] = $this->sizeCode;
return empty($o) ? new class(){} : $o;
}
}
class TradeItemClassification implements JsonSerializable
{
public function __construct(
/** @var string */
public string $gpcCategoryCode='',
/** @var array<AvpList>|null */
public ?array $additionalTradeItemClassificationCode=null,
/** @var string */
public string $gpcCategoryName='',
/** @var array<AvpList>|null */
public ?array $gpcAttribute=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['gpcCategoryCode'])) $this->gpcCategoryCode = $o['gpcCategoryCode'];
if (isset($o['additionalTradeItemClassificationCode'])) $this->additionalTradeItemClassificationCode = JsonConverters::fromArray('AvpList', $o['additionalTradeItemClassificationCode']);
if (isset($o['gpcCategoryName'])) $this->gpcCategoryName = $o['gpcCategoryName'];
if (isset($o['gpcAttribute'])) $this->gpcAttribute = JsonConverters::fromArray('AvpList', $o['gpcAttribute']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->gpcCategoryCode)) $o['gpcCategoryCode'] = $this->gpcCategoryCode;
if (isset($this->additionalTradeItemClassificationCode)) $o['additionalTradeItemClassificationCode'] = JsonConverters::toArray('AvpList', $this->additionalTradeItemClassificationCode);
if (isset($this->gpcCategoryName)) $o['gpcCategoryName'] = $this->gpcCategoryName;
if (isset($this->gpcAttribute)) $o['gpcAttribute'] = JsonConverters::toArray('AvpList', $this->gpcAttribute);
return empty($o) ? new class(){} : $o;
}
}
class TransactionalTradeItem implements JsonSerializable
{
public function __construct(
/** @var string */
public string $gtin='',
/** @var array<AvpList>|null */
public ?array $additionalTradeItemIdentification=null,
/** @var float|null */
public ?float $tradeItemQuantity=null,
/** @var string */
public string $tradeItemDescription='',
/** @var string */
public string $productVariantIdentifier='',
/** @var string */
public string $itemTypeCode='',
/** @var string */
public string $tradeItemDataOwner='',
/** @var string */
public string $butterFatReference='',
/** @var array<TransactionalItemData>|null */
public ?array $transactionalItemData=null,
/** @var array<Colour>|null */
public ?array $colour=null,
/** @var Size|null */
public ?Size $size=null,
/** @var TradeItemClassification|null */
public ?TradeItemClassification $tradeItemClassification=null,
/** @var array<AvpList>|null */
public ?array $avpList=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['gtin'])) $this->gtin = $o['gtin'];
if (isset($o['additionalTradeItemIdentification'])) $this->additionalTradeItemIdentification = JsonConverters::fromArray('AvpList', $o['additionalTradeItemIdentification']);
if (isset($o['tradeItemQuantity'])) $this->tradeItemQuantity = $o['tradeItemQuantity'];
if (isset($o['tradeItemDescription'])) $this->tradeItemDescription = $o['tradeItemDescription'];
if (isset($o['productVariantIdentifier'])) $this->productVariantIdentifier = $o['productVariantIdentifier'];
if (isset($o['itemTypeCode'])) $this->itemTypeCode = $o['itemTypeCode'];
if (isset($o['tradeItemDataOwner'])) $this->tradeItemDataOwner = $o['tradeItemDataOwner'];
if (isset($o['butterFatReference'])) $this->butterFatReference = $o['butterFatReference'];
if (isset($o['transactionalItemData'])) $this->transactionalItemData = JsonConverters::fromArray('TransactionalItemData', $o['transactionalItemData']);
if (isset($o['colour'])) $this->colour = JsonConverters::fromArray('Colour', $o['colour']);
if (isset($o['size'])) $this->size = JsonConverters::from('Size', $o['size']);
if (isset($o['tradeItemClassification'])) $this->tradeItemClassification = JsonConverters::from('TradeItemClassification', $o['tradeItemClassification']);
if (isset($o['avpList'])) $this->avpList = JsonConverters::fromArray('AvpList', $o['avpList']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->gtin)) $o['gtin'] = $this->gtin;
if (isset($this->additionalTradeItemIdentification)) $o['additionalTradeItemIdentification'] = JsonConverters::toArray('AvpList', $this->additionalTradeItemIdentification);
if (isset($this->tradeItemQuantity)) $o['tradeItemQuantity'] = $this->tradeItemQuantity;
if (isset($this->tradeItemDescription)) $o['tradeItemDescription'] = $this->tradeItemDescription;
if (isset($this->productVariantIdentifier)) $o['productVariantIdentifier'] = $this->productVariantIdentifier;
if (isset($this->itemTypeCode)) $o['itemTypeCode'] = $this->itemTypeCode;
if (isset($this->tradeItemDataOwner)) $o['tradeItemDataOwner'] = $this->tradeItemDataOwner;
if (isset($this->butterFatReference)) $o['butterFatReference'] = $this->butterFatReference;
if (isset($this->transactionalItemData)) $o['transactionalItemData'] = JsonConverters::toArray('TransactionalItemData', $this->transactionalItemData);
if (isset($this->colour)) $o['colour'] = JsonConverters::toArray('Colour', $this->colour);
if (isset($this->size)) $o['size'] = JsonConverters::to('Size', $this->size);
if (isset($this->tradeItemClassification)) $o['tradeItemClassification'] = JsonConverters::to('TradeItemClassification', $this->tradeItemClassification);
if (isset($this->avpList)) $o['avpList'] = JsonConverters::toArray('AvpList', $this->avpList);
return empty($o) ? new class(){} : $o;
}
}
class TaxInformation implements JsonSerializable
{
public function __construct(
/** @var float|null */
public ?float $taxPercentage=null,
/** @var float|null */
public ?float $taxAmount=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['taxPercentage'])) $this->taxPercentage = $o['taxPercentage'];
if (isset($o['taxAmount'])) $this->taxAmount = $o['taxAmount'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->taxPercentage)) $o['taxPercentage'] = $this->taxPercentage;
if (isset($this->taxAmount)) $o['taxAmount'] = $this->taxAmount;
return empty($o) ? new class(){} : $o;
}
}
class AllowanceCharge implements JsonSerializable
{
public function __construct(
/** @var float|null */
public ?float $allowanceChargeAmount=null,
/** @var float|null */
public ?float $allowanceChargePercentage=null,
/** @var string */
public string $allowanceChargeType='',
/** @var string */
public string $allowanceOrChargeType='',
/** @var float|null */
public ?float $amountPerUnit=null,
/** @var float|null */
public ?float $baseAmount=null,
/** @var string */
public string $baseNumberOfUnits='',
/** @var string */
public string $bracketIdentifier='',
/** @var DateTime|null */
public ?DateTime $effectiveDateType=null,
/** @var string */
public string $sequenceNumber='',
/** @var string */
public string $settlementType='',
/** @var string */
public string $specialServiceType='',
/** @var string */
public string $allowanceChargeDescription=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['allowanceChargeAmount'])) $this->allowanceChargeAmount = $o['allowanceChargeAmount'];
if (isset($o['allowanceChargePercentage'])) $this->allowanceChargePercentage = $o['allowanceChargePercentage'];
if (isset($o['allowanceChargeType'])) $this->allowanceChargeType = $o['allowanceChargeType'];
if (isset($o['allowanceOrChargeType'])) $this->allowanceOrChargeType = $o['allowanceOrChargeType'];
if (isset($o['amountPerUnit'])) $this->amountPerUnit = $o['amountPerUnit'];
if (isset($o['baseAmount'])) $this->baseAmount = $o['baseAmount'];
if (isset($o['baseNumberOfUnits'])) $this->baseNumberOfUnits = $o['baseNumberOfUnits'];
if (isset($o['bracketIdentifier'])) $this->bracketIdentifier = $o['bracketIdentifier'];
if (isset($o['effectiveDateType'])) $this->effectiveDateType = JsonConverters::from('DateTime', $o['effectiveDateType']);
if (isset($o['sequenceNumber'])) $this->sequenceNumber = $o['sequenceNumber'];
if (isset($o['settlementType'])) $this->settlementType = $o['settlementType'];
if (isset($o['specialServiceType'])) $this->specialServiceType = $o['specialServiceType'];
if (isset($o['allowanceChargeDescription'])) $this->allowanceChargeDescription = $o['allowanceChargeDescription'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->allowanceChargeAmount)) $o['allowanceChargeAmount'] = $this->allowanceChargeAmount;
if (isset($this->allowanceChargePercentage)) $o['allowanceChargePercentage'] = $this->allowanceChargePercentage;
if (isset($this->allowanceChargeType)) $o['allowanceChargeType'] = $this->allowanceChargeType;
if (isset($this->allowanceOrChargeType)) $o['allowanceOrChargeType'] = $this->allowanceOrChargeType;
if (isset($this->amountPerUnit)) $o['amountPerUnit'] = $this->amountPerUnit;
if (isset($this->baseAmount)) $o['baseAmount'] = $this->baseAmount;
if (isset($this->baseNumberOfUnits)) $o['baseNumberOfUnits'] = $this->baseNumberOfUnits;
if (isset($this->bracketIdentifier)) $o['bracketIdentifier'] = $this->bracketIdentifier;
if (isset($this->effectiveDateType)) $o['effectiveDateType'] = JsonConverters::to('DateTime', $this->effectiveDateType);
if (isset($this->sequenceNumber)) $o['sequenceNumber'] = $this->sequenceNumber;
if (isset($this->settlementType)) $o['settlementType'] = $this->settlementType;
if (isset($this->specialServiceType)) $o['specialServiceType'] = $this->specialServiceType;
if (isset($this->allowanceChargeDescription)) $o['allowanceChargeDescription'] = $this->allowanceChargeDescription;
return empty($o) ? new class(){} : $o;
}
}
class InvoiceAllowanceCharge implements JsonSerializable
{
public function __construct(
/** @var AllowanceCharge|null */
public ?AllowanceCharge $allowanceCharge=null,
/** @var TaxInformation|null */
public ?TaxInformation $leviedDutyFeeTax=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['allowanceCharge'])) $this->allowanceCharge = JsonConverters::from('AllowanceCharge', $o['allowanceCharge']);
if (isset($o['leviedDutyFeeTax'])) $this->leviedDutyFeeTax = JsonConverters::from('TaxInformation', $o['leviedDutyFeeTax']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->allowanceCharge)) $o['allowanceCharge'] = JsonConverters::to('AllowanceCharge', $this->allowanceCharge);
if (isset($this->leviedDutyFeeTax)) $o['leviedDutyFeeTax'] = JsonConverters::to('TaxInformation', $this->leviedDutyFeeTax);
return empty($o) ? new class(){} : $o;
}
}
class Extension implements JsonSerializable
{
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
return empty($o) ? new class(){} : $o;
}
}
class InvoiceLineItem implements JsonSerializable
{
public function __construct(
/** @var int|null */
public ?int $lineNumber=null,
/** @var string */
public string $parentLineItemNumber='',
/** @var Quantity|null */
public ?Quantity $invoicedQuantity=null,
/** @var TransactionalTradeItem|null */
public ?TransactionalTradeItem $transactionalTradeItem=null,
/** @var float|null */
public ?float $itemPriceBaseQuantity=null,
/** @var float|null */
public ?float $retailPriceExcludingExcise=null,
/** @var float|null */
public ?float $recommendedRetailPrice=null,
/** @var TaxInformation|null */
public ?TaxInformation $taxInformation=null,
/** @var float|null */
public ?float $amountExclusiveAllowancesCharges=null,
/** @var float|null */
public ?float $amountInclusiveAllowancesCharges=null,
/** @var float|null */
public ?float $itemPriceExclusiveAllowancesCharges=null,
/** @var float|null */
public ?float $itemPriceInclusiveAllowancesCharges=null,
/** @var string */
public string $tradeAgreement='',
/** @var string */
public string $deliveryNote='',
/** @var DocumentReference|null */
public ?DocumentReference $promotionalDeal=null,
/** @var array<InvoiceAllowanceCharge>|null */
public ?array $invoiceAllowanceCharge=null,
/** @var Extension|null */
public ?Extension $extendedProperties=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['lineNumber'])) $this->lineNumber = $o['lineNumber'];
if (isset($o['parentLineItemNumber'])) $this->parentLineItemNumber = $o['parentLineItemNumber'];
if (isset($o['invoicedQuantity'])) $this->invoicedQuantity = JsonConverters::from('Quantity', $o['invoicedQuantity']);
if (isset($o['transactionalTradeItem'])) $this->transactionalTradeItem = JsonConverters::from('TransactionalTradeItem', $o['transactionalTradeItem']);
if (isset($o['itemPriceBaseQuantity'])) $this->itemPriceBaseQuantity = $o['itemPriceBaseQuantity'];
if (isset($o['retailPriceExcludingExcise'])) $this->retailPriceExcludingExcise = $o['retailPriceExcludingExcise'];
if (isset($o['recommendedRetailPrice'])) $this->recommendedRetailPrice = $o['recommendedRetailPrice'];
if (isset($o['taxInformation'])) $this->taxInformation = JsonConverters::from('TaxInformation', $o['taxInformation']);
if (isset($o['amountExclusiveAllowancesCharges'])) $this->amountExclusiveAllowancesCharges = $o['amountExclusiveAllowancesCharges'];
if (isset($o['amountInclusiveAllowancesCharges'])) $this->amountInclusiveAllowancesCharges = $o['amountInclusiveAllowancesCharges'];
if (isset($o['itemPriceExclusiveAllowancesCharges'])) $this->itemPriceExclusiveAllowancesCharges = $o['itemPriceExclusiveAllowancesCharges'];
if (isset($o['itemPriceInclusiveAllowancesCharges'])) $this->itemPriceInclusiveAllowancesCharges = $o['itemPriceInclusiveAllowancesCharges'];
if (isset($o['tradeAgreement'])) $this->tradeAgreement = $o['tradeAgreement'];
if (isset($o['deliveryNote'])) $this->deliveryNote = $o['deliveryNote'];
if (isset($o['promotionalDeal'])) $this->promotionalDeal = JsonConverters::from('DocumentReference', $o['promotionalDeal']);
if (isset($o['invoiceAllowanceCharge'])) $this->invoiceAllowanceCharge = JsonConverters::fromArray('InvoiceAllowanceCharge', $o['invoiceAllowanceCharge']);
if (isset($o['extendedProperties'])) $this->extendedProperties = JsonConverters::from('Extension', $o['extendedProperties']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->lineNumber)) $o['lineNumber'] = $this->lineNumber;
if (isset($this->parentLineItemNumber)) $o['parentLineItemNumber'] = $this->parentLineItemNumber;
if (isset($this->invoicedQuantity)) $o['invoicedQuantity'] = JsonConverters::to('Quantity', $this->invoicedQuantity);
if (isset($this->transactionalTradeItem)) $o['transactionalTradeItem'] = JsonConverters::to('TransactionalTradeItem', $this->transactionalTradeItem);
if (isset($this->itemPriceBaseQuantity)) $o['itemPriceBaseQuantity'] = $this->itemPriceBaseQuantity;
if (isset($this->retailPriceExcludingExcise)) $o['retailPriceExcludingExcise'] = $this->retailPriceExcludingExcise;
if (isset($this->recommendedRetailPrice)) $o['recommendedRetailPrice'] = $this->recommendedRetailPrice;
if (isset($this->taxInformation)) $o['taxInformation'] = JsonConverters::to('TaxInformation', $this->taxInformation);
if (isset($this->amountExclusiveAllowancesCharges)) $o['amountExclusiveAllowancesCharges'] = $this->amountExclusiveAllowancesCharges;
if (isset($this->amountInclusiveAllowancesCharges)) $o['amountInclusiveAllowancesCharges'] = $this->amountInclusiveAllowancesCharges;
if (isset($this->itemPriceExclusiveAllowancesCharges)) $o['itemPriceExclusiveAllowancesCharges'] = $this->itemPriceExclusiveAllowancesCharges;
if (isset($this->itemPriceInclusiveAllowancesCharges)) $o['itemPriceInclusiveAllowancesCharges'] = $this->itemPriceInclusiveAllowancesCharges;
if (isset($this->tradeAgreement)) $o['tradeAgreement'] = $this->tradeAgreement;
if (isset($this->deliveryNote)) $o['deliveryNote'] = $this->deliveryNote;
if (isset($this->promotionalDeal)) $o['promotionalDeal'] = JsonConverters::to('DocumentReference', $this->promotionalDeal);
if (isset($this->invoiceAllowanceCharge)) $o['invoiceAllowanceCharge'] = JsonConverters::toArray('InvoiceAllowanceCharge', $this->invoiceAllowanceCharge);
if (isset($this->extendedProperties)) $o['extendedProperties'] = JsonConverters::to('Extension', $this->extendedProperties);
return empty($o) ? new class(){} : $o;
}
}
class InvoiceTotals implements JsonSerializable
{
public function __construct(
/** @var float|null */
public ?float $baseAmount=null,
/** @var float|null */
public ?float $prepaidAmount=null,
/** @var DateTime|null */
public ?DateTime $prepaidAmountDate=null,
/** @var float|null */
public ?float $totalAmountInvoiceAllowancesCharges=null,
/** @var float|null */
public ?float $totalLineAmountInclusiveAllowancesCharges=null,
/** @var float|null */
public ?float $totalTaxAmount=null,
/** @var float|null */
public ?float $totalInvoiceAmount=null,
/** @var float|null */
public ?float $totalInvoiceAmountPayable=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['baseAmount'])) $this->baseAmount = $o['baseAmount'];
if (isset($o['prepaidAmount'])) $this->prepaidAmount = $o['prepaidAmount'];
if (isset($o['prepaidAmountDate'])) $this->prepaidAmountDate = JsonConverters::from('DateTime', $o['prepaidAmountDate']);
if (isset($o['totalAmountInvoiceAllowancesCharges'])) $this->totalAmountInvoiceAllowancesCharges = $o['totalAmountInvoiceAllowancesCharges'];
if (isset($o['totalLineAmountInclusiveAllowancesCharges'])) $this->totalLineAmountInclusiveAllowancesCharges = $o['totalLineAmountInclusiveAllowancesCharges'];
if (isset($o['totalTaxAmount'])) $this->totalTaxAmount = $o['totalTaxAmount'];
if (isset($o['totalInvoiceAmount'])) $this->totalInvoiceAmount = $o['totalInvoiceAmount'];
if (isset($o['totalInvoiceAmountPayable'])) $this->totalInvoiceAmountPayable = $o['totalInvoiceAmountPayable'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->baseAmount)) $o['baseAmount'] = $this->baseAmount;
if (isset($this->prepaidAmount)) $o['prepaidAmount'] = $this->prepaidAmount;
if (isset($this->prepaidAmountDate)) $o['prepaidAmountDate'] = JsonConverters::to('DateTime', $this->prepaidAmountDate);
if (isset($this->totalAmountInvoiceAllowancesCharges)) $o['totalAmountInvoiceAllowancesCharges'] = $this->totalAmountInvoiceAllowancesCharges;
if (isset($this->totalLineAmountInclusiveAllowancesCharges)) $o['totalLineAmountInclusiveAllowancesCharges'] = $this->totalLineAmountInclusiveAllowancesCharges;
if (isset($this->totalTaxAmount)) $o['totalTaxAmount'] = $this->totalTaxAmount;
if (isset($this->totalInvoiceAmount)) $o['totalInvoiceAmount'] = $this->totalInvoiceAmount;
if (isset($this->totalInvoiceAmountPayable)) $o['totalInvoiceAmountPayable'] = $this->totalInvoiceAmountPayable;
return empty($o) ? new class(){} : $o;
}
}
class InvoiceClass extends BaseDocument implements JsonSerializable
{
/**
* @param string $currencyCode
* @param DateTime $creationDateTime
* @param DocumentAction|null $documentActionCode
* @param DocumentStatus|null $documentStatusCode
* @param string $documentStructureVersion
* @param DateTime|null $lastUpdateDateTime
* @param int|null $revisionNumber
* @param array<AvpList>|null $avpList
*/
public function __construct(
string $currencyCode='',
DateTime $creationDateTime=new DateTime(),
?DocumentAction $documentActionCode=null,
?DocumentStatus $documentStatusCode=null,
string $documentStructureVersion='',
?DateTime $lastUpdateDateTime=null,
?int $revisionNumber=null,
?array $avpList=null,
/** @var string */
public string $countryOfSupplyOfGoods='',
/** @var TransactionalParty|null */
public ?TransactionalParty $buyer=null,
/** @var TransactionalParty|null */
public ?TransactionalParty $seller=null,
/** @var TransactionalParty|null */
public ?TransactionalParty $payee=null,
/** @var TransactionalParty|null */
public ?TransactionalParty $payer=null,
/** @var TransactionalParty|null */
public ?TransactionalParty $shipFrom=null,
/** @var TransactionalParty|null */
public ?TransactionalParty $shipTo=null,
/** @var TransactionalParty|null */
public ?TransactionalParty $ultimateConsignee=null,
/** @var string */
public string $supplierAccountReceivable='',
/** @var string */
public string $invoiceIdentification='',
/** @var Invoice|null */
public ?Invoice $invoice=null,
/** @var DocumentReference|null */
public ?DocumentReference $salesOrder=null,
/** @var DocumentReference|null */
public ?DocumentReference $purchaseOrder=null,
/** @var DocumentReference|null */
public ?DocumentReference $deliveryNote=null,
/** @var DocumentReference|null */
public ?DocumentReference $tradeAgreement=null,
/** @var ShipmentTransportationInformation|null */
public ?ShipmentTransportationInformation $shipmentTransportationInformation=null,
/** @var string */
public string $paymentTerms='',
/** @var array<InvoiceLineItem>|null */
public ?array $invoiceLineItem=null,
/** @var InvoiceTotals|null */
public ?InvoiceTotals $invoiceTotals=null
) {
parent::__construct($currencyCode,$creationDateTime,$documentActionCode,$documentStatusCode,$documentStructureVersion,$lastUpdateDateTime,$revisionNumber,$avpList);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['countryOfSupplyOfGoods'])) $this->countryOfSupplyOfGoods = $o['countryOfSupplyOfGoods'];
if (isset($o['buyer'])) $this->buyer = JsonConverters::from('TransactionalParty', $o['buyer']);
if (isset($o['seller'])) $this->seller = JsonConverters::from('TransactionalParty', $o['seller']);
if (isset($o['payee'])) $this->payee = JsonConverters::from('TransactionalParty', $o['payee']);
if (isset($o['payer'])) $this->payer = JsonConverters::from('TransactionalParty', $o['payer']);
if (isset($o['shipFrom'])) $this->shipFrom = JsonConverters::from('TransactionalParty', $o['shipFrom']);
if (isset($o['shipTo'])) $this->shipTo = JsonConverters::from('TransactionalParty', $o['shipTo']);
if (isset($o['ultimateConsignee'])) $this->ultimateConsignee = JsonConverters::from('TransactionalParty', $o['ultimateConsignee']);
if (isset($o['supplierAccountReceivable'])) $this->supplierAccountReceivable = $o['supplierAccountReceivable'];
if (isset($o['invoiceIdentification'])) $this->invoiceIdentification = $o['invoiceIdentification'];
if (isset($o['invoice'])) $this->invoice = JsonConverters::from('Invoice', $o['invoice']);
if (isset($o['salesOrder'])) $this->salesOrder = JsonConverters::from('DocumentReference', $o['salesOrder']);
if (isset($o['purchaseOrder'])) $this->purchaseOrder = JsonConverters::from('DocumentReference', $o['purchaseOrder']);
if (isset($o['deliveryNote'])) $this->deliveryNote = JsonConverters::from('DocumentReference', $o['deliveryNote']);
if (isset($o['tradeAgreement'])) $this->tradeAgreement = JsonConverters::from('DocumentReference', $o['tradeAgreement']);
if (isset($o['shipmentTransportationInformation'])) $this->shipmentTransportationInformation = JsonConverters::from('ShipmentTransportationInformation', $o['shipmentTransportationInformation']);
if (isset($o['paymentTerms'])) $this->paymentTerms = $o['paymentTerms'];
if (isset($o['invoiceLineItem'])) $this->invoiceLineItem = JsonConverters::fromArray('InvoiceLineItem', $o['invoiceLineItem']);
if (isset($o['invoiceTotals'])) $this->invoiceTotals = JsonConverters::from('InvoiceTotals', $o['invoiceTotals']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->countryOfSupplyOfGoods)) $o['countryOfSupplyOfGoods'] = $this->countryOfSupplyOfGoods;
if (isset($this->buyer)) $o['buyer'] = JsonConverters::to('TransactionalParty', $this->buyer);
if (isset($this->seller)) $o['seller'] = JsonConverters::to('TransactionalParty', $this->seller);
if (isset($this->payee)) $o['payee'] = JsonConverters::to('TransactionalParty', $this->payee);
if (isset($this->payer)) $o['payer'] = JsonConverters::to('TransactionalParty', $this->payer);
if (isset($this->shipFrom)) $o['shipFrom'] = JsonConverters::to('TransactionalParty', $this->shipFrom);
if (isset($this->shipTo)) $o['shipTo'] = JsonConverters::to('TransactionalParty', $this->shipTo);
if (isset($this->ultimateConsignee)) $o['ultimateConsignee'] = JsonConverters::to('TransactionalParty', $this->ultimateConsignee);
if (isset($this->supplierAccountReceivable)) $o['supplierAccountReceivable'] = $this->supplierAccountReceivable;
if (isset($this->invoiceIdentification)) $o['invoiceIdentification'] = $this->invoiceIdentification;
if (isset($this->invoice)) $o['invoice'] = JsonConverters::to('Invoice', $this->invoice);
if (isset($this->salesOrder)) $o['salesOrder'] = JsonConverters::to('DocumentReference', $this->salesOrder);
if (isset($this->purchaseOrder)) $o['purchaseOrder'] = JsonConverters::to('DocumentReference', $this->purchaseOrder);
if (isset($this->deliveryNote)) $o['deliveryNote'] = JsonConverters::to('DocumentReference', $this->deliveryNote);
if (isset($this->tradeAgreement)) $o['tradeAgreement'] = JsonConverters::to('DocumentReference', $this->tradeAgreement);
if (isset($this->shipmentTransportationInformation)) $o['shipmentTransportationInformation'] = JsonConverters::to('ShipmentTransportationInformation', $this->shipmentTransportationInformation);
if (isset($this->paymentTerms)) $o['paymentTerms'] = $this->paymentTerms;
if (isset($this->invoiceLineItem)) $o['invoiceLineItem'] = JsonConverters::toArray('InvoiceLineItem', $this->invoiceLineItem);
if (isset($this->invoiceTotals)) $o['invoiceTotals'] = JsonConverters::to('InvoiceTotals', $this->invoiceTotals);
return empty($o) ? new class(){} : $o;
}
}
class InvoiceMessage implements JsonSerializable
{
public function __construct(
/** @var Header|null */
public ?Header $header=null,
/** @var InvoiceClass|null */
public ?InvoiceClass $invoice=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['header'])) $this->header = JsonConverters::from('Header', $o['header']);
if (isset($o['invoice'])) $this->invoice = JsonConverters::from('InvoiceClass', $o['invoice']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->header)) $o['header'] = JsonConverters::to('Header', $this->header);
if (isset($this->invoice)) $o['invoice'] = JsonConverters::to('InvoiceClass', $this->invoice);
return empty($o) ? new class(){} : $o;
}
}
/** @description Debit Note */
// @Api(Description="Debit Note")
// @ApiResponse(Description="Debit Note data", IsDefaultResponse=true, StatusCode=200)
// @ApiResponse(Description="No Content", ResponseType="typeof(ServiceStack.IReturnVoid)", StatusCode=204)
// @ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType="typeof(System.ArgumentOutOfRangeException)", StatusCode=400)
class GetDebitNoteById implements IGetDocumentById, JsonSerializable
{
public function __construct(
/** @description Debit Note ID or Token */
// @ApiMember(Description="Debit Note ID or Token", ExcludeInSchema=true, ParameterType="path")
/** @var string */
public string $id=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
return empty($o) ? new class(){} : $o;
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/debitNote/{Id} HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<InvoiceMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
<Header>
<documentIdentification>
<creationDateAndTime>0001-01-01T00:00:00</creationDateAndTime>
<identifier>String</identifier>
<type>String</type>
</documentIdentification>
<receiver>
<contactInformation>
<ContactInformation />
</contactInformation>
<identifier>
<authority>String</authority>
<text>String</text>
</identifier>
</receiver>
<sender>
<contactInformation>
<ContactInformation />
</contactInformation>
<identifier>
<authority>String</authority>
<text>String</text>
</identifier>
</sender>
</Header>
<Invoice>
<AvpList>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AvpList>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<CurrencyCode>String</CurrencyCode>
<DocumentActionCode>ADD</DocumentActionCode>
<DocumentStatusCode>ADDITIONAL_TRANSMISSION</DocumentStatusCode>
<DocumentStructureVersion>String</DocumentStructureVersion>
<LastUpdateDateTime>0001-01-01T00:00:00</LastUpdateDateTime>
<RevisionNumber>0</RevisionNumber>
<Buyer>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Buyer>
<CountryOfSupplyOfGoods>String</CountryOfSupplyOfGoods>
<DeliveryNote>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
</DeliveryNote>
<Invoice>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<EntityIdentification>String</EntityIdentification>
<RevisionNumber>0</RevisionNumber>
</Invoice>
<InvoiceIdentification>String</InvoiceIdentification>
<InvoiceLineItem>
<InvoiceLineItem>
<AmountExclusiveAllowancesCharges>0</AmountExclusiveAllowancesCharges>
<AmountInclusiveAllowancesCharges>0</AmountInclusiveAllowancesCharges>
<DeliveryNote>String</DeliveryNote>
<ExtendedProperties />
<InvoiceAllowanceCharge>
<InvoiceAllowanceCharge>
<AllowanceCharge>
<AllowanceChargeAmount>0</AllowanceChargeAmount>
<AllowanceChargeDescription>String</AllowanceChargeDescription>
<AllowanceChargePercentage>0</AllowanceChargePercentage>
<AllowanceChargeType>String</AllowanceChargeType>
<AllowanceOrChargeType>String</AllowanceOrChargeType>
<AmountPerUnit>0</AmountPerUnit>
<BaseAmount>0</BaseAmount>
<BaseNumberOfUnits>String</BaseNumberOfUnits>
<BracketIdentifier>String</BracketIdentifier>
<EffectiveDateType>0001-01-01T00:00:00</EffectiveDateType>
<SequenceNumber>String</SequenceNumber>
<SettlementType>String</SettlementType>
<SpecialServiceType>String</SpecialServiceType>
</AllowanceCharge>
<LeviedDutyFeeTax>
<TaxAmount>0</TaxAmount>
<TaxPercentage>0</TaxPercentage>
</LeviedDutyFeeTax>
</InvoiceAllowanceCharge>
</InvoiceAllowanceCharge>
<InvoicedQuantity>
<CodeListVersion>String</CodeListVersion>
<MeasurementUnitCode>String</MeasurementUnitCode>
<Value>0</Value>
</InvoicedQuantity>
<ItemPriceBaseQuantity>0</ItemPriceBaseQuantity>
<ItemPriceExclusiveAllowancesCharges>0</ItemPriceExclusiveAllowancesCharges>
<ItemPriceInclusiveAllowancesCharges>0</ItemPriceInclusiveAllowancesCharges>
<LineNumber>0</LineNumber>
<ParentLineItemNumber>String</ParentLineItemNumber>
<PromotionalDeal>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
</PromotionalDeal>
<RecommendedRetailPrice>0</RecommendedRetailPrice>
<RetailPriceExcludingExcise>0</RetailPriceExcludingExcise>
<TaxInformation>
<TaxAmount>0</TaxAmount>
<TaxPercentage>0</TaxPercentage>
</TaxInformation>
<TradeAgreement>String</TradeAgreement>
<TransactionalTradeItem>
<AdditionalTradeItemIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalTradeItemIdentification>
<AvpList>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AvpList>
<ButterFatReference>String</ButterFatReference>
<Colour>
<Colour>
<ColourCode>String</ColourCode>
<ColourDescription>String</ColourDescription>
</Colour>
</Colour>
<Gtin>String</Gtin>
<ItemTypeCode>String</ItemTypeCode>
<ProductVariantIdentifier>String</ProductVariantIdentifier>
<Size>
<DescriptiveSize>String</DescriptiveSize>
<SizeCode>String</SizeCode>
</Size>
<TradeItemClassification>
<AdditionalTradeItemClassificationCode>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalTradeItemClassificationCode>
<GpcAttribute>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</GpcAttribute>
<GpcCategoryCode>String</GpcCategoryCode>
<GpcCategoryName>String</GpcCategoryName>
</TradeItemClassification>
<TradeItemDataOwner>String</TradeItemDataOwner>
<TradeItemDescription>String</TradeItemDescription>
<TradeItemQuantity>0</TradeItemQuantity>
<TransactionalItemData>
<TransactionalItemData>
<AvailableForSaleDate>0001-01-01T00:00:00</AvailableForSaleDate>
<AvpList>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AvpList>
<BatchNumber>String</BatchNumber>
<BestBeforeDate>0001-01-01T00:00:00</BestBeforeDate>
<CountryOfOrigin>String</CountryOfOrigin>
<ItemExpirationDate>0001-01-01T00:00:00</ItemExpirationDate>
<ItemInContactWithFoodProduct>false</ItemInContactWithFoodProduct>
<LotNumber>String</LotNumber>
<PackagingDate>0001-01-01T00:00:00</PackagingDate>
<ProductQualityIndication>String</ProductQualityIndication>
<ProductionDate>0001-01-01T00:00:00</ProductionDate>
<SellByDate>0001-01-01T00:00:00</SellByDate>
<SerialNumber xmlns:d8p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d8p1:string>String</d8p1:string>
</SerialNumber>
<SerialNumberRange>
<SerialNumberRange>
<MaximumValue>String</MaximumValue>
<MinimumValue>String</MinimumValue>
</SerialNumberRange>
</SerialNumberRange>
<ShelfLife>String</ShelfLife>
<TradeItemQuantity>0</TradeItemQuantity>
<TradeItemWaste>
<TradeItemWaste>
<TypeOfWaste>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</TypeOfWaste>
<WasteIdentification>String</WasteIdentification>
</TradeItemWaste>
</TradeItemWaste>
<TransactionalItemDataCarrierAndIdentification>
<DataCarrier>String</DataCarrier>
<Gs1TransactionalItemIdentificationKey>String</Gs1TransactionalItemIdentificationKey>
</TransactionalItemDataCarrierAndIdentification>
<TransactionalItemDimensions>
<TransactionalItemDimension>
<Depth>String</Depth>
<Height>String</Height>
<MeasurementUnitCode>String</MeasurementUnitCode>
<Width>String</Width>
</TransactionalItemDimension>
</TransactionalItemDimensions>
<TransactionalItemLogisticUnitInformation>
<DimensionsOfLogisticUnit>
<TransactionalItemDimension>
<Depth>String</Depth>
<Height>String</Height>
<MeasurementUnitCode>String</MeasurementUnitCode>
<Width>String</Width>
</TransactionalItemDimension>
</DimensionsOfLogisticUnit>
<MaximumStackingFactor>0</MaximumStackingFactor>
<NumberOfLayers>0</NumberOfLayers>
<NumberOfUnitsPerLayer>0</NumberOfUnitsPerLayer>
<NumberOfUnitsPerPallet>0</NumberOfUnitsPerPallet>
<PackageTypeCode>String</PackageTypeCode>
<PackagingTerms>String</PackagingTerms>
<ReturnablePackageTransportCostPayment>String</ReturnablePackageTransportCostPayment>
</TransactionalItemLogisticUnitInformation>
<TransactionalItemOrganicInformation>
<IsTradeItemOrganic>false</IsTradeItemOrganic>
<OrganicCertification>String</OrganicCertification>
</TransactionalItemOrganicInformation>
<TransactionalItemVolume>
<TransactionalItem>
<MeasurementType>String</MeasurementType>
<MeasurementUnitCode>String</MeasurementUnitCode>
<MeasurementValue>String</MeasurementValue>
</TransactionalItem>
</TransactionalItemVolume>
<TransactionalItemWeight>
<TransactionalItem>
<MeasurementType>String</MeasurementType>
<MeasurementUnitCode>String</MeasurementUnitCode>
<MeasurementValue>String</MeasurementValue>
</TransactionalItem>
</TransactionalItemWeight>
</TransactionalItemData>
</TransactionalItemData>
</TransactionalTradeItem>
</InvoiceLineItem>
</InvoiceLineItem>
<InvoiceTotals>
<BaseAmount>0</BaseAmount>
<PrepaidAmount>0</PrepaidAmount>
<PrepaidAmountDate>0001-01-01T00:00:00</PrepaidAmountDate>
<TotalAmountInvoiceAllowancesCharges>0</TotalAmountInvoiceAllowancesCharges>
<TotalInvoiceAmount>0</TotalInvoiceAmount>
<TotalInvoiceAmountPayable>0</TotalInvoiceAmountPayable>
<TotalLineAmountInclusiveAllowancesCharges>0</TotalLineAmountInclusiveAllowancesCharges>
<TotalTaxAmount>0</TotalTaxAmount>
</InvoiceTotals>
<Payee>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Payee>
<Payer>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Payer>
<PaymentTerms>String</PaymentTerms>
<PurchaseOrder>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
</PurchaseOrder>
<SalesOrder>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
</SalesOrder>
<Seller>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Seller>
<ShipFrom>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</ShipFrom>
<ShipTo>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</ShipTo>
<ShipmentTransportationInformation>
<Carrier>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Carrier>
<FreightForwarder>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</FreightForwarder>
</ShipmentTransportationInformation>
<SupplierAccountReceivable>String</SupplierAccountReceivable>
<TradeAgreement>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
</TradeAgreement>
<UltimateConsignee>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</UltimateConsignee>
</Invoice>
</InvoiceMessage>