| GET | /api/itemDataNotification/{Id} | Get specific ItemDataNotification by ItemDataNotification 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};
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 GetItemDataNotificationById implements IGetDocumentById, JsonSerializable
{
public function __construct(
/** @description ItemDataNotification ID or Token */
// @ApiMember(Description="ItemDataNotification 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;
}
}
PHP GetItemDataNotificationById DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/itemDataNotification/{Id} HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
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
}
]
}