/* Options: Date: 2026-02-14 10:16:46 Version: 10.04 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stf-api-uat.data-xchange.co.za //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetItemDataNotificationByIdentifier.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* /** * Item Data Notification */ @Route(Path="/itemDataNotification/{OwnerGln}/{ItemDataNotificationIdentification}", Verbs="GET") @Api(Description="Item Data Notification") @ApiResponse(Description="ItemDataNotification data", IsDefaultResponse=true, StatusCode=200) // @ApiResponse(Description="No Content", ResponseType=IReturnVoid::class, StatusCode=204) // @ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType=ArgumentOutOfRangeException::class, StatusCode=400) open class GetItemDataNotificationByIdentifier : IReturn { /** * Owner GLN */ @ApiMember(Description="Owner GLN", ExcludeInSchema=true, ParameterType="path") open var ownerGln:String? = null /** * ItemDataNotification ID or Token */ @ApiMember(Description="ItemDataNotification ID or Token", ExcludeInSchema=true, ParameterType="path") open var itemDataNotificationIdentification:String? = null companion object { private val responseType = ItemDataNotificationMessage::class.java } override fun getResponseType(): Any? = GetItemDataNotificationByIdentifier.responseType } open class ItemDataNotificationMessage : BaseDocument() { open var dataRecipient:TransactionalParty? = null open var dataSource:TransactionalParty? = null open var itemDataNotificationIdentification:String? = null open var itemDataNotificationLineItem:ArrayList = ArrayList() } open class TransactionalParty : Ecom_PartyIdentificationType() { open var contact:ArrayList = ArrayList() open var address:Address? = null open var communicationChannel:ArrayList = ArrayList() open var financialInstitutionInformation:FinancialInstitutionInformation? = null open var dutyFeeTaxRegistration:String? = null open var entityIdentification:String? = null } open class ItemDataNotificationLineItem : Ecom_TradeItemIdentification() { open var brandName:String? = null open var gpcCategoryCode:String? = null open var isTheProductVariantPreferred:Boolean? = null open var lineItemNumber:Long? = null open var parentLineItemNumber:Long? = null open var productVariantIdentifier:IdentifierType? = null open var quantityOfItemTypes:BigDecimal? = null open var quantityOfItemUnits:BigDecimal? = null open var tradeItemDescription:ArrayList = ArrayList() open var tradeItemUnitDescriptorCode:String? = null open var itemDataTradingPartnerNeutral:ItemDataTradingPartnerNeutral? = null open var itemDataTradingPartnerDependent:ArrayList = ArrayList() open var lowerLevelTradeItem:ArrayList = ArrayList() open var avpList:ArrayList = ArrayList() } enum class DocumentAction { Add, ChangeByRefresh, Delete, Rejected, } enum class DocumentStatus { AdditionalTransmission, Copy, Original, } open class AvpList { open var code:String? = null open var value:String? = null } open class BaseDocument { open var currencyCode:String? = null open var creationDateTime:Date? = null open var documentActionCode:DocumentAction? = null open var documentStatusCode:DocumentStatus? = null open var documentStructureVersion:String? = null open var lastUpdateDateTime:Date? = null open var revisionNumber:Long? = null open var avpList:ArrayList = ArrayList() } open class Contact { open var contactTypeCode:String? = null open var personName:String? = null open var departmentName:String? = null open var jobTitle:String? = null open var responsibility:String? = null open var communicationChannel:ArrayList = ArrayList() } open class Address { open var streetAddressOne:String? = null open var streetAddressTwo:String? = null open var streetAddressThree:String? = null open var city:String? = null open var postalCode:String? = null open var provinceCode:String? = null open var countryCode:String? = null } open class FinancialInstitutionInformation { open var financialInstitutionBranchName:String? = null open var financialInstitutionName:String? = null open var financialRoutingNumber:FinancialRoutingNumber? = null open var financialAccount:FinancialAccount? = null open var swiftCode:String? = null open var exportersCode:String? = null } open class Ecom_PartyIdentificationType { open var gln:String? = null open var name:String? = null open var additionalPartyIdentification:ArrayList = ArrayList() } open class IdentifierType { open var value:String? = null open var identificationSchemeAgencyCodeCodeListVersion:String? = null open var identificationSchemeAgencyName:String? = null open var identificationSchemeName:String? = null } open class ItemDataTradingPartnerNeutral { open var cancelledDateTime:Date? = null open var discontinuedDateTime:Date? = null open var effectiveDateTime:Date? = null open var endAvailabilityDateTime:Date? = null open var maximumStackingFactor:Int? = null open var startAvailabilityDateTime:Date? = null open var tradeItemBaseUnitOfMeasure:String? = null open var tradeItemClassificationCode:ArrayList = ArrayList() open var warehouseABCClassificationCode:String? = null open var itemDataWeightAndDimension:ItemDataWeightAndDimension? = null open var handlingInstruction:ArrayList = ArrayList() open var dangerousGoodsInformation:ArrayList = ArrayList() open var administrativeUnitOfLogisticServiceBuyer:AdministrativeUnit? = null open var avpList:ArrayList = ArrayList() } open class ItemDataTradingPartnerDependent { open var countryOfOrigin:String? = null open var minimumRemainingShelfLifeInbound:TimeMeasurement? = null open var minimumRemainingShelfLifeOutbound:TimeMeasurement? = null open var orderQuantityMaximum:Quantity? = null open var orderQuantityMinimum:Quantity? = null open var orderQuantityMultiple:Quantity? = null open var qualityControlCode:String? = null open var quarantinePeriod:TimeMeasurement? = null open var tradeItemProductionLeadTime:TimeMeasurement? = null open var tradeItemShipmentLeadTime:TimeMeasurement? = null open var tradeItemSpecificUnitOfMeasure:String? = null open var tradeItemSubstitutionDateTime:Date? = null open var itemDataLogisticUnitInformation:ArrayList = ArrayList() open var itemDataStockRequirements:ArrayList = ArrayList() open var administrativeUnitOfReceiver:ArrayList = ArrayList() open var avpList:AvpList? = null open var originatingParty:ArrayList = ArrayList() open var receiver:TransactionalParty? = null open var shipper:TransactionalParty? = null open var substituteItem:Ecom_TradeItemIdentification? = null } open class LowerLevelTradeItem : Ecom_TradeItemIdentification() { open var quantityOfLowerLevelTradeItem:BigDecimal? = null } open class AdditionalTradeItemIdentification { open var value:String? = null open var code:String? = null } open class Ecom_TradeItemIdentification { open var additionalTradeItemIdentification:ArrayList = ArrayList() open var gtin:String? = null } open class AdministrativeUnit { open var typeCode:String? = null open var gln:String? = null open var internalIdentification:String? = null } @DataContract open class Identifier { @DataMember(Name="authority") @SerializedName("authority") open var authority:String? = null @DataMember(Name="text") @SerializedName("text") open var text:String? = null } open class Quantity { open var value:BigDecimal? = null open var measurementUnitCode:String? = null open var codeListVersion:String? = null } open class CommunicationChannel { open var communicationChannelCode:String? = null open var communicationChannelName:String? = null open var communicationValue:String? = null } open class FinancialRoutingNumber { open var number:String? = null open var numberTypeCode:String? = null } open class FinancialAccount { open var number:String? = null open var numberTypeCode:String? = null open var name:String? = null } open class AdditionalTradeItemClassificationCode { open var value:String? = null open var additionalTradeItemClassificationCodeListCode:String? = null open var additionalTradeItemClassificationCodeListVersion:String? = null open var codeDescription:String? = null } open class ItemDataWeightAndDimension { open var depth:Measurement? = null open var diameter:Measurement? = null open var grossWeight:Measurement? = null open var height:Measurement? = null open var netWeight:Measurement? = null open var width:Measurement? = null } open class HandlingInstruction { open var handlingInstructionCode:String? = null open var handlingInstructionText:String? = null open var printingInstructionCode:ArrayList = ArrayList() open var storageTemperature:TemperatureRange? = null open var transportTemperature:TemperatureRange? = null } open class DangerousGoodsInformation { open var dangerousGoodsDescription:String? = null open var dangerousGoodsShippingName:String? = null open var dangerousGoodsTechnicalName:String? = null open var dangerousGoodsUNIdentifier:Identifier? = null open var contact:ArrayList = ArrayList() } open class TimeMeasurement { open var timeMeasurementUnitCode:String? = null open var value:BigDecimal? = null } open class ItemDataLogisticUnitInformation { open var grossWeight:Measurement? = null open var maximumStackingFactor:Long? = null open var netWeight:Measurement? = null open var numberOfLayers:Long? = null open var packageLevelCode:String? = null open var packageTypeCode:String? = null open var tradeItemQuantity:Quantity? = null open var tradeItemQuantityPerLayer:Quantity? = null open var avpList:AvpList? = null open var dimensionsOfLogisticUnit:ArrayList = ArrayList() } open class ItemDataStockRequirements { open var requiredStockLevel:Quantity? = null open var requiredStockLevelValidityDateTime:Date? = null open var stockRequirementTypeCode:String? = null } open class TransactionalPartyInRole { open var partyRoleCode:String? = null open var transactionalParty:TransactionalParty? = null } open class Measurement { open var value:BigDecimal? = null open var codeListVersion:String? = null open var measurementUnitCode:String? = null } open class TemperatureRange { open var maximumTemperature:TemperatureMeasurement? = null open var minimumTemperature:TemperatureMeasurement? = null } open class Dimension { open var depth:Measurement? = null open var height:Measurement? = null open var width:Measurement? = null } open class TemperatureMeasurement { open var value:BigDecimal? = null open var temperatureMeasurementUnitCode:String? = null }