/* Options:
Date: 2026-02-14 10:18:04
Version: 10.04
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://stf-api-uat.data-xchange.co.za
//GlobalNamespace:
//MakePartial: True
//MakeVirtual: True
//MakeInternal: False
//MakeDataContractsExtensible: False
//AddNullableAnnotations: True
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion:
//InitializeCollections: False
//ExportValueTypes: False
IncludeTypes: GetItemDataNotificationByGtin.*
//ExcludeTypes:
//AddNamespaces:
//AddDefaultXmlNamespace: http://schemas.servicestack.net/types
*/
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using DX.STF.Models.Dto.GS1;
using DX.STF.Application.ClientApi.Messages.ItemDataNotification;
namespace DX.STF.Application.ClientApi.Messages.ItemDataNotification
{
///
///Item Data Notification
///
[Route("/itemDataNotification/gtin/{Gtin}", "GET")]
[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)]
public partial class GetItemDataNotificationByGtin
: IReturn
{
///
///Global Trade Item Number (GTIN)
///
[ApiMember(Description="Global Trade Item Number (GTIN)", ExcludeInSchema=true, ParameterType="path")]
public virtual string Gtin { get; set; }
}
}
namespace DX.STF.Models.Dto.GS1
{
public partial class AdditionalTradeItemClassificationCode
{
public virtual string Value { get; set; }
public virtual string AdditionalTradeItemClassificationCodeListCode { get; set; }
public virtual string AdditionalTradeItemClassificationCodeListVersion { get; set; }
public virtual string CodeDescription { get; set; }
}
public partial class AdditionalTradeItemIdentification
{
public virtual string Value { get; set; }
public virtual string Code { get; set; }
}
public partial class Address
{
public virtual string StreetAddressOne { get; set; }
public virtual string StreetAddressTwo { get; set; }
public virtual string StreetAddressThree { get; set; }
public virtual string City { get; set; }
public virtual string PostalCode { get; set; }
public virtual string ProvinceCode { get; set; }
public virtual string CountryCode { get; set; }
}
public partial class AdministrativeUnit
{
public virtual string TypeCode { get; set; }
public virtual string Gln { get; set; }
public virtual string InternalIdentification { get; set; }
}
public partial class AvpList
{
public virtual string Code { get; set; }
public virtual string Value { get; set; }
}
public partial class BaseDocument
{
public virtual string CurrencyCode { get; set; }
public virtual DateTime CreationDateTime { get; set; }
public virtual DocumentAction DocumentActionCode { get; set; }
public virtual DocumentStatus DocumentStatusCode { get; set; }
public virtual string DocumentStructureVersion { get; set; }
public virtual DateTime? LastUpdateDateTime { get; set; }
public virtual long? RevisionNumber { get; set; }
public virtual List AvpList { get; set; } = [];
}
public partial class CommunicationChannel
{
public virtual string CommunicationChannelCode { get; set; }
public virtual string CommunicationChannelName { get; set; }
public virtual string CommunicationValue { get; set; }
}
public partial class Contact
{
public virtual string ContactTypeCode { get; set; }
public virtual string PersonName { get; set; }
public virtual string DepartmentName { get; set; }
public virtual string JobTitle { get; set; }
public virtual string Responsibility { get; set; }
public virtual List CommunicationChannel { get; set; } = [];
}
public partial class DangerousGoodsInformation
{
public virtual string DangerousGoodsDescription { get; set; }
public virtual string DangerousGoodsShippingName { get; set; }
public virtual string DangerousGoodsTechnicalName { get; set; }
public virtual Identifier dangerousGoodsUNIdentifier { get; set; }
public virtual List Contact { get; set; } = [];
}
public partial class Dimension
{
public virtual Measurement Depth { get; set; }
public virtual Measurement Height { get; set; }
public virtual Measurement Width { get; set; }
}
public enum DocumentAction
{
ADD,
CHANGE_BY_REFRESH,
DELETE,
REJECTED,
}
public enum DocumentStatus
{
ADDITIONAL_TRANSMISSION,
COPY,
ORIGINAL,
}
public partial class Ecom_PartyIdentificationType
{
public virtual string Gln { get; set; }
public virtual string Name { get; set; }
public virtual List AdditionalPartyIdentification { get; set; } = [];
}
public partial class Ecom_TradeItemIdentification
{
public virtual List AdditionalTradeItemIdentification { get; set; } = [];
public virtual string Gtin { get; set; }
}
public partial class FinancialAccount
{
public virtual string Number { get; set; }
public virtual string NumberTypeCode { get; set; }
public virtual string Name { get; set; }
}
public partial class FinancialInstitutionInformation
{
public virtual string FinancialInstitutionBranchName { get; set; }
public virtual string FinancialInstitutionName { get; set; }
public virtual FinancialRoutingNumber FinancialRoutingNumber { get; set; }
public virtual FinancialAccount FinancialAccount { get; set; }
public virtual string SwiftCode { get; set; }
public virtual string ExportersCode { get; set; }
}
public partial class FinancialRoutingNumber
{
public virtual string Number { get; set; }
public virtual string NumberTypeCode { get; set; }
}
public partial class HandlingInstruction
{
public virtual string HandlingInstructionCode { get; set; }
public virtual string HandlingInstructionText { get; set; }
public virtual List PrintingInstructionCode { get; set; } = [];
public virtual TemperatureRange storageTemperature { get; set; }
public virtual TemperatureRange TransportTemperature { get; set; }
}
[DataContract]
public partial class Identifier
{
[DataMember(Name="authority")]
public virtual string Authority { get; set; }
[DataMember(Name="text")]
public virtual string Text { get; set; }
}
public partial class IdentifierType
{
public virtual string Value { get; set; }
public virtual string IdentificationSchemeAgencyCodeCodeListVersion { get; set; }
public virtual string IdentificationSchemeAgencyName { get; set; }
public virtual string IdentificationSchemeName { get; set; }
}
public partial class ItemDataLogisticUnitInformation
{
public virtual Measurement grossWeight { get; set; }
public virtual long? MaximumStackingFactor { get; set; }
public virtual Measurement NetWeight { get; set; }
public virtual long? NumberOfLayers { get; set; }
public virtual string PackageLevelCode { get; set; }
public virtual string PackageTypeCode { get; set; }
public virtual Quantity TradeItemQuantity { get; set; }
public virtual Quantity TradeItemQuantityPerLayer { get; set; }
public virtual AvpList AvpList { get; set; }
public virtual List dimensionsOfLogisticUnit { get; set; } = [];
}
public partial class ItemDataNotificationLineItem
: Ecom_TradeItemIdentification
{
public virtual string BrandName { get; set; }
public virtual string GpcCategoryCode { get; set; }
public virtual bool? IsTheProductVariantPreferred { get; set; }
public virtual long? LineItemNumber { get; set; }
public virtual long? ParentLineItemNumber { get; set; }
public virtual IdentifierType ProductVariantIdentifier { get; set; }
public virtual decimal? QuantityOfItemTypes { get; set; }
public virtual decimal? QuantityOfItemUnits { get; set; }
public virtual List TradeItemDescription { get; set; } = [];
public virtual string TradeItemUnitDescriptorCode { get; set; }
public virtual ItemDataTradingPartnerNeutral ItemDataTradingPartnerNeutral { get; set; }
public virtual List ItemDataTradingPartnerDependent { get; set; } = [];
public virtual List LowerLevelTradeItem { get; set; } = [];
public virtual List AvpList { get; set; } = [];
}
public partial class ItemDataNotificationMessage
: BaseDocument
{
public virtual TransactionalParty DataRecipient { get; set; }
public virtual TransactionalParty DataSource { get; set; }
public virtual string ItemDataNotificationIdentification { get; set; }
public virtual List ItemDataNotificationLineItem { get; set; } = [];
}
public partial class ItemDataStockRequirements
{
public virtual Quantity requiredStockLevel { get; set; }
public virtual DateTime? requiredStockLevelValidityDateTime { get; set; }
public virtual string StockRequirementTypeCode { get; set; }
}
public partial class ItemDataTradingPartnerDependent
{
public virtual string CountryOfOrigin { get; set; }
public virtual TimeMeasurement MinimumRemainingShelfLifeInbound { get; set; }
public virtual TimeMeasurement MinimumRemainingShelfLifeOutbound { get; set; }
public virtual Quantity OrderQuantityMaximum { get; set; }
public virtual Quantity OrderQuantityMinimum { get; set; }
public virtual Quantity OrderQuantityMultiple { get; set; }
public virtual string QualityControlCode { get; set; }
public virtual TimeMeasurement QuarantinePeriod { get; set; }
public virtual TimeMeasurement TradeItemProductionLeadTime { get; set; }
public virtual TimeMeasurement TradeItemShipmentLeadTime { get; set; }
public virtual string TradeItemSpecificUnitOfMeasure { get; set; }
public virtual DateTime? TradeItemSubstitutionDateTime { get; set; }
public virtual List ItemDataLogisticUnitInformation { get; set; } = [];
public virtual List ItemDataStockRequirements { get; set; } = [];
public virtual List AdministrativeUnitOfReceiver { get; set; } = [];
public virtual AvpList AvpList { get; set; }
public virtual List originatingParty { get; set; } = [];
public virtual TransactionalParty Receiver { get; set; }
public virtual TransactionalParty Shipper { get; set; }
public virtual Ecom_TradeItemIdentification SubstituteItem { get; set; }
}
public partial class ItemDataTradingPartnerNeutral
{
public virtual DateTime? CancelledDateTime { get; set; }
public virtual DateTime? DiscontinuedDateTime { get; set; }
public virtual DateTime EffectiveDateTime { get; set; }
public virtual DateTime? EndAvailabilityDateTime { get; set; }
public virtual int? MaximumStackingFactor { get; set; }
public virtual DateTime StartAvailabilityDateTime { get; set; }
public virtual string TradeItemBaseUnitOfMeasure { get; set; }
public virtual List TradeItemClassificationCode { get; set; } = [];
public virtual string WarehouseABCClassificationCode { get; set; }
public virtual ItemDataWeightAndDimension ItemDataWeightAndDimension { get; set; }
public virtual List HandlingInstruction { get; set; } = [];
public virtual List DangerousGoodsInformation { get; set; } = [];
public virtual AdministrativeUnit AdministrativeUnitOfLogisticServiceBuyer { get; set; }
public virtual List AvpList { get; set; } = [];
}
public partial class ItemDataWeightAndDimension
{
public virtual Measurement Depth { get; set; }
public virtual Measurement Diameter { get; set; }
public virtual Measurement GrossWeight { get; set; }
public virtual Measurement height { get; set; }
public virtual Measurement NetWeight { get; set; }
public virtual Measurement Width { get; set; }
}
public partial class LowerLevelTradeItem
: Ecom_TradeItemIdentification
{
public virtual decimal? QuantityOfLowerLevelTradeItem { get; set; }
}
public partial class Measurement
{
public virtual decimal? Value { get; set; }
public virtual string CodeListVersion { get; set; }
public virtual string MeasurementUnitCode { get; set; }
}
public partial class Quantity
{
public virtual decimal? Value { get; set; }
public virtual string MeasurementUnitCode { get; set; }
public virtual string CodeListVersion { get; set; }
}
public partial class TemperatureMeasurement
{
public virtual decimal? Value { get; set; }
public virtual string TemperatureMeasurementUnitCode { get; set; }
}
public partial class TemperatureRange
{
public virtual TemperatureMeasurement MaximumTemperature { get; set; }
public virtual TemperatureMeasurement MinimumTemperature { get; set; }
}
public partial class TimeMeasurement
{
public virtual string TimeMeasurementUnitCode { get; set; }
public virtual decimal? Value { get; set; }
}
public partial class TransactionalParty
: Ecom_PartyIdentificationType
{
public virtual List Contact { get; set; } = [];
public virtual Address Address { get; set; }
public virtual List CommunicationChannel { get; set; } = [];
public virtual FinancialInstitutionInformation FinancialInstitutionInformation { get; set; }
public virtual string DutyFeeTaxRegistration { get; set; }
public virtual string EntityIdentification { get; set; }
}
public partial class TransactionalPartyInRole
{
public virtual string PartyRoleCode { get; set; }
public virtual TransactionalParty TransactionalParty { get; set; }
}
}