(* Options: Date: 2026-02-14 10:10:08 Version: 10.04 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stf-api-uat.data-xchange.co.za //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: GetInvoice.* //ExcludeTypes: //InitializeCollections: False //AddNamespaces: *) namespace DX.Framework.Core.Domain open System open System.IO open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations [] type IDocument = interface end [] type IHaveToken = abstract Token:Guid with get,set [] [] type DocumentIdentification() = [] member val Identifier:String = null with get,set [] member val Type:String = null with get,set [] member val CreationDateAndTime:DateTime = new DateTime() with get,set [] [] type Identifier() = [] member val Authority:String = null with get,set [] member val Text:String = null with get,set [] [] type ContactInformation() = class end [] [] type Partner() = [] member val Identifier:Identifier = null with get,set [] member val ContactInformation:ResizeArray = null with get,set [] [] type Header() = [] member val DocumentIdentification:DocumentIdentification = null with get,set [] member val Sender:Partner = null with get,set [] member val Receiver:Partner = null with get,set type DocumentAction = | ADD = 0 | CHANGE_BY_REFRESH = 1 | DELETE = 2 | REJECTED = 3 type DocumentStatus = | ADDITIONAL_TRANSMISSION = 0 | COPY = 1 | ORIGINAL = 2 [] type AvpList() = member val Code:String = null with get,set member val Value:String = null with get,set [] type BaseDocument() = member val CurrencyCode:String = null with get,set member val CreationDateTime:DateTime = new DateTime() with get,set member val DocumentActionCode:DocumentAction = new DocumentAction() with get,set member val DocumentStatusCode:DocumentStatus = new DocumentStatus() with get,set member val DocumentStructureVersion:String = null with get,set member val LastUpdateDateTime:Nullable = new Nullable() with get,set member val RevisionNumber:Nullable = new Nullable() with get,set member val AvpList:ResizeArray = null with get,set [] type Ecom_PartyIdentificationType() = member val Gln:String = null with get,set member val Name:String = null with get,set member val AdditionalPartyIdentification:ResizeArray = null with get,set [] type CommunicationChannel() = member val CommunicationChannelCode:String = null with get,set member val CommunicationChannelName:String = null with get,set member val CommunicationValue:String = null with get,set [] type Contact() = member val ContactTypeCode:String = null with get,set member val PersonName:String = null with get,set member val DepartmentName:String = null with get,set member val JobTitle:String = null with get,set member val Responsibility:String = null with get,set member val CommunicationChannel:ResizeArray = null with get,set [] type Address() = member val StreetAddressOne:String = null with get,set member val StreetAddressTwo:String = null with get,set member val StreetAddressThree:String = null with get,set member val City:String = null with get,set member val PostalCode:String = null with get,set member val ProvinceCode:String = null with get,set member val CountryCode:String = null with get,set [] type FinancialRoutingNumber() = member val Number:String = null with get,set member val NumberTypeCode:String = null with get,set [] type FinancialAccount() = member val Number:String = null with get,set member val NumberTypeCode:String = null with get,set member val Name:String = null with get,set [] type FinancialInstitutionInformation() = member val FinancialInstitutionBranchName:String = null with get,set member val FinancialInstitutionName:String = null with get,set member val FinancialRoutingNumber:FinancialRoutingNumber = null with get,set member val FinancialAccount:FinancialAccount = null with get,set member val SwiftCode:String = null with get,set member val ExportersCode:String = null with get,set [] type TransactionalParty() = inherit Ecom_PartyIdentificationType() member val Contact:ResizeArray = null with get,set member val Address:Address = null with get,set member val CommunicationChannel:ResizeArray = null with get,set member val FinancialInstitutionInformation:FinancialInstitutionInformation = null with get,set member val DutyFeeTaxRegistration:String = null with get,set member val EntityIdentification:String = null with get,set [] type Invoice() = member val CreationDate:Nullable = new Nullable() with get,set member val RevisionNumber:Nullable = new Nullable() with get,set member val EntityIdentification:String = null with get,set [] type DocumentReference() = member val CreationDateTime:Nullable = new Nullable() with get,set member val RevisionNumber:Nullable = new Nullable() with get,set member val LineItemNumber:Nullable = new Nullable() with get,set member val EntityIdentification:String = null with get,set [] type ShipmentTransportationInformation() = member val Carrier:TransactionalParty = null with get,set member val FreightForwarder:TransactionalParty = null with get,set [] type Quantity() = member val Value:Nullable = new Nullable() with get,set member val MeasurementUnitCode:String = null with get,set member val CodeListVersion:String = null with get,set [] type TransactionalItem() = member val MeasurementUnitCode:String = null with get,set member val MeasurementType:String = null with get,set member val MeasurementValue:String = null with get,set [] type SerialNumberRange() = member val MaximumValue:String = null with get,set member val MinimumValue:String = null with get,set [] type TransactionalItemDimension() = member val MeasurementUnitCode:String = null with get,set member val Depth:String = null with get,set member val Height:String = null with get,set member val Width:String = null with get,set [] type TransactionalItemLogisticUnitInformation() = member val NumberOfLayers:Nullable = new Nullable() with get,set member val NumberOfUnitsPerLayer:Nullable = new Nullable() with get,set member val NumberOfUnitsPerPallet:Nullable = new Nullable() with get,set member val PackagingTerms:String = null with get,set member val PackageTypeCode:String = null with get,set member val MaximumStackingFactor:Nullable = new Nullable() with get,set member val ReturnablePackageTransportCostPayment:String = null with get,set member val DimensionsOfLogisticUnit:ResizeArray = null with get,set [] type TransactionalItemDataCarrierAndIdentification() = member val Gs1TransactionalItemIdentificationKey:String = null with get,set member val DataCarrier:String = null with get,set [] type TradeItemWaste() = member val WasteIdentification:String = null with get,set member val TypeOfWaste:ResizeArray = null with get,set [] type TransactionalItemOrganicInformation() = member val IsTradeItemOrganic:Nullable = new Nullable() with get,set member val OrganicCertification:String = null with get,set [] type TransactionalItemData() = member val AvailableForSaleDate:Nullable = new Nullable() with get,set member val BatchNumber:String = null with get,set member val BestBeforeDate:Nullable = new Nullable() with get,set member val CountryOfOrigin:String = null with get,set member val ItemExpirationDate:Nullable = new Nullable() with get,set member val LotNumber:String = null with get,set member val PackagingDate:Nullable = new Nullable() with get,set member val ProductionDate:Nullable = new Nullable() with get,set member val ProductQualityIndication:String = null with get,set member val SellByDate:Nullable = new Nullable() with get,set member val SerialNumber:ResizeArray = null with get,set member val ShelfLife:String = null with get,set member val TradeItemQuantity:Nullable = new Nullable() with get,set member val ItemInContactWithFoodProduct:Nullable = new Nullable() with get,set member val TransactionalItemWeight:ResizeArray = null with get,set member val TransactionalItemVolume:ResizeArray = null with get,set member val SerialNumberRange:ResizeArray = null with get,set member val TransactionalItemDimensions:ResizeArray = null with get,set member val TransactionalItemLogisticUnitInformation:TransactionalItemLogisticUnitInformation = null with get,set member val TransactionalItemDataCarrierAndIdentification:TransactionalItemDataCarrierAndIdentification = null with get,set member val TradeItemWaste:ResizeArray = null with get,set member val TransactionalItemOrganicInformation:TransactionalItemOrganicInformation = null with get,set member val AvpList:ResizeArray = null with get,set [] type Colour() = member val ColourCode:String = null with get,set member val ColourDescription:String = null with get,set [] type Size() = member val DescriptiveSize:String = null with get,set member val SizeCode:String = null with get,set [] type TradeItemClassification() = member val GpcCategoryCode:String = null with get,set member val AdditionalTradeItemClassificationCode:ResizeArray = null with get,set member val GpcCategoryName:String = null with get,set member val GpcAttribute:ResizeArray = null with get,set [] type TransactionalTradeItem() = member val Gtin:String = null with get,set member val AdditionalTradeItemIdentification:ResizeArray = null with get,set member val TradeItemQuantity:Nullable = new Nullable() with get,set member val TradeItemDescription:String = null with get,set member val ProductVariantIdentifier:String = null with get,set member val ItemTypeCode:String = null with get,set member val TradeItemDataOwner:String = null with get,set member val ButterFatReference:String = null with get,set member val TransactionalItemData:ResizeArray = null with get,set member val Colour:ResizeArray = null with get,set member val Size:Size = null with get,set member val TradeItemClassification:TradeItemClassification = null with get,set member val AvpList:ResizeArray = null with get,set [] type TaxInformation() = member val TaxPercentage:Nullable = new Nullable() with get,set member val TaxAmount:Nullable = new Nullable() with get,set [] type AllowanceCharge() = member val AllowanceChargeAmount:Nullable = new Nullable() with get,set member val AllowanceChargePercentage:Nullable = new Nullable() with get,set member val AllowanceChargeType:String = null with get,set member val AllowanceOrChargeType:String = null with get,set member val AmountPerUnit:Nullable = new Nullable() with get,set member val BaseAmount:Nullable = new Nullable() with get,set member val BaseNumberOfUnits:String = null with get,set member val BracketIdentifier:String = null with get,set member val EffectiveDateType:Nullable = new Nullable() with get,set member val SequenceNumber:String = null with get,set member val SettlementType:String = null with get,set member val SpecialServiceType:String = null with get,set member val AllowanceChargeDescription:String = null with get,set [] type InvoiceAllowanceCharge() = member val AllowanceCharge:AllowanceCharge = null with get,set member val LeviedDutyFeeTax:TaxInformation = null with get,set [] type Extension() = class end [] type InvoiceLineItem() = member val LineNumber:Nullable = new Nullable() with get,set member val ParentLineItemNumber:String = null with get,set member val InvoicedQuantity:Quantity = null with get,set member val TransactionalTradeItem:TransactionalTradeItem = null with get,set member val ItemPriceBaseQuantity:Nullable = new Nullable() with get,set member val RetailPriceExcludingExcise:Nullable = new Nullable() with get,set member val RecommendedRetailPrice:Nullable = new Nullable() with get,set member val TaxInformation:TaxInformation = null with get,set member val AmountExclusiveAllowancesCharges:Nullable = new Nullable() with get,set member val AmountInclusiveAllowancesCharges:Nullable = new Nullable() with get,set member val ItemPriceExclusiveAllowancesCharges:Nullable = new Nullable() with get,set member val ItemPriceInclusiveAllowancesCharges:Nullable = new Nullable() with get,set member val TradeAgreement:String = null with get,set member val DeliveryNote:String = null with get,set member val PromotionalDeal:DocumentReference = null with get,set member val InvoiceAllowanceCharge:ResizeArray = null with get,set member val ExtendedProperties:Extension = null with get,set [] type InvoiceTotals() = member val BaseAmount:Nullable = new Nullable() with get,set member val PrepaidAmount:Nullable = new Nullable() with get,set member val PrepaidAmountDate:Nullable = new Nullable() with get,set member val TotalAmountInvoiceAllowancesCharges:Nullable = new Nullable() with get,set member val TotalLineAmountInclusiveAllowancesCharges:Nullable = new Nullable() with get,set member val TotalTaxAmount:Nullable = new Nullable() with get,set member val TotalInvoiceAmount:Nullable = new Nullable() with get,set member val TotalInvoiceAmountPayable:Nullable = new Nullable() with get,set [] type InvoiceClass() = inherit BaseDocument() member val CountryOfSupplyOfGoods:String = null with get,set member val Buyer:TransactionalParty = null with get,set member val Seller:TransactionalParty = null with get,set member val Payee:TransactionalParty = null with get,set member val Payer:TransactionalParty = null with get,set member val ShipFrom:TransactionalParty = null with get,set member val ShipTo:TransactionalParty = null with get,set member val UltimateConsignee:TransactionalParty = null with get,set member val SupplierAccountReceivable:String = null with get,set member val InvoiceIdentification:String = null with get,set member val Invoice:Invoice = null with get,set member val SalesOrder:DocumentReference = null with get,set member val PurchaseOrder:DocumentReference = null with get,set member val DeliveryNote:DocumentReference = null with get,set member val TradeAgreement:DocumentReference = null with get,set member val ShipmentTransportationInformation:ShipmentTransportationInformation = null with get,set member val PaymentTerms:String = null with get,set member val InvoiceLineItem:ResizeArray = null with get,set member val InvoiceTotals:InvoiceTotals = null with get,set [] type InvoiceMessage() = member val Header:Header = null with get,set member val Invoice:InvoiceClass = null with get,set [] type ResultItem() = member val Token:Guid = new Guid() with get,set member val Item:T = null with get,set /// ///Invoice /// [] [] [] [, StatusCode=204)>] [] type GetInvoice() = interface IReturn>