/* Options: Date: 2026-02-14 10:12:50 Version: 10.04 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stf-api-uat.data-xchange.co.za //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetItemDataNotification.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface IReturnVoid { createResponse(): void; } export interface IDocument extends IHaveToken { } export interface IHaveToken { token: string; } export class ResultItem implements IDocument { public token: string; public item: T; public constructor(init?: Partial>) { (Object as any).assign(this, init); } } export class AvpList { public code: string; public value: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Ecom_PartyIdentificationType { public gln: string; public name: string; public additionalPartyIdentification: AvpList[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CommunicationChannel { public communicationChannelCode: string; public communicationChannelName: string; public communicationValue: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Contact { public contactTypeCode: string; public personName: string; public departmentName: string; public jobTitle: string; public responsibility: string; public communicationChannel: CommunicationChannel[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Address { public streetAddressOne: string; public streetAddressTwo: string; public streetAddressThree: string; public city: string; public postalCode: string; public provinceCode: string; public countryCode: string; public constructor(init?: Partial
) { (Object as any).assign(this, init); } } export class FinancialRoutingNumber { public number: string; public numberTypeCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class FinancialAccount { public number: string; public numberTypeCode: string; public name: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class FinancialInstitutionInformation { public financialInstitutionBranchName: string; public financialInstitutionName: string; public financialRoutingNumber: FinancialRoutingNumber; public financialAccount: FinancialAccount; public swiftCode: string; public exportersCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TransactionalParty extends Ecom_PartyIdentificationType { public contact: Contact[] = []; public address: Address; public communicationChannel: AvpList[] = []; public financialInstitutionInformation: FinancialInstitutionInformation; public dutyFeeTaxRegistration: string; public entityIdentification: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class AdditionalTradeItemIdentification { public value: string; public code: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Ecom_TradeItemIdentification { public additionalTradeItemIdentification: AdditionalTradeItemIdentification[] = []; public gtin: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class IdentifierType { public value: string; public identificationSchemeAgencyCodeCodeListVersion: string; public identificationSchemeAgencyName: string; public identificationSchemeName: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AdditionalTradeItemClassificationCode { public value: string; public additionalTradeItemClassificationCodeListCode: string; public additionalTradeItemClassificationCodeListVersion: string; public codeDescription: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Measurement { public value?: number; public codeListVersion: string; public measurementUnitCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ItemDataWeightAndDimension { public depth: Measurement; public diameter: Measurement; public grossWeight: Measurement; public height: Measurement; public netWeight: Measurement; public width: Measurement; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TemperatureMeasurement { public value?: number; public temperatureMeasurementUnitCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TemperatureRange { public maximumTemperature: TemperatureMeasurement; public minimumTemperature: TemperatureMeasurement; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class HandlingInstruction { public handlingInstructionCode: string; public handlingInstructionText: string; public printingInstructionCode: string[] = []; public storageTemperature: TemperatureRange; public transportTemperature: TemperatureRange; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class Identifier { // @DataMember(Name="authority") public authority: string; // @DataMember(Name="text") public text: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class DangerousGoodsInformation { public dangerousGoodsDescription: string; public dangerousGoodsShippingName: string; public dangerousGoodsTechnicalName: string; public dangerousGoodsUNIdentifier: Identifier; public contact: Contact[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AdministrativeUnit { public typeCode: string; public gln: string; public internalIdentification: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ItemDataTradingPartnerNeutral { public cancelledDateTime?: string; public discontinuedDateTime?: string; public effectiveDateTime: string; public endAvailabilityDateTime?: string; public maximumStackingFactor?: number; public startAvailabilityDateTime: string; public tradeItemBaseUnitOfMeasure: string; public tradeItemClassificationCode: AdditionalTradeItemClassificationCode[] = []; public warehouseABCClassificationCode: string; public itemDataWeightAndDimension: ItemDataWeightAndDimension; public handlingInstruction: HandlingInstruction[] = []; public dangerousGoodsInformation: DangerousGoodsInformation[] = []; public administrativeUnitOfLogisticServiceBuyer: AdministrativeUnit; public avpList: AvpList[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TimeMeasurement { public timeMeasurementUnitCode: string; public value?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Quantity { public value?: number; public measurementUnitCode: string; public codeListVersion: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Dimension { public depth: Measurement; public height: Measurement; public width: Measurement; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ItemDataLogisticUnitInformation { public grossWeight: Measurement; public maximumStackingFactor?: number; public netWeight: Measurement; public numberOfLayers?: number; public packageLevelCode: string; public packageTypeCode: string; public tradeItemQuantity: Quantity; public tradeItemQuantityPerLayer: Quantity; public avpList: AvpList; public dimensionsOfLogisticUnit: Dimension[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ItemDataStockRequirements { public requiredStockLevel: Quantity; public requiredStockLevelValidityDateTime?: string; public stockRequirementTypeCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TransactionalPartyInRole { public partyRoleCode: string; public transactionalParty: TransactionalParty; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ItemDataTradingPartnerDependent { public countryOfOrigin: string; public minimumRemainingShelfLifeInbound: TimeMeasurement; public minimumRemainingShelfLifeOutbound: TimeMeasurement; public orderQuantityMaximum: Quantity; public orderQuantityMinimum: Quantity; public orderQuantityMultiple: Quantity; public qualityControlCode: string; public quarantinePeriod: TimeMeasurement; public tradeItemProductionLeadTime: TimeMeasurement; public tradeItemShipmentLeadTime: TimeMeasurement; public tradeItemSpecificUnitOfMeasure: string; public tradeItemSubstitutionDateTime?: string; public itemDataLogisticUnitInformation: ItemDataLogisticUnitInformation[] = []; public itemDataStockRequirements: ItemDataStockRequirements[] = []; public administrativeUnitOfReceiver: AdministrativeUnit[] = []; public avpList: AvpList; public originatingParty: TransactionalPartyInRole[] = []; public receiver: TransactionalParty; public shipper: TransactionalParty; public substituteItem: Ecom_TradeItemIdentification; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class LowerLevelTradeItem extends Ecom_TradeItemIdentification { public quantityOfLowerLevelTradeItem?: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class ItemDataNotificationLineItem extends Ecom_TradeItemIdentification { public brandName: string; public gpcCategoryCode: string; public isTheProductVariantPreferred?: boolean; public lineItemNumber?: number; public parentLineItemNumber?: number; public productVariantIdentifier: IdentifierType; public quantityOfItemTypes?: number; public quantityOfItemUnits?: number; public tradeItemDescription: string[] = []; public tradeItemUnitDescriptorCode: string; public itemDataTradingPartnerNeutral: ItemDataTradingPartnerNeutral; public itemDataTradingPartnerDependent: ItemDataTradingPartnerDependent[] = []; public lowerLevelTradeItem: LowerLevelTradeItem[] = []; public avpList: AvpList[] = []; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export enum DocumentAction { ADD = 'ADD', CHANGE_BY_REFRESH = 'CHANGE_BY_REFRESH', DELETE = 'DELETE', REJECTED = 'REJECTED', } export enum DocumentStatus { ADDITIONAL_TRANSMISSION = 'ADDITIONAL_TRANSMISSION', COPY = 'COPY', ORIGINAL = 'ORIGINAL', } export class BaseDocument { public currencyCode: string; public creationDateTime: string; public documentActionCode: DocumentAction; public documentStatusCode: DocumentStatus; public documentStructureVersion: string; public lastUpdateDateTime?: string; public revisionNumber?: number; public avpList: AvpList[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ItemDataNotificationMessage extends BaseDocument { public dataRecipient: TransactionalParty; public dataSource: TransactionalParty; public itemDataNotificationIdentification: string; public itemDataNotificationLineItem: ItemDataNotificationLineItem[] = []; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } /** @description Item Data Notification */ // @Route("/itemDataNotification", "GET") // @Api(Description="Item Data Notification") // @ApiResponse(Description="ItemDataNotification message", IsDefaultResponse=true, StatusCode=200) // @ApiResponse(Description="No Content", ResponseType="typeof(ServiceStack.IReturnVoid)", StatusCode=204) export class GetItemDataNotification implements IReturn> { public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'GetItemDataNotification'; } public getMethod() { return 'GET'; } public createResponse() { return new ResultItem(); } }