| GET | /api/itemDataNotification/{OwnerGln}/{ItemDataNotificationIdentification} | Get specific ItemDataNotification by ItemDataNotificationIdentification |
|---|
<?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};
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 AdditionalTradeItemIdentification implements JsonSerializable
{
public function __construct(
/** @var string */
public string $value='',
/** @var string */
public string $code=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['value'])) $this->value = $o['value'];
if (isset($o['code'])) $this->code = $o['code'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->value)) $o['value'] = $this->value;
if (isset($this->code)) $o['code'] = $this->code;
return empty($o) ? new class(){} : $o;
}
}
class Ecom_TradeItemIdentification implements JsonSerializable
{
public function __construct(
/** @var array<AdditionalTradeItemIdentification>|null */
public ?array $additionalTradeItemIdentification=null,
/** @var string */
public string $gtin=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['additionalTradeItemIdentification'])) $this->additionalTradeItemIdentification = JsonConverters::fromArray('AdditionalTradeItemIdentification', $o['additionalTradeItemIdentification']);
if (isset($o['gtin'])) $this->gtin = $o['gtin'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->additionalTradeItemIdentification)) $o['additionalTradeItemIdentification'] = JsonConverters::toArray('AdditionalTradeItemIdentification', $this->additionalTradeItemIdentification);
if (isset($this->gtin)) $o['gtin'] = $this->gtin;
return empty($o) ? new class(){} : $o;
}
}
class IdentifierType implements JsonSerializable
{
public function __construct(
/** @var string */
public string $value='',
/** @var string */
public string $identificationSchemeAgencyCodeCodeListVersion='',
/** @var string */
public string $identificationSchemeAgencyName='',
/** @var string */
public string $identificationSchemeName=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['value'])) $this->value = $o['value'];
if (isset($o['identificationSchemeAgencyCodeCodeListVersion'])) $this->identificationSchemeAgencyCodeCodeListVersion = $o['identificationSchemeAgencyCodeCodeListVersion'];
if (isset($o['identificationSchemeAgencyName'])) $this->identificationSchemeAgencyName = $o['identificationSchemeAgencyName'];
if (isset($o['identificationSchemeName'])) $this->identificationSchemeName = $o['identificationSchemeName'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->value)) $o['value'] = $this->value;
if (isset($this->identificationSchemeAgencyCodeCodeListVersion)) $o['identificationSchemeAgencyCodeCodeListVersion'] = $this->identificationSchemeAgencyCodeCodeListVersion;
if (isset($this->identificationSchemeAgencyName)) $o['identificationSchemeAgencyName'] = $this->identificationSchemeAgencyName;
if (isset($this->identificationSchemeName)) $o['identificationSchemeName'] = $this->identificationSchemeName;
return empty($o) ? new class(){} : $o;
}
}
class AdditionalTradeItemClassificationCode implements JsonSerializable
{
public function __construct(
/** @var string */
public string $value='',
/** @var string */
public string $additionalTradeItemClassificationCodeListCode='',
/** @var string */
public string $additionalTradeItemClassificationCodeListVersion='',
/** @var string */
public string $codeDescription=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['value'])) $this->value = $o['value'];
if (isset($o['additionalTradeItemClassificationCodeListCode'])) $this->additionalTradeItemClassificationCodeListCode = $o['additionalTradeItemClassificationCodeListCode'];
if (isset($o['additionalTradeItemClassificationCodeListVersion'])) $this->additionalTradeItemClassificationCodeListVersion = $o['additionalTradeItemClassificationCodeListVersion'];
if (isset($o['codeDescription'])) $this->codeDescription = $o['codeDescription'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->value)) $o['value'] = $this->value;
if (isset($this->additionalTradeItemClassificationCodeListCode)) $o['additionalTradeItemClassificationCodeListCode'] = $this->additionalTradeItemClassificationCodeListCode;
if (isset($this->additionalTradeItemClassificationCodeListVersion)) $o['additionalTradeItemClassificationCodeListVersion'] = $this->additionalTradeItemClassificationCodeListVersion;
if (isset($this->codeDescription)) $o['codeDescription'] = $this->codeDescription;
return empty($o) ? new class(){} : $o;
}
}
class Measurement implements JsonSerializable
{
public function __construct(
/** @var float|null */
public ?float $value=null,
/** @var string */
public string $codeListVersion='',
/** @var string */
public string $measurementUnitCode=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['value'])) $this->value = $o['value'];
if (isset($o['codeListVersion'])) $this->codeListVersion = $o['codeListVersion'];
if (isset($o['measurementUnitCode'])) $this->measurementUnitCode = $o['measurementUnitCode'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->value)) $o['value'] = $this->value;
if (isset($this->codeListVersion)) $o['codeListVersion'] = $this->codeListVersion;
if (isset($this->measurementUnitCode)) $o['measurementUnitCode'] = $this->measurementUnitCode;
return empty($o) ? new class(){} : $o;
}
}
class ItemDataWeightAndDimension implements JsonSerializable
{
public function __construct(
/** @var Measurement|null */
public ?Measurement $depth=null,
/** @var Measurement|null */
public ?Measurement $diameter=null,
/** @var Measurement|null */
public ?Measurement $grossWeight=null,
/** @var Measurement|null */
public ?Measurement $height=null,
/** @var Measurement|null */
public ?Measurement $netWeight=null,
/** @var Measurement|null */
public ?Measurement $width=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['depth'])) $this->depth = JsonConverters::from('Measurement', $o['depth']);
if (isset($o['diameter'])) $this->diameter = JsonConverters::from('Measurement', $o['diameter']);
if (isset($o['grossWeight'])) $this->grossWeight = JsonConverters::from('Measurement', $o['grossWeight']);
if (isset($o['height'])) $this->height = JsonConverters::from('Measurement', $o['height']);
if (isset($o['netWeight'])) $this->netWeight = JsonConverters::from('Measurement', $o['netWeight']);
if (isset($o['width'])) $this->width = JsonConverters::from('Measurement', $o['width']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->depth)) $o['depth'] = JsonConverters::to('Measurement', $this->depth);
if (isset($this->diameter)) $o['diameter'] = JsonConverters::to('Measurement', $this->diameter);
if (isset($this->grossWeight)) $o['grossWeight'] = JsonConverters::to('Measurement', $this->grossWeight);
if (isset($this->height)) $o['height'] = JsonConverters::to('Measurement', $this->height);
if (isset($this->netWeight)) $o['netWeight'] = JsonConverters::to('Measurement', $this->netWeight);
if (isset($this->width)) $o['width'] = JsonConverters::to('Measurement', $this->width);
return empty($o) ? new class(){} : $o;
}
}
class TemperatureMeasurement implements JsonSerializable
{
public function __construct(
/** @var float|null */
public ?float $value=null,
/** @var string */
public string $temperatureMeasurementUnitCode=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['value'])) $this->value = $o['value'];
if (isset($o['temperatureMeasurementUnitCode'])) $this->temperatureMeasurementUnitCode = $o['temperatureMeasurementUnitCode'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->value)) $o['value'] = $this->value;
if (isset($this->temperatureMeasurementUnitCode)) $o['temperatureMeasurementUnitCode'] = $this->temperatureMeasurementUnitCode;
return empty($o) ? new class(){} : $o;
}
}
class TemperatureRange implements JsonSerializable
{
public function __construct(
/** @var TemperatureMeasurement|null */
public ?TemperatureMeasurement $maximumTemperature=null,
/** @var TemperatureMeasurement|null */
public ?TemperatureMeasurement $minimumTemperature=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['maximumTemperature'])) $this->maximumTemperature = JsonConverters::from('TemperatureMeasurement', $o['maximumTemperature']);
if (isset($o['minimumTemperature'])) $this->minimumTemperature = JsonConverters::from('TemperatureMeasurement', $o['minimumTemperature']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->maximumTemperature)) $o['maximumTemperature'] = JsonConverters::to('TemperatureMeasurement', $this->maximumTemperature);
if (isset($this->minimumTemperature)) $o['minimumTemperature'] = JsonConverters::to('TemperatureMeasurement', $this->minimumTemperature);
return empty($o) ? new class(){} : $o;
}
}
class HandlingInstruction implements JsonSerializable
{
public function __construct(
/** @var string */
public string $handlingInstructionCode='',
/** @var string */
public string $handlingInstructionText='',
/** @var array<string>|null */
public ?array $printingInstructionCode=null,
/** @var TemperatureRange|null */
public ?TemperatureRange $storageTemperature=null,
/** @var TemperatureRange|null */
public ?TemperatureRange $transportTemperature=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['handlingInstructionCode'])) $this->handlingInstructionCode = $o['handlingInstructionCode'];
if (isset($o['handlingInstructionText'])) $this->handlingInstructionText = $o['handlingInstructionText'];
if (isset($o['printingInstructionCode'])) $this->printingInstructionCode = JsonConverters::fromArray('string', $o['printingInstructionCode']);
if (isset($o['storageTemperature'])) $this->storageTemperature = JsonConverters::from('TemperatureRange', $o['storageTemperature']);
if (isset($o['transportTemperature'])) $this->transportTemperature = JsonConverters::from('TemperatureRange', $o['transportTemperature']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->handlingInstructionCode)) $o['handlingInstructionCode'] = $this->handlingInstructionCode;
if (isset($this->handlingInstructionText)) $o['handlingInstructionText'] = $this->handlingInstructionText;
if (isset($this->printingInstructionCode)) $o['printingInstructionCode'] = JsonConverters::toArray('string', $this->printingInstructionCode);
if (isset($this->storageTemperature)) $o['storageTemperature'] = JsonConverters::to('TemperatureRange', $this->storageTemperature);
if (isset($this->transportTemperature)) $o['transportTemperature'] = JsonConverters::to('TemperatureRange', $this->transportTemperature);
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;
}
}
class DangerousGoodsInformation implements JsonSerializable
{
public function __construct(
/** @var string */
public string $dangerousGoodsDescription='',
/** @var string */
public string $dangerousGoodsShippingName='',
/** @var string */
public string $dangerousGoodsTechnicalName='',
/** @var Identifier|null */
public ?Identifier $dangerousGoodsUNIdentifier=null,
/** @var array<Contact>|null */
public ?array $contact=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['dangerousGoodsDescription'])) $this->dangerousGoodsDescription = $o['dangerousGoodsDescription'];
if (isset($o['dangerousGoodsShippingName'])) $this->dangerousGoodsShippingName = $o['dangerousGoodsShippingName'];
if (isset($o['dangerousGoodsTechnicalName'])) $this->dangerousGoodsTechnicalName = $o['dangerousGoodsTechnicalName'];
if (isset($o['dangerousGoodsUNIdentifier'])) $this->dangerousGoodsUNIdentifier = JsonConverters::from('Identifier', $o['dangerousGoodsUNIdentifier']);
if (isset($o['contact'])) $this->contact = JsonConverters::fromArray('Contact', $o['contact']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->dangerousGoodsDescription)) $o['dangerousGoodsDescription'] = $this->dangerousGoodsDescription;
if (isset($this->dangerousGoodsShippingName)) $o['dangerousGoodsShippingName'] = $this->dangerousGoodsShippingName;
if (isset($this->dangerousGoodsTechnicalName)) $o['dangerousGoodsTechnicalName'] = $this->dangerousGoodsTechnicalName;
if (isset($this->dangerousGoodsUNIdentifier)) $o['dangerousGoodsUNIdentifier'] = JsonConverters::to('Identifier', $this->dangerousGoodsUNIdentifier);
if (isset($this->contact)) $o['contact'] = JsonConverters::toArray('Contact', $this->contact);
return empty($o) ? new class(){} : $o;
}
}
class AdministrativeUnit implements JsonSerializable
{
public function __construct(
/** @var string */
public string $typeCode='',
/** @var string */
public string $gln='',
/** @var string */
public string $internalIdentification=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['typeCode'])) $this->typeCode = $o['typeCode'];
if (isset($o['gln'])) $this->gln = $o['gln'];
if (isset($o['internalIdentification'])) $this->internalIdentification = $o['internalIdentification'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->typeCode)) $o['typeCode'] = $this->typeCode;
if (isset($this->gln)) $o['gln'] = $this->gln;
if (isset($this->internalIdentification)) $o['internalIdentification'] = $this->internalIdentification;
return empty($o) ? new class(){} : $o;
}
}
class ItemDataTradingPartnerNeutral implements JsonSerializable
{
public function __construct(
/** @var DateTime|null */
public ?DateTime $cancelledDateTime=null,
/** @var DateTime|null */
public ?DateTime $discontinuedDateTime=null,
/** @var DateTime */
public DateTime $effectiveDateTime=new DateTime(),
/** @var DateTime|null */
public ?DateTime $endAvailabilityDateTime=null,
/** @var int|null */
public ?int $maximumStackingFactor=null,
/** @var DateTime */
public DateTime $startAvailabilityDateTime=new DateTime(),
/** @var string */
public string $tradeItemBaseUnitOfMeasure='',
/** @var array<AdditionalTradeItemClassificationCode>|null */
public ?array $tradeItemClassificationCode=null,
/** @var string */
public string $warehouseABCClassificationCode='',
/** @var ItemDataWeightAndDimension|null */
public ?ItemDataWeightAndDimension $itemDataWeightAndDimension=null,
/** @var array<HandlingInstruction>|null */
public ?array $handlingInstruction=null,
/** @var array<DangerousGoodsInformation>|null */
public ?array $dangerousGoodsInformation=null,
/** @var AdministrativeUnit|null */
public ?AdministrativeUnit $administrativeUnitOfLogisticServiceBuyer=null,
/** @var array<AvpList>|null */
public ?array $avpList=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['cancelledDateTime'])) $this->cancelledDateTime = JsonConverters::from('DateTime', $o['cancelledDateTime']);
if (isset($o['discontinuedDateTime'])) $this->discontinuedDateTime = JsonConverters::from('DateTime', $o['discontinuedDateTime']);
if (isset($o['effectiveDateTime'])) $this->effectiveDateTime = JsonConverters::from('DateTime', $o['effectiveDateTime']);
if (isset($o['endAvailabilityDateTime'])) $this->endAvailabilityDateTime = JsonConverters::from('DateTime', $o['endAvailabilityDateTime']);
if (isset($o['maximumStackingFactor'])) $this->maximumStackingFactor = $o['maximumStackingFactor'];
if (isset($o['startAvailabilityDateTime'])) $this->startAvailabilityDateTime = JsonConverters::from('DateTime', $o['startAvailabilityDateTime']);
if (isset($o['tradeItemBaseUnitOfMeasure'])) $this->tradeItemBaseUnitOfMeasure = $o['tradeItemBaseUnitOfMeasure'];
if (isset($o['tradeItemClassificationCode'])) $this->tradeItemClassificationCode = JsonConverters::fromArray('AdditionalTradeItemClassificationCode', $o['tradeItemClassificationCode']);
if (isset($o['warehouseABCClassificationCode'])) $this->warehouseABCClassificationCode = $o['warehouseABCClassificationCode'];
if (isset($o['itemDataWeightAndDimension'])) $this->itemDataWeightAndDimension = JsonConverters::from('ItemDataWeightAndDimension', $o['itemDataWeightAndDimension']);
if (isset($o['handlingInstruction'])) $this->handlingInstruction = JsonConverters::fromArray('HandlingInstruction', $o['handlingInstruction']);
if (isset($o['dangerousGoodsInformation'])) $this->dangerousGoodsInformation = JsonConverters::fromArray('DangerousGoodsInformation', $o['dangerousGoodsInformation']);
if (isset($o['administrativeUnitOfLogisticServiceBuyer'])) $this->administrativeUnitOfLogisticServiceBuyer = JsonConverters::from('AdministrativeUnit', $o['administrativeUnitOfLogisticServiceBuyer']);
if (isset($o['avpList'])) $this->avpList = JsonConverters::fromArray('AvpList', $o['avpList']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->cancelledDateTime)) $o['cancelledDateTime'] = JsonConverters::to('DateTime', $this->cancelledDateTime);
if (isset($this->discontinuedDateTime)) $o['discontinuedDateTime'] = JsonConverters::to('DateTime', $this->discontinuedDateTime);
if (isset($this->effectiveDateTime)) $o['effectiveDateTime'] = JsonConverters::to('DateTime', $this->effectiveDateTime);
if (isset($this->endAvailabilityDateTime)) $o['endAvailabilityDateTime'] = JsonConverters::to('DateTime', $this->endAvailabilityDateTime);
if (isset($this->maximumStackingFactor)) $o['maximumStackingFactor'] = $this->maximumStackingFactor;
if (isset($this->startAvailabilityDateTime)) $o['startAvailabilityDateTime'] = JsonConverters::to('DateTime', $this->startAvailabilityDateTime);
if (isset($this->tradeItemBaseUnitOfMeasure)) $o['tradeItemBaseUnitOfMeasure'] = $this->tradeItemBaseUnitOfMeasure;
if (isset($this->tradeItemClassificationCode)) $o['tradeItemClassificationCode'] = JsonConverters::toArray('AdditionalTradeItemClassificationCode', $this->tradeItemClassificationCode);
if (isset($this->warehouseABCClassificationCode)) $o['warehouseABCClassificationCode'] = $this->warehouseABCClassificationCode;
if (isset($this->itemDataWeightAndDimension)) $o['itemDataWeightAndDimension'] = JsonConverters::to('ItemDataWeightAndDimension', $this->itemDataWeightAndDimension);
if (isset($this->handlingInstruction)) $o['handlingInstruction'] = JsonConverters::toArray('HandlingInstruction', $this->handlingInstruction);
if (isset($this->dangerousGoodsInformation)) $o['dangerousGoodsInformation'] = JsonConverters::toArray('DangerousGoodsInformation', $this->dangerousGoodsInformation);
if (isset($this->administrativeUnitOfLogisticServiceBuyer)) $o['administrativeUnitOfLogisticServiceBuyer'] = JsonConverters::to('AdministrativeUnit', $this->administrativeUnitOfLogisticServiceBuyer);
if (isset($this->avpList)) $o['avpList'] = JsonConverters::toArray('AvpList', $this->avpList);
return empty($o) ? new class(){} : $o;
}
}
class TimeMeasurement implements JsonSerializable
{
public function __construct(
/** @var string */
public string $timeMeasurementUnitCode='',
/** @var float|null */
public ?float $value=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['timeMeasurementUnitCode'])) $this->timeMeasurementUnitCode = $o['timeMeasurementUnitCode'];
if (isset($o['value'])) $this->value = $o['value'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->timeMeasurementUnitCode)) $o['timeMeasurementUnitCode'] = $this->timeMeasurementUnitCode;
if (isset($this->value)) $o['value'] = $this->value;
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 Dimension implements JsonSerializable
{
public function __construct(
/** @var Measurement|null */
public ?Measurement $depth=null,
/** @var Measurement|null */
public ?Measurement $height=null,
/** @var Measurement|null */
public ?Measurement $width=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['depth'])) $this->depth = JsonConverters::from('Measurement', $o['depth']);
if (isset($o['height'])) $this->height = JsonConverters::from('Measurement', $o['height']);
if (isset($o['width'])) $this->width = JsonConverters::from('Measurement', $o['width']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->depth)) $o['depth'] = JsonConverters::to('Measurement', $this->depth);
if (isset($this->height)) $o['height'] = JsonConverters::to('Measurement', $this->height);
if (isset($this->width)) $o['width'] = JsonConverters::to('Measurement', $this->width);
return empty($o) ? new class(){} : $o;
}
}
class ItemDataLogisticUnitInformation implements JsonSerializable
{
public function __construct(
/** @var Measurement|null */
public ?Measurement $grossWeight=null,
/** @var int|null */
public ?int $maximumStackingFactor=null,
/** @var Measurement|null */
public ?Measurement $netWeight=null,
/** @var int|null */
public ?int $numberOfLayers=null,
/** @var string */
public string $packageLevelCode='',
/** @var string */
public string $packageTypeCode='',
/** @var Quantity|null */
public ?Quantity $tradeItemQuantity=null,
/** @var Quantity|null */
public ?Quantity $tradeItemQuantityPerLayer=null,
/** @var AvpList|null */
public ?AvpList $avpList=null,
/** @var array<Dimension>|null */
public ?array $dimensionsOfLogisticUnit=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['grossWeight'])) $this->grossWeight = JsonConverters::from('Measurement', $o['grossWeight']);
if (isset($o['maximumStackingFactor'])) $this->maximumStackingFactor = $o['maximumStackingFactor'];
if (isset($o['netWeight'])) $this->netWeight = JsonConverters::from('Measurement', $o['netWeight']);
if (isset($o['numberOfLayers'])) $this->numberOfLayers = $o['numberOfLayers'];
if (isset($o['packageLevelCode'])) $this->packageLevelCode = $o['packageLevelCode'];
if (isset($o['packageTypeCode'])) $this->packageTypeCode = $o['packageTypeCode'];
if (isset($o['tradeItemQuantity'])) $this->tradeItemQuantity = JsonConverters::from('Quantity', $o['tradeItemQuantity']);
if (isset($o['tradeItemQuantityPerLayer'])) $this->tradeItemQuantityPerLayer = JsonConverters::from('Quantity', $o['tradeItemQuantityPerLayer']);
if (isset($o['avpList'])) $this->avpList = JsonConverters::from('AvpList', $o['avpList']);
if (isset($o['dimensionsOfLogisticUnit'])) $this->dimensionsOfLogisticUnit = JsonConverters::fromArray('Dimension', $o['dimensionsOfLogisticUnit']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->grossWeight)) $o['grossWeight'] = JsonConverters::to('Measurement', $this->grossWeight);
if (isset($this->maximumStackingFactor)) $o['maximumStackingFactor'] = $this->maximumStackingFactor;
if (isset($this->netWeight)) $o['netWeight'] = JsonConverters::to('Measurement', $this->netWeight);
if (isset($this->numberOfLayers)) $o['numberOfLayers'] = $this->numberOfLayers;
if (isset($this->packageLevelCode)) $o['packageLevelCode'] = $this->packageLevelCode;
if (isset($this->packageTypeCode)) $o['packageTypeCode'] = $this->packageTypeCode;
if (isset($this->tradeItemQuantity)) $o['tradeItemQuantity'] = JsonConverters::to('Quantity', $this->tradeItemQuantity);
if (isset($this->tradeItemQuantityPerLayer)) $o['tradeItemQuantityPerLayer'] = JsonConverters::to('Quantity', $this->tradeItemQuantityPerLayer);
if (isset($this->avpList)) $o['avpList'] = JsonConverters::to('AvpList', $this->avpList);
if (isset($this->dimensionsOfLogisticUnit)) $o['dimensionsOfLogisticUnit'] = JsonConverters::toArray('Dimension', $this->dimensionsOfLogisticUnit);
return empty($o) ? new class(){} : $o;
}
}
class ItemDataStockRequirements implements JsonSerializable
{
public function __construct(
/** @var Quantity|null */
public ?Quantity $requiredStockLevel=null,
/** @var DateTime|null */
public ?DateTime $requiredStockLevelValidityDateTime=null,
/** @var string */
public string $stockRequirementTypeCode=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['requiredStockLevel'])) $this->requiredStockLevel = JsonConverters::from('Quantity', $o['requiredStockLevel']);
if (isset($o['requiredStockLevelValidityDateTime'])) $this->requiredStockLevelValidityDateTime = JsonConverters::from('DateTime', $o['requiredStockLevelValidityDateTime']);
if (isset($o['stockRequirementTypeCode'])) $this->stockRequirementTypeCode = $o['stockRequirementTypeCode'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->requiredStockLevel)) $o['requiredStockLevel'] = JsonConverters::to('Quantity', $this->requiredStockLevel);
if (isset($this->requiredStockLevelValidityDateTime)) $o['requiredStockLevelValidityDateTime'] = JsonConverters::to('DateTime', $this->requiredStockLevelValidityDateTime);
if (isset($this->stockRequirementTypeCode)) $o['stockRequirementTypeCode'] = $this->stockRequirementTypeCode;
return empty($o) ? new class(){} : $o;
}
}
class TransactionalPartyInRole implements JsonSerializable
{
public function __construct(
/** @var string */
public string $partyRoleCode='',
/** @var TransactionalParty|null */
public ?TransactionalParty $transactionalParty=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['partyRoleCode'])) $this->partyRoleCode = $o['partyRoleCode'];
if (isset($o['transactionalParty'])) $this->transactionalParty = JsonConverters::from('TransactionalParty', $o['transactionalParty']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->partyRoleCode)) $o['partyRoleCode'] = $this->partyRoleCode;
if (isset($this->transactionalParty)) $o['transactionalParty'] = JsonConverters::to('TransactionalParty', $this->transactionalParty);
return empty($o) ? new class(){} : $o;
}
}
class ItemDataTradingPartnerDependent implements JsonSerializable
{
public function __construct(
/** @var string */
public string $countryOfOrigin='',
/** @var TimeMeasurement|null */
public ?TimeMeasurement $minimumRemainingShelfLifeInbound=null,
/** @var TimeMeasurement|null */
public ?TimeMeasurement $minimumRemainingShelfLifeOutbound=null,
/** @var Quantity|null */
public ?Quantity $orderQuantityMaximum=null,
/** @var Quantity|null */
public ?Quantity $orderQuantityMinimum=null,
/** @var Quantity|null */
public ?Quantity $orderQuantityMultiple=null,
/** @var string */
public string $qualityControlCode='',
/** @var TimeMeasurement|null */
public ?TimeMeasurement $quarantinePeriod=null,
/** @var TimeMeasurement|null */
public ?TimeMeasurement $tradeItemProductionLeadTime=null,
/** @var TimeMeasurement|null */
public ?TimeMeasurement $tradeItemShipmentLeadTime=null,
/** @var string */
public string $tradeItemSpecificUnitOfMeasure='',
/** @var DateTime|null */
public ?DateTime $tradeItemSubstitutionDateTime=null,
/** @var array<ItemDataLogisticUnitInformation>|null */
public ?array $itemDataLogisticUnitInformation=null,
/** @var array<ItemDataStockRequirements>|null */
public ?array $itemDataStockRequirements=null,
/** @var array<AdministrativeUnit>|null */
public ?array $administrativeUnitOfReceiver=null,
/** @var AvpList|null */
public ?AvpList $avpList=null,
/** @var array<TransactionalPartyInRole>|null */
public ?array $originatingParty=null,
/** @var TransactionalParty|null */
public ?TransactionalParty $receiver=null,
/** @var TransactionalParty|null */
public ?TransactionalParty $shipper=null,
/** @var Ecom_TradeItemIdentification|null */
public ?Ecom_TradeItemIdentification $substituteItem=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['countryOfOrigin'])) $this->countryOfOrigin = $o['countryOfOrigin'];
if (isset($o['minimumRemainingShelfLifeInbound'])) $this->minimumRemainingShelfLifeInbound = JsonConverters::from('TimeMeasurement', $o['minimumRemainingShelfLifeInbound']);
if (isset($o['minimumRemainingShelfLifeOutbound'])) $this->minimumRemainingShelfLifeOutbound = JsonConverters::from('TimeMeasurement', $o['minimumRemainingShelfLifeOutbound']);
if (isset($o['orderQuantityMaximum'])) $this->orderQuantityMaximum = JsonConverters::from('Quantity', $o['orderQuantityMaximum']);
if (isset($o['orderQuantityMinimum'])) $this->orderQuantityMinimum = JsonConverters::from('Quantity', $o['orderQuantityMinimum']);
if (isset($o['orderQuantityMultiple'])) $this->orderQuantityMultiple = JsonConverters::from('Quantity', $o['orderQuantityMultiple']);
if (isset($o['qualityControlCode'])) $this->qualityControlCode = $o['qualityControlCode'];
if (isset($o['quarantinePeriod'])) $this->quarantinePeriod = JsonConverters::from('TimeMeasurement', $o['quarantinePeriod']);
if (isset($o['tradeItemProductionLeadTime'])) $this->tradeItemProductionLeadTime = JsonConverters::from('TimeMeasurement', $o['tradeItemProductionLeadTime']);
if (isset($o['tradeItemShipmentLeadTime'])) $this->tradeItemShipmentLeadTime = JsonConverters::from('TimeMeasurement', $o['tradeItemShipmentLeadTime']);
if (isset($o['tradeItemSpecificUnitOfMeasure'])) $this->tradeItemSpecificUnitOfMeasure = $o['tradeItemSpecificUnitOfMeasure'];
if (isset($o['tradeItemSubstitutionDateTime'])) $this->tradeItemSubstitutionDateTime = JsonConverters::from('DateTime', $o['tradeItemSubstitutionDateTime']);
if (isset($o['itemDataLogisticUnitInformation'])) $this->itemDataLogisticUnitInformation = JsonConverters::fromArray('ItemDataLogisticUnitInformation', $o['itemDataLogisticUnitInformation']);
if (isset($o['itemDataStockRequirements'])) $this->itemDataStockRequirements = JsonConverters::fromArray('ItemDataStockRequirements', $o['itemDataStockRequirements']);
if (isset($o['administrativeUnitOfReceiver'])) $this->administrativeUnitOfReceiver = JsonConverters::fromArray('AdministrativeUnit', $o['administrativeUnitOfReceiver']);
if (isset($o['avpList'])) $this->avpList = JsonConverters::from('AvpList', $o['avpList']);
if (isset($o['originatingParty'])) $this->originatingParty = JsonConverters::fromArray('TransactionalPartyInRole', $o['originatingParty']);
if (isset($o['receiver'])) $this->receiver = JsonConverters::from('TransactionalParty', $o['receiver']);
if (isset($o['shipper'])) $this->shipper = JsonConverters::from('TransactionalParty', $o['shipper']);
if (isset($o['substituteItem'])) $this->substituteItem = JsonConverters::from('Ecom_TradeItemIdentification', $o['substituteItem']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->countryOfOrigin)) $o['countryOfOrigin'] = $this->countryOfOrigin;
if (isset($this->minimumRemainingShelfLifeInbound)) $o['minimumRemainingShelfLifeInbound'] = JsonConverters::to('TimeMeasurement', $this->minimumRemainingShelfLifeInbound);
if (isset($this->minimumRemainingShelfLifeOutbound)) $o['minimumRemainingShelfLifeOutbound'] = JsonConverters::to('TimeMeasurement', $this->minimumRemainingShelfLifeOutbound);
if (isset($this->orderQuantityMaximum)) $o['orderQuantityMaximum'] = JsonConverters::to('Quantity', $this->orderQuantityMaximum);
if (isset($this->orderQuantityMinimum)) $o['orderQuantityMinimum'] = JsonConverters::to('Quantity', $this->orderQuantityMinimum);
if (isset($this->orderQuantityMultiple)) $o['orderQuantityMultiple'] = JsonConverters::to('Quantity', $this->orderQuantityMultiple);
if (isset($this->qualityControlCode)) $o['qualityControlCode'] = $this->qualityControlCode;
if (isset($this->quarantinePeriod)) $o['quarantinePeriod'] = JsonConverters::to('TimeMeasurement', $this->quarantinePeriod);
if (isset($this->tradeItemProductionLeadTime)) $o['tradeItemProductionLeadTime'] = JsonConverters::to('TimeMeasurement', $this->tradeItemProductionLeadTime);
if (isset($this->tradeItemShipmentLeadTime)) $o['tradeItemShipmentLeadTime'] = JsonConverters::to('TimeMeasurement', $this->tradeItemShipmentLeadTime);
if (isset($this->tradeItemSpecificUnitOfMeasure)) $o['tradeItemSpecificUnitOfMeasure'] = $this->tradeItemSpecificUnitOfMeasure;
if (isset($this->tradeItemSubstitutionDateTime)) $o['tradeItemSubstitutionDateTime'] = JsonConverters::to('DateTime', $this->tradeItemSubstitutionDateTime);
if (isset($this->itemDataLogisticUnitInformation)) $o['itemDataLogisticUnitInformation'] = JsonConverters::toArray('ItemDataLogisticUnitInformation', $this->itemDataLogisticUnitInformation);
if (isset($this->itemDataStockRequirements)) $o['itemDataStockRequirements'] = JsonConverters::toArray('ItemDataStockRequirements', $this->itemDataStockRequirements);
if (isset($this->administrativeUnitOfReceiver)) $o['administrativeUnitOfReceiver'] = JsonConverters::toArray('AdministrativeUnit', $this->administrativeUnitOfReceiver);
if (isset($this->avpList)) $o['avpList'] = JsonConverters::to('AvpList', $this->avpList);
if (isset($this->originatingParty)) $o['originatingParty'] = JsonConverters::toArray('TransactionalPartyInRole', $this->originatingParty);
if (isset($this->receiver)) $o['receiver'] = JsonConverters::to('TransactionalParty', $this->receiver);
if (isset($this->shipper)) $o['shipper'] = JsonConverters::to('TransactionalParty', $this->shipper);
if (isset($this->substituteItem)) $o['substituteItem'] = JsonConverters::to('Ecom_TradeItemIdentification', $this->substituteItem);
return empty($o) ? new class(){} : $o;
}
}
class LowerLevelTradeItem extends Ecom_TradeItemIdentification implements JsonSerializable
{
/**
* @param array<AdditionalTradeItemIdentification>|null $additionalTradeItemIdentification
* @param string $gtin
*/
public function __construct(
?array $additionalTradeItemIdentification=null,
string $gtin='',
/** @var float|null */
public ?float $quantityOfLowerLevelTradeItem=null
) {
parent::__construct($additionalTradeItemIdentification,$gtin);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['quantityOfLowerLevelTradeItem'])) $this->quantityOfLowerLevelTradeItem = $o['quantityOfLowerLevelTradeItem'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->quantityOfLowerLevelTradeItem)) $o['quantityOfLowerLevelTradeItem'] = $this->quantityOfLowerLevelTradeItem;
return empty($o) ? new class(){} : $o;
}
}
class ItemDataNotificationLineItem extends Ecom_TradeItemIdentification implements JsonSerializable
{
/**
* @param array<AdditionalTradeItemIdentification>|null $additionalTradeItemIdentification
* @param string $gtin
*/
public function __construct(
?array $additionalTradeItemIdentification=null,
string $gtin='',
/** @var string */
public string $brandName='',
/** @var string */
public string $gpcCategoryCode='',
/** @var bool|null */
public ?bool $isTheProductVariantPreferred=null,
/** @var int|null */
public ?int $lineItemNumber=null,
/** @var int|null */
public ?int $parentLineItemNumber=null,
/** @var IdentifierType|null */
public ?IdentifierType $productVariantIdentifier=null,
/** @var float|null */
public ?float $quantityOfItemTypes=null,
/** @var float|null */
public ?float $quantityOfItemUnits=null,
/** @var array<string>|null */
public ?array $tradeItemDescription=null,
/** @var string */
public string $tradeItemUnitDescriptorCode='',
/** @var ItemDataTradingPartnerNeutral|null */
public ?ItemDataTradingPartnerNeutral $itemDataTradingPartnerNeutral=null,
/** @var array<ItemDataTradingPartnerDependent>|null */
public ?array $itemDataTradingPartnerDependent=null,
/** @var array<LowerLevelTradeItem>|null */
public ?array $lowerLevelTradeItem=null,
/** @var array<AvpList>|null */
public ?array $avpList=null
) {
parent::__construct($additionalTradeItemIdentification,$gtin);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['brandName'])) $this->brandName = $o['brandName'];
if (isset($o['gpcCategoryCode'])) $this->gpcCategoryCode = $o['gpcCategoryCode'];
if (isset($o['isTheProductVariantPreferred'])) $this->isTheProductVariantPreferred = $o['isTheProductVariantPreferred'];
if (isset($o['lineItemNumber'])) $this->lineItemNumber = $o['lineItemNumber'];
if (isset($o['parentLineItemNumber'])) $this->parentLineItemNumber = $o['parentLineItemNumber'];
if (isset($o['productVariantIdentifier'])) $this->productVariantIdentifier = JsonConverters::from('IdentifierType', $o['productVariantIdentifier']);
if (isset($o['quantityOfItemTypes'])) $this->quantityOfItemTypes = $o['quantityOfItemTypes'];
if (isset($o['quantityOfItemUnits'])) $this->quantityOfItemUnits = $o['quantityOfItemUnits'];
if (isset($o['tradeItemDescription'])) $this->tradeItemDescription = JsonConverters::fromArray('string', $o['tradeItemDescription']);
if (isset($o['tradeItemUnitDescriptorCode'])) $this->tradeItemUnitDescriptorCode = $o['tradeItemUnitDescriptorCode'];
if (isset($o['itemDataTradingPartnerNeutral'])) $this->itemDataTradingPartnerNeutral = JsonConverters::from('ItemDataTradingPartnerNeutral', $o['itemDataTradingPartnerNeutral']);
if (isset($o['itemDataTradingPartnerDependent'])) $this->itemDataTradingPartnerDependent = JsonConverters::fromArray('ItemDataTradingPartnerDependent', $o['itemDataTradingPartnerDependent']);
if (isset($o['lowerLevelTradeItem'])) $this->lowerLevelTradeItem = JsonConverters::fromArray('LowerLevelTradeItem', $o['lowerLevelTradeItem']);
if (isset($o['avpList'])) $this->avpList = JsonConverters::fromArray('AvpList', $o['avpList']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->brandName)) $o['brandName'] = $this->brandName;
if (isset($this->gpcCategoryCode)) $o['gpcCategoryCode'] = $this->gpcCategoryCode;
if (isset($this->isTheProductVariantPreferred)) $o['isTheProductVariantPreferred'] = $this->isTheProductVariantPreferred;
if (isset($this->lineItemNumber)) $o['lineItemNumber'] = $this->lineItemNumber;
if (isset($this->parentLineItemNumber)) $o['parentLineItemNumber'] = $this->parentLineItemNumber;
if (isset($this->productVariantIdentifier)) $o['productVariantIdentifier'] = JsonConverters::to('IdentifierType', $this->productVariantIdentifier);
if (isset($this->quantityOfItemTypes)) $o['quantityOfItemTypes'] = $this->quantityOfItemTypes;
if (isset($this->quantityOfItemUnits)) $o['quantityOfItemUnits'] = $this->quantityOfItemUnits;
if (isset($this->tradeItemDescription)) $o['tradeItemDescription'] = JsonConverters::toArray('string', $this->tradeItemDescription);
if (isset($this->tradeItemUnitDescriptorCode)) $o['tradeItemUnitDescriptorCode'] = $this->tradeItemUnitDescriptorCode;
if (isset($this->itemDataTradingPartnerNeutral)) $o['itemDataTradingPartnerNeutral'] = JsonConverters::to('ItemDataTradingPartnerNeutral', $this->itemDataTradingPartnerNeutral);
if (isset($this->itemDataTradingPartnerDependent)) $o['itemDataTradingPartnerDependent'] = JsonConverters::toArray('ItemDataTradingPartnerDependent', $this->itemDataTradingPartnerDependent);
if (isset($this->lowerLevelTradeItem)) $o['lowerLevelTradeItem'] = JsonConverters::toArray('LowerLevelTradeItem', $this->lowerLevelTradeItem);
if (isset($this->avpList)) $o['avpList'] = JsonConverters::toArray('AvpList', $this->avpList);
return empty($o) ? new class(){} : $o;
}
}
class ItemDataNotificationMessage 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 TransactionalParty|null */
public ?TransactionalParty $dataRecipient=null,
/** @var TransactionalParty|null */
public ?TransactionalParty $dataSource=null,
/** @var string */
public string $itemDataNotificationIdentification='',
/** @var array<ItemDataNotificationLineItem>|null */
public ?array $itemDataNotificationLineItem=null
) {
parent::__construct($currencyCode,$creationDateTime,$documentActionCode,$documentStatusCode,$documentStructureVersion,$lastUpdateDateTime,$revisionNumber,$avpList);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['dataRecipient'])) $this->dataRecipient = JsonConverters::from('TransactionalParty', $o['dataRecipient']);
if (isset($o['dataSource'])) $this->dataSource = JsonConverters::from('TransactionalParty', $o['dataSource']);
if (isset($o['itemDataNotificationIdentification'])) $this->itemDataNotificationIdentification = $o['itemDataNotificationIdentification'];
if (isset($o['itemDataNotificationLineItem'])) $this->itemDataNotificationLineItem = JsonConverters::fromArray('ItemDataNotificationLineItem', $o['itemDataNotificationLineItem']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->dataRecipient)) $o['dataRecipient'] = JsonConverters::to('TransactionalParty', $this->dataRecipient);
if (isset($this->dataSource)) $o['dataSource'] = JsonConverters::to('TransactionalParty', $this->dataSource);
if (isset($this->itemDataNotificationIdentification)) $o['itemDataNotificationIdentification'] = $this->itemDataNotificationIdentification;
if (isset($this->itemDataNotificationLineItem)) $o['itemDataNotificationLineItem'] = JsonConverters::toArray('ItemDataNotificationLineItem', $this->itemDataNotificationLineItem);
return empty($o) ? new class(){} : $o;
}
}
/** @description Item Data Notification */
// @Api(Description="Item Data Notification")
// @ApiResponse(Description="ItemDataNotification 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 GetItemDataNotificationByIdentifier implements JsonSerializable
{
public function __construct(
/** @description Owner GLN */
// @ApiMember(Description="Owner GLN", ExcludeInSchema=true, ParameterType="path")
/** @var string */
public string $ownerGln='',
/** @description ItemDataNotification ID or Token */
// @ApiMember(Description="ItemDataNotification ID or Token", ExcludeInSchema=true, ParameterType="path")
/** @var string */
public string $itemDataNotificationIdentification=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ownerGln'])) $this->ownerGln = $o['ownerGln'];
if (isset($o['itemDataNotificationIdentification'])) $this->itemDataNotificationIdentification = $o['itemDataNotificationIdentification'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ownerGln)) $o['ownerGln'] = $this->ownerGln;
if (isset($this->itemDataNotificationIdentification)) $o['itemDataNotificationIdentification'] = $this->itemDataNotificationIdentification;
return empty($o) ? new class(){} : $o;
}
}
PHP GetItemDataNotificationByIdentifier DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/itemDataNotification/{OwnerGln}/{ItemDataNotificationIdentification} HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"dataRecipient":{"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"}]},"dataSource":{"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"}]},"itemDataNotificationIdentification":"String","itemDataNotificationLineItem":[{"brandName":"String","gpcCategoryCode":"String","isTheProductVariantPreferred":false,"lineItemNumber":0,"parentLineItemNumber":0,"productVariantIdentifier":{"value":"String","identificationSchemeAgencyCodeCodeListVersion":"String","identificationSchemeAgencyName":"String","identificationSchemeName":"String"},"quantityOfItemTypes":0,"quantityOfItemUnits":0,"tradeItemDescription":["String"],"tradeItemUnitDescriptorCode":"String","itemDataTradingPartnerNeutral":{"cancelledDateTime":"0001-01-01","discontinuedDateTime":"0001-01-01","endAvailabilityDateTime":"0001-01-01","maximumStackingFactor":0,"tradeItemBaseUnitOfMeasure":"String","tradeItemClassificationCode":[{"value":"String","additionalTradeItemClassificationCodeListCode":"String","additionalTradeItemClassificationCodeListVersion":"String","codeDescription":"String"}],"warehouseABCClassificationCode":"String","itemDataWeightAndDimension":{"depth":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"diameter":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"grossWeight":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"height":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"netWeight":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"width":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"}},"handlingInstruction":[{"handlingInstructionCode":"String","handlingInstructionText":"String","printingInstructionCode":["String"],"storageTemperature":{"maximumTemperature":{"value":0,"temperatureMeasurementUnitCode":"String"},"minimumTemperature":{"value":0,"temperatureMeasurementUnitCode":"String"}},"transportTemperature":{"maximumTemperature":{"value":0,"temperatureMeasurementUnitCode":"String"},"minimumTemperature":{"value":0,"temperatureMeasurementUnitCode":"String"}}}],"dangerousGoodsInformation":[{"dangerousGoodsDescription":"String","dangerousGoodsShippingName":"String","dangerousGoodsTechnicalName":"String","dangerousGoodsUNIdentifier":{"authority":"String","text":"String"},"contact":[{"contactTypeCode":"String","personName":"String","departmentName":"String","jobTitle":"String","responsibility":"String","communicationChannel":[{"communicationChannelCode":"String","communicationChannelName":"String","communicationValue":"String"}]}]}],"administrativeUnitOfLogisticServiceBuyer":{"typeCode":"String","gln":"String","internalIdentification":"String"},"avpList":[{"code":"String","value":"String"}]},"itemDataTradingPartnerDependent":[{"countryOfOrigin":"String","minimumRemainingShelfLifeInbound":{"timeMeasurementUnitCode":"String","value":0},"minimumRemainingShelfLifeOutbound":{"timeMeasurementUnitCode":"String","value":0},"orderQuantityMaximum":{"value":0,"measurementUnitCode":"String","codeListVersion":"String"},"orderQuantityMinimum":{"value":0,"measurementUnitCode":"String","codeListVersion":"String"},"orderQuantityMultiple":{"value":0,"measurementUnitCode":"String","codeListVersion":"String"},"qualityControlCode":"String","quarantinePeriod":{"timeMeasurementUnitCode":"String","value":0},"tradeItemProductionLeadTime":{"timeMeasurementUnitCode":"String","value":0},"tradeItemShipmentLeadTime":{"timeMeasurementUnitCode":"String","value":0},"tradeItemSpecificUnitOfMeasure":"String","tradeItemSubstitutionDateTime":"0001-01-01","itemDataLogisticUnitInformation":[{"grossWeight":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"maximumStackingFactor":0,"netWeight":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"numberOfLayers":0,"packageLevelCode":"String","packageTypeCode":"String","tradeItemQuantity":{"value":0,"measurementUnitCode":"String","codeListVersion":"String"},"tradeItemQuantityPerLayer":{"value":0,"measurementUnitCode":"String","codeListVersion":"String"},"avpList":{"code":"String","value":"String"},"dimensionsOfLogisticUnit":[{"depth":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"height":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"},"width":{"value":0,"codeListVersion":"String","measurementUnitCode":"String"}}]}],"itemDataStockRequirements":[{"requiredStockLevel":{"value":0,"measurementUnitCode":"String","codeListVersion":"String"},"requiredStockLevelValidityDateTime":"0001-01-01","stockRequirementTypeCode":"String"}],"administrativeUnitOfReceiver":[{"typeCode":"String","gln":"String","internalIdentification":"String"}],"avpList":{"code":"String","value":"String"},"originatingParty":[{"partyRoleCode":"String","transactionalParty":{"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"}]}}],"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"}]},"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"}]},"substituteItem":{"additionalTradeItemIdentification":[{"value":"String","code":"String"}],"gtin":"String"}}],"lowerLevelTradeItem":[{"quantityOfLowerLevelTradeItem":0,"additionalTradeItemIdentification":[{"value":"String","code":"String"}],"gtin":"String"}],"avpList":[{"code":"String","value":"String"}],"additionalTradeItemIdentification":[{"value":"String","code":"String"}],"gtin":"String"}],"currencyCode":"String","documentActionCode":"ADD","documentStatusCode":"ADDITIONAL_TRANSMISSION","documentStructureVersion":"String","lastUpdateDateTime":"0001-01-01","revisionNumber":0,"avpList":[{"code":"String","value":"String"}]}