DX STF Client API

<back to all web services

GetInvoice

Invoice Requests

Invoice

Requires Authentication
The following routes are available for this service:
GET/api/invoiceGet un-acknowledged invoice, oldest first
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
import com.google.gson.annotations.*;
import com.google.gson.reflect.*;

public class dtos
{

    /**
    * Invoice
    */
    @Api(Description="Invoice")
    @ApiResponse(Description="Invoice message", IsDefaultResponse=true, StatusCode=200)
    // @ApiResponse(Description="No Content", ResponseType=IReturnVoid.class, StatusCode=204)
    public static class GetInvoice
    {
        
    }

    public static class ResultItem<T> implements IDocument
    {
        public UUID token = null;
        public ClaimMessage item = null;
        
        public UUID getToken() { return token; }
        public ResultItem<T> setToken(UUID value) { this.token = value; return this; }
        public ClaimMessage getItem() { return item; }
        public ResultItem<T> setItem(ClaimMessage value) { this.item = value; return this; }
    }

    public static class ClaimMessage
    {
        public Header header = null;
        public ClaimNotification claimNotification = null;
        
        public Header getHeader() { return header; }
        public ClaimMessage setHeader(Header value) { this.header = value; return this; }
        public ClaimNotification getClaimNotification() { return claimNotification; }
        public ClaimMessage setClaimNotification(ClaimNotification value) { this.claimNotification = value; return this; }
    }

    @DataContract
    public static class Header
    {
        @DataMember(Name="documentIdentification")
        @SerializedName("documentIdentification")
        public DocumentIdentification documentIdentification = null;

        @DataMember(Name="sender")
        @SerializedName("sender")
        public Partner sender = null;

        @DataMember(Name="receiver")
        @SerializedName("receiver")
        public Partner receiver = null;
        
        public DocumentIdentification getDocumentIdentification() { return documentIdentification; }
        public Header setDocumentIdentification(DocumentIdentification value) { this.documentIdentification = value; return this; }
        public Partner getSender() { return sender; }
        public Header setSender(Partner value) { this.sender = value; return this; }
        public Partner getReceiver() { return receiver; }
        public Header setReceiver(Partner value) { this.receiver = value; return this; }
    }

    @DataContract
    public static class DocumentIdentification
    {
        @DataMember(Name="identifier")
        @SerializedName("identifier")
        public String identifier = null;

        @DataMember(Name="type")
        @SerializedName("type")
        public String type = null;

        @DataMember(Name="creationDateAndTime")
        @SerializedName("creationDateAndTime")
        public Date creationDateAndTime = null;
        
        public String getIdentifier() { return identifier; }
        public DocumentIdentification setIdentifier(String value) { this.identifier = value; return this; }
        public String getType() { return type; }
        public DocumentIdentification setType(String value) { this.type = value; return this; }
        public Date getCreationDateAndTime() { return creationDateAndTime; }
        public DocumentIdentification setCreationDateAndTime(Date value) { this.creationDateAndTime = value; return this; }
    }

    @DataContract
    public static class Partner
    {
        @DataMember(Name="identifier")
        @SerializedName("identifier")
        public Identifier identifier = null;

        @DataMember(Name="contactInformation")
        @SerializedName("contactInformation")
        public ArrayList<ContactInformation> contactInformation = new ArrayList<ContactInformation>();
        
        public Identifier getIdentifier() { return identifier; }
        public Partner setIdentifier(Identifier value) { this.identifier = value; return this; }
        public ArrayList<ContactInformation> getContactInformation() { return contactInformation; }
        public Partner setContactInformation(ArrayList<ContactInformation> value) { this.contactInformation = value; return this; }
    }

    @DataContract
    public static class Identifier
    {
        @DataMember(Name="authority")
        @SerializedName("authority")
        public String authority = null;

        @DataMember(Name="text")
        @SerializedName("text")
        public String text = null;
        
        public String getAuthority() { return authority; }
        public Identifier setAuthority(String value) { this.authority = value; return this; }
        public String getText() { return text; }
        public Identifier setText(String value) { this.text = value; return this; }
    }

    @DataContract
    public static class ContactInformation
    {
        
    }

    public static class ClaimNotification extends BaseDocument
    {
        public String claimsNotificationTypeCode = null;
        public Boolean isManualProcessNeededForClaimsResolution = null;
        public Boolean isSupplementalMessageBeingSent = null;
        public String supplementalMessageDescription = null;
        public String claimsNotificationIdentification = null;
        public TransactionalParty buyer = null;
        public TransactionalParty remitTo = null;
        public TransactionalParty seller = null;
        public BillOfLading billOfLading = null;
        public DocumentReference claimsNotification = null;
        public DocumentReference dispatchAdvice = null;
        public DocumentReference purchaseOrder = null;
        public DocumentReference invoice = null;
        public ArrayList<ClaimsNotificationDiscrepancyInformation> claimsNotificationDiscrepancyInformation = new ArrayList<ClaimsNotificationDiscrepancyInformation>();
        public ClaimExtension extension = null;
        
        public String getClaimsNotificationTypeCode() { return claimsNotificationTypeCode; }
        public ClaimNotification setClaimsNotificationTypeCode(String value) { this.claimsNotificationTypeCode = value; return this; }
        public Boolean getIsManualProcessNeededForClaimsResolution() { return isManualProcessNeededForClaimsResolution; }
        public ClaimNotification setIsManualProcessNeededForClaimsResolution(Boolean value) { this.isManualProcessNeededForClaimsResolution = value; return this; }
        public Boolean getIsSupplementalMessageBeingSent() { return isSupplementalMessageBeingSent; }
        public ClaimNotification setIsSupplementalMessageBeingSent(Boolean value) { this.isSupplementalMessageBeingSent = value; return this; }
        public String getSupplementalMessageDescription() { return supplementalMessageDescription; }
        public ClaimNotification setSupplementalMessageDescription(String value) { this.supplementalMessageDescription = value; return this; }
        public String getClaimsNotificationIdentification() { return claimsNotificationIdentification; }
        public ClaimNotification setClaimsNotificationIdentification(String value) { this.claimsNotificationIdentification = value; return this; }
        public TransactionalParty getBuyer() { return buyer; }
        public ClaimNotification setBuyer(TransactionalParty value) { this.buyer = value; return this; }
        public TransactionalParty getRemitTo() { return remitTo; }
        public ClaimNotification setRemitTo(TransactionalParty value) { this.remitTo = value; return this; }
        public TransactionalParty getSeller() { return seller; }
        public ClaimNotification setSeller(TransactionalParty value) { this.seller = value; return this; }
        public BillOfLading getBillOfLading() { return billOfLading; }
        public ClaimNotification setBillOfLading(BillOfLading value) { this.billOfLading = value; return this; }
        public DocumentReference getClaimsNotification() { return claimsNotification; }
        public ClaimNotification setClaimsNotification(DocumentReference value) { this.claimsNotification = value; return this; }
        public DocumentReference getDispatchAdvice() { return dispatchAdvice; }
        public ClaimNotification setDispatchAdvice(DocumentReference value) { this.dispatchAdvice = value; return this; }
        public DocumentReference getPurchaseOrder() { return purchaseOrder; }
        public ClaimNotification setPurchaseOrder(DocumentReference value) { this.purchaseOrder = value; return this; }
        public DocumentReference getInvoice() { return invoice; }
        public ClaimNotification setInvoice(DocumentReference value) { this.invoice = value; return this; }
        public ArrayList<ClaimsNotificationDiscrepancyInformation> getClaimsNotificationDiscrepancyInformation() { return claimsNotificationDiscrepancyInformation; }
        public ClaimNotification setClaimsNotificationDiscrepancyInformation(ArrayList<ClaimsNotificationDiscrepancyInformation> value) { this.claimsNotificationDiscrepancyInformation = value; return this; }
        public ClaimExtension getExtension() { return extension; }
        public ClaimNotification setExtension(ClaimExtension value) { this.extension = value; return this; }
    }

    public static class BaseDocument
    {
        public String currencyCode = null;
        public Date creationDateTime = null;
        public DocumentAction documentActionCode = null;
        public DocumentStatus documentStatusCode = null;
        public String documentStructureVersion = null;
        public Date lastUpdateDateTime = null;
        public Long revisionNumber = null;
        public ArrayList<AvpList> avpList = new ArrayList<AvpList>();
        
        public String getCurrencyCode() { return currencyCode; }
        public BaseDocument setCurrencyCode(String value) { this.currencyCode = value; return this; }
        public Date getCreationDateTime() { return creationDateTime; }
        public BaseDocument setCreationDateTime(Date value) { this.creationDateTime = value; return this; }
        public DocumentAction getDocumentActionCode() { return documentActionCode; }
        public BaseDocument setDocumentActionCode(DocumentAction value) { this.documentActionCode = value; return this; }
        public DocumentStatus getDocumentStatusCode() { return documentStatusCode; }
        public BaseDocument setDocumentStatusCode(DocumentStatus value) { this.documentStatusCode = value; return this; }
        public String getDocumentStructureVersion() { return documentStructureVersion; }
        public BaseDocument setDocumentStructureVersion(String value) { this.documentStructureVersion = value; return this; }
        public Date getLastUpdateDateTime() { return lastUpdateDateTime; }
        public BaseDocument setLastUpdateDateTime(Date value) { this.lastUpdateDateTime = value; return this; }
        public Long getRevisionNumber() { return revisionNumber; }
        public BaseDocument setRevisionNumber(Long value) { this.revisionNumber = value; return this; }
        public ArrayList<AvpList> getAvpList() { return avpList; }
        public BaseDocument setAvpList(ArrayList<AvpList> value) { this.avpList = value; return this; }
    }

    public static enum DocumentAction
    {
        Add,
        ChangeByRefresh,
        Delete,
        Rejected;
    }

    public static enum DocumentStatus
    {
        AdditionalTransmission,
        Copy,
        Original;
    }

    public static class AvpList
    {
        public String code = null;
        public String value = null;
        
        public String getCode() { return code; }
        public AvpList setCode(String value) { this.code = value; return this; }
        public String getValue() { return value; }
        public AvpList setValue(String value) { this.value = value; return this; }
    }

    public static class TransactionalParty extends Ecom_PartyIdentificationType
    {
        public ArrayList<Contact> contact = new ArrayList<Contact>();
        public Address address = null;
        public ArrayList<AvpList> communicationChannel = new ArrayList<AvpList>();
        public FinancialInstitutionInformation financialInstitutionInformation = null;
        public String dutyFeeTaxRegistration = null;
        public String entityIdentification = null;
        
        public ArrayList<Contact> getContact() { return contact; }
        public TransactionalParty setContact(ArrayList<Contact> value) { this.contact = value; return this; }
        public Address getAddress() { return address; }
        public TransactionalParty setAddress(Address value) { this.address = value; return this; }
        public ArrayList<AvpList> getCommunicationChannel() { return communicationChannel; }
        public TransactionalParty setCommunicationChannel(ArrayList<AvpList> value) { this.communicationChannel = value; return this; }
        public FinancialInstitutionInformation getFinancialInstitutionInformation() { return financialInstitutionInformation; }
        public TransactionalParty setFinancialInstitutionInformation(FinancialInstitutionInformation value) { this.financialInstitutionInformation = value; return this; }
        public String getDutyFeeTaxRegistration() { return dutyFeeTaxRegistration; }
        public TransactionalParty setDutyFeeTaxRegistration(String value) { this.dutyFeeTaxRegistration = value; return this; }
        public String getEntityIdentification() { return entityIdentification; }
        public TransactionalParty setEntityIdentification(String value) { this.entityIdentification = value; return this; }
    }

    public static class Ecom_PartyIdentificationType
    {
        public String gln = null;
        public String name = null;
        public ArrayList<AvpList> additionalPartyIdentification = new ArrayList<AvpList>();
        
        public String getGln() { return gln; }
        public Ecom_PartyIdentificationType setGln(String value) { this.gln = value; return this; }
        public String getName() { return name; }
        public Ecom_PartyIdentificationType setName(String value) { this.name = value; return this; }
        public ArrayList<AvpList> getAdditionalPartyIdentification() { return additionalPartyIdentification; }
        public Ecom_PartyIdentificationType setAdditionalPartyIdentification(ArrayList<AvpList> value) { this.additionalPartyIdentification = value; return this; }
    }

    public static class Contact
    {
        public String contactTypeCode = null;
        public String personName = null;
        public String departmentName = null;
        public String jobTitle = null;
        public String responsibility = null;
        public ArrayList<CommunicationChannel> communicationChannel = new ArrayList<CommunicationChannel>();
        
        public String getContactTypeCode() { return contactTypeCode; }
        public Contact setContactTypeCode(String value) { this.contactTypeCode = value; return this; }
        public String getPersonName() { return personName; }
        public Contact setPersonName(String value) { this.personName = value; return this; }
        public String getDepartmentName() { return departmentName; }
        public Contact setDepartmentName(String value) { this.departmentName = value; return this; }
        public String getJobTitle() { return jobTitle; }
        public Contact setJobTitle(String value) { this.jobTitle = value; return this; }
        public String getResponsibility() { return responsibility; }
        public Contact setResponsibility(String value) { this.responsibility = value; return this; }
        public ArrayList<CommunicationChannel> getCommunicationChannel() { return communicationChannel; }
        public Contact setCommunicationChannel(ArrayList<CommunicationChannel> value) { this.communicationChannel = value; return this; }
    }

    public static class CommunicationChannel
    {
        public String communicationChannelCode = null;
        public String communicationChannelName = null;
        public String communicationValue = null;
        
        public String getCommunicationChannelCode() { return communicationChannelCode; }
        public CommunicationChannel setCommunicationChannelCode(String value) { this.communicationChannelCode = value; return this; }
        public String getCommunicationChannelName() { return communicationChannelName; }
        public CommunicationChannel setCommunicationChannelName(String value) { this.communicationChannelName = value; return this; }
        public String getCommunicationValue() { return communicationValue; }
        public CommunicationChannel setCommunicationValue(String value) { this.communicationValue = value; return this; }
    }

    public static class Address
    {
        public String streetAddressOne = null;
        public String streetAddressTwo = null;
        public String streetAddressThree = null;
        public String city = null;
        public String postalCode = null;
        public String provinceCode = null;
        public String countryCode = null;
        
        public String getStreetAddressOne() { return streetAddressOne; }
        public Address setStreetAddressOne(String value) { this.streetAddressOne = value; return this; }
        public String getStreetAddressTwo() { return streetAddressTwo; }
        public Address setStreetAddressTwo(String value) { this.streetAddressTwo = value; return this; }
        public String getStreetAddressThree() { return streetAddressThree; }
        public Address setStreetAddressThree(String value) { this.streetAddressThree = value; return this; }
        public String getCity() { return city; }
        public Address setCity(String value) { this.city = value; return this; }
        public String getPostalCode() { return postalCode; }
        public Address setPostalCode(String value) { this.postalCode = value; return this; }
        public String getProvinceCode() { return provinceCode; }
        public Address setProvinceCode(String value) { this.provinceCode = value; return this; }
        public String getCountryCode() { return countryCode; }
        public Address setCountryCode(String value) { this.countryCode = value; return this; }
    }

    public static class FinancialInstitutionInformation
    {
        public String financialInstitutionBranchName = null;
        public String financialInstitutionName = null;
        public FinancialRoutingNumber financialRoutingNumber = null;
        public FinancialAccount financialAccount = null;
        public String swiftCode = null;
        public String exportersCode = null;
        
        public String getFinancialInstitutionBranchName() { return financialInstitutionBranchName; }
        public FinancialInstitutionInformation setFinancialInstitutionBranchName(String value) { this.financialInstitutionBranchName = value; return this; }
        public String getFinancialInstitutionName() { return financialInstitutionName; }
        public FinancialInstitutionInformation setFinancialInstitutionName(String value) { this.financialInstitutionName = value; return this; }
        public FinancialRoutingNumber getFinancialRoutingNumber() { return financialRoutingNumber; }
        public FinancialInstitutionInformation setFinancialRoutingNumber(FinancialRoutingNumber value) { this.financialRoutingNumber = value; return this; }
        public FinancialAccount getFinancialAccount() { return financialAccount; }
        public FinancialInstitutionInformation setFinancialAccount(FinancialAccount value) { this.financialAccount = value; return this; }
        public String getSwiftCode() { return swiftCode; }
        public FinancialInstitutionInformation setSwiftCode(String value) { this.swiftCode = value; return this; }
        public String getExportersCode() { return exportersCode; }
        public FinancialInstitutionInformation setExportersCode(String value) { this.exportersCode = value; return this; }
    }

    public static class FinancialRoutingNumber
    {
        public String number = null;
        public String numberTypeCode = null;
        
        public String getNumber() { return number; }
        public FinancialRoutingNumber setNumber(String value) { this.number = value; return this; }
        public String getNumberTypeCode() { return numberTypeCode; }
        public FinancialRoutingNumber setNumberTypeCode(String value) { this.numberTypeCode = value; return this; }
    }

    public static class FinancialAccount
    {
        public String number = null;
        public String numberTypeCode = null;
        public String name = null;
        
        public String getNumber() { return number; }
        public FinancialAccount setNumber(String value) { this.number = value; return this; }
        public String getNumberTypeCode() { return numberTypeCode; }
        public FinancialAccount setNumberTypeCode(String value) { this.numberTypeCode = value; return this; }
        public String getName() { return name; }
        public FinancialAccount setName(String value) { this.name = value; return this; }
    }

    public static class BillOfLading
    {
        public Date creationDate = null;
        public Long revisionNumber = null;
        public String entityIdentification = null;
        public ArrayList<String> tagNumbers = new ArrayList<String>();
        public Long totalBags = null;
        
        public Date getCreationDate() { return creationDate; }
        public BillOfLading setCreationDate(Date value) { this.creationDate = value; return this; }
        public Long getRevisionNumber() { return revisionNumber; }
        public BillOfLading setRevisionNumber(Long value) { this.revisionNumber = value; return this; }
        public String getEntityIdentification() { return entityIdentification; }
        public BillOfLading setEntityIdentification(String value) { this.entityIdentification = value; return this; }
        public ArrayList<String> getTagNumbers() { return tagNumbers; }
        public BillOfLading setTagNumbers(ArrayList<String> value) { this.tagNumbers = value; return this; }
        public Long getTotalBags() { return totalBags; }
        public BillOfLading setTotalBags(Long value) { this.totalBags = value; return this; }
    }

    public static class DocumentReference
    {
        public Date creationDateTime = null;
        public Long revisionNumber = null;
        public Long lineItemNumber = null;
        public String entityIdentification = null;
        
        public Date getCreationDateTime() { return creationDateTime; }
        public DocumentReference setCreationDateTime(Date value) { this.creationDateTime = value; return this; }
        public Long getRevisionNumber() { return revisionNumber; }
        public DocumentReference setRevisionNumber(Long value) { this.revisionNumber = value; return this; }
        public Long getLineItemNumber() { return lineItemNumber; }
        public DocumentReference setLineItemNumber(Long value) { this.lineItemNumber = value; return this; }
        public String getEntityIdentification() { return entityIdentification; }
        public DocumentReference setEntityIdentification(String value) { this.entityIdentification = value; return this; }
    }

    public static class ClaimsNotificationDiscrepancyInformation
    {
        public BigDecimal claimAmount = null;
        public String claimReasonCode = null;
        public String discrepancyDescription = null;
        public ClaimsNotificationItemDiscrepancy actualReceived = null;
        public ClaimsNotificationItemDiscrepancy expectedToReceive = null;
        public ArrayList<AvpList> avpList = new ArrayList<AvpList>();
        
        public BigDecimal getClaimAmount() { return claimAmount; }
        public ClaimsNotificationDiscrepancyInformation setClaimAmount(BigDecimal value) { this.claimAmount = value; return this; }
        public String getClaimReasonCode() { return claimReasonCode; }
        public ClaimsNotificationDiscrepancyInformation setClaimReasonCode(String value) { this.claimReasonCode = value; return this; }
        public String getDiscrepancyDescription() { return discrepancyDescription; }
        public ClaimsNotificationDiscrepancyInformation setDiscrepancyDescription(String value) { this.discrepancyDescription = value; return this; }
        public ClaimsNotificationItemDiscrepancy getActualReceived() { return actualReceived; }
        public ClaimsNotificationDiscrepancyInformation setActualReceived(ClaimsNotificationItemDiscrepancy value) { this.actualReceived = value; return this; }
        public ClaimsNotificationItemDiscrepancy getExpectedToReceive() { return expectedToReceive; }
        public ClaimsNotificationDiscrepancyInformation setExpectedToReceive(ClaimsNotificationItemDiscrepancy value) { this.expectedToReceive = value; return this; }
        public ArrayList<AvpList> getAvpList() { return avpList; }
        public ClaimsNotificationDiscrepancyInformation setAvpList(ArrayList<AvpList> value) { this.avpList = value; return this; }
    }

    public static class ClaimsNotificationItemDiscrepancy
    {
        public BigDecimal price = null;
        public Quantity quantity = null;
        public TransactionalTradeItem transactionalTradeItem = null;
        
        public BigDecimal getPrice() { return price; }
        public ClaimsNotificationItemDiscrepancy setPrice(BigDecimal value) { this.price = value; return this; }
        public Quantity getQuantity() { return quantity; }
        public ClaimsNotificationItemDiscrepancy setQuantity(Quantity value) { this.quantity = value; return this; }
        public TransactionalTradeItem getTransactionalTradeItem() { return transactionalTradeItem; }
        public ClaimsNotificationItemDiscrepancy setTransactionalTradeItem(TransactionalTradeItem value) { this.transactionalTradeItem = value; return this; }
    }

    public static class Quantity
    {
        public BigDecimal value = null;
        public String measurementUnitCode = null;
        public String codeListVersion = null;
        
        public BigDecimal getValue() { return value; }
        public Quantity setValue(BigDecimal value) { this.value = value; return this; }
        public String getMeasurementUnitCode() { return measurementUnitCode; }
        public Quantity setMeasurementUnitCode(String value) { this.measurementUnitCode = value; return this; }
        public String getCodeListVersion() { return codeListVersion; }
        public Quantity setCodeListVersion(String value) { this.codeListVersion = value; return this; }
    }

    public static class TransactionalTradeItem
    {
        public String gtin = null;
        public ArrayList<AvpList> additionalTradeItemIdentification = new ArrayList<AvpList>();
        public BigDecimal tradeItemQuantity = null;
        public String tradeItemDescription = null;
        public String productVariantIdentifier = null;
        public String itemTypeCode = null;
        public String tradeItemDataOwner = null;
        public String butterFatReference = null;
        public ArrayList<TransactionalItemData> transactionalItemData = new ArrayList<TransactionalItemData>();
        public ArrayList<Colour> colour = new ArrayList<Colour>();
        public Size size = null;
        public TradeItemClassification tradeItemClassification = null;
        public ArrayList<AvpList> avpList = new ArrayList<AvpList>();
        
        public String getGtin() { return gtin; }
        public TransactionalTradeItem setGtin(String value) { this.gtin = value; return this; }
        public ArrayList<AvpList> getAdditionalTradeItemIdentification() { return additionalTradeItemIdentification; }
        public TransactionalTradeItem setAdditionalTradeItemIdentification(ArrayList<AvpList> value) { this.additionalTradeItemIdentification = value; return this; }
        public BigDecimal getTradeItemQuantity() { return tradeItemQuantity; }
        public TransactionalTradeItem setTradeItemQuantity(BigDecimal value) { this.tradeItemQuantity = value; return this; }
        public String getTradeItemDescription() { return tradeItemDescription; }
        public TransactionalTradeItem setTradeItemDescription(String value) { this.tradeItemDescription = value; return this; }
        public String getProductVariantIdentifier() { return productVariantIdentifier; }
        public TransactionalTradeItem setProductVariantIdentifier(String value) { this.productVariantIdentifier = value; return this; }
        public String getItemTypeCode() { return itemTypeCode; }
        public TransactionalTradeItem setItemTypeCode(String value) { this.itemTypeCode = value; return this; }
        public String getTradeItemDataOwner() { return tradeItemDataOwner; }
        public TransactionalTradeItem setTradeItemDataOwner(String value) { this.tradeItemDataOwner = value; return this; }
        public String getButterFatReference() { return butterFatReference; }
        public TransactionalTradeItem setButterFatReference(String value) { this.butterFatReference = value; return this; }
        public ArrayList<TransactionalItemData> getTransactionalItemData() { return transactionalItemData; }
        public TransactionalTradeItem setTransactionalItemData(ArrayList<TransactionalItemData> value) { this.transactionalItemData = value; return this; }
        public ArrayList<Colour> getColour() { return colour; }
        public TransactionalTradeItem setColour(ArrayList<Colour> value) { this.colour = value; return this; }
        public Size getSize() { return size; }
        public TransactionalTradeItem setSize(Size value) { this.size = value; return this; }
        public TradeItemClassification getTradeItemClassification() { return tradeItemClassification; }
        public TransactionalTradeItem setTradeItemClassification(TradeItemClassification value) { this.tradeItemClassification = value; return this; }
        public ArrayList<AvpList> getAvpList() { return avpList; }
        public TransactionalTradeItem setAvpList(ArrayList<AvpList> value) { this.avpList = value; return this; }
    }

    public static class TransactionalItemData
    {
        public Date availableForSaleDate = null;
        public String batchNumber = null;
        public Date bestBeforeDate = null;
        public String countryOfOrigin = null;
        public Date itemExpirationDate = null;
        public String lotNumber = null;
        public Date packagingDate = null;
        public Date productionDate = null;
        public String productQualityIndication = null;
        public Date sellByDate = null;
        public ArrayList<String> serialNumber = new ArrayList<String>();
        public String shelfLife = null;
        public Long tradeItemQuantity = null;
        public Boolean itemInContactWithFoodProduct = null;
        public ArrayList<TransactionalItem> transactionalItemWeight = new ArrayList<TransactionalItem>();
        public ArrayList<TransactionalItem> transactionalItemVolume = new ArrayList<TransactionalItem>();
        public ArrayList<SerialNumberRange> serialNumberRange = new ArrayList<SerialNumberRange>();
        public ArrayList<TransactionalItemDimension> transactionalItemDimensions = new ArrayList<TransactionalItemDimension>();
        public TransactionalItemLogisticUnitInformation transactionalItemLogisticUnitInformation = null;
        public TransactionalItemDataCarrierAndIdentification transactionalItemDataCarrierAndIdentification = null;
        public ArrayList<TradeItemWaste> tradeItemWaste = new ArrayList<TradeItemWaste>();
        public TransactionalItemOrganicInformation transactionalItemOrganicInformation = null;
        public ArrayList<AvpList> avpList = new ArrayList<AvpList>();
        
        public Date getAvailableForSaleDate() { return availableForSaleDate; }
        public TransactionalItemData setAvailableForSaleDate(Date value) { this.availableForSaleDate = value; return this; }
        public String getBatchNumber() { return batchNumber; }
        public TransactionalItemData setBatchNumber(String value) { this.batchNumber = value; return this; }
        public Date getBestBeforeDate() { return bestBeforeDate; }
        public TransactionalItemData setBestBeforeDate(Date value) { this.bestBeforeDate = value; return this; }
        public String getCountryOfOrigin() { return countryOfOrigin; }
        public TransactionalItemData setCountryOfOrigin(String value) { this.countryOfOrigin = value; return this; }
        public Date getItemExpirationDate() { return itemExpirationDate; }
        public TransactionalItemData setItemExpirationDate(Date value) { this.itemExpirationDate = value; return this; }
        public String getLotNumber() { return lotNumber; }
        public TransactionalItemData setLotNumber(String value) { this.lotNumber = value; return this; }
        public Date getPackagingDate() { return packagingDate; }
        public TransactionalItemData setPackagingDate(Date value) { this.packagingDate = value; return this; }
        public Date getProductionDate() { return productionDate; }
        public TransactionalItemData setProductionDate(Date value) { this.productionDate = value; return this; }
        public String getProductQualityIndication() { return productQualityIndication; }
        public TransactionalItemData setProductQualityIndication(String value) { this.productQualityIndication = value; return this; }
        public Date getSellByDate() { return sellByDate; }
        public TransactionalItemData setSellByDate(Date value) { this.sellByDate = value; return this; }
        public ArrayList<String> getSerialNumber() { return serialNumber; }
        public TransactionalItemData setSerialNumber(ArrayList<String> value) { this.serialNumber = value; return this; }
        public String getShelfLife() { return shelfLife; }
        public TransactionalItemData setShelfLife(String value) { this.shelfLife = value; return this; }
        public Long getTradeItemQuantity() { return tradeItemQuantity; }
        public TransactionalItemData setTradeItemQuantity(Long value) { this.tradeItemQuantity = value; return this; }
        public Boolean isItemInContactWithFoodProduct() { return itemInContactWithFoodProduct; }
        public TransactionalItemData setItemInContactWithFoodProduct(Boolean value) { this.itemInContactWithFoodProduct = value; return this; }
        public ArrayList<TransactionalItem> getTransactionalItemWeight() { return transactionalItemWeight; }
        public TransactionalItemData setTransactionalItemWeight(ArrayList<TransactionalItem> value) { this.transactionalItemWeight = value; return this; }
        public ArrayList<TransactionalItem> getTransactionalItemVolume() { return transactionalItemVolume; }
        public TransactionalItemData setTransactionalItemVolume(ArrayList<TransactionalItem> value) { this.transactionalItemVolume = value; return this; }
        public ArrayList<SerialNumberRange> getSerialNumberRange() { return serialNumberRange; }
        public TransactionalItemData setSerialNumberRange(ArrayList<SerialNumberRange> value) { this.serialNumberRange = value; return this; }
        public ArrayList<TransactionalItemDimension> getTransactionalItemDimensions() { return transactionalItemDimensions; }
        public TransactionalItemData setTransactionalItemDimensions(ArrayList<TransactionalItemDimension> value) { this.transactionalItemDimensions = value; return this; }
        public TransactionalItemLogisticUnitInformation getTransactionalItemLogisticUnitInformation() { return transactionalItemLogisticUnitInformation; }
        public TransactionalItemData setTransactionalItemLogisticUnitInformation(TransactionalItemLogisticUnitInformation value) { this.transactionalItemLogisticUnitInformation = value; return this; }
        public TransactionalItemDataCarrierAndIdentification getTransactionalItemDataCarrierAndIdentification() { return transactionalItemDataCarrierAndIdentification; }
        public TransactionalItemData setTransactionalItemDataCarrierAndIdentification(TransactionalItemDataCarrierAndIdentification value) { this.transactionalItemDataCarrierAndIdentification = value; return this; }
        public ArrayList<TradeItemWaste> getTradeItemWaste() { return tradeItemWaste; }
        public TransactionalItemData setTradeItemWaste(ArrayList<TradeItemWaste> value) { this.tradeItemWaste = value; return this; }
        public TransactionalItemOrganicInformation getTransactionalItemOrganicInformation() { return transactionalItemOrganicInformation; }
        public TransactionalItemData setTransactionalItemOrganicInformation(TransactionalItemOrganicInformation value) { this.transactionalItemOrganicInformation = value; return this; }
        public ArrayList<AvpList> getAvpList() { return avpList; }
        public TransactionalItemData setAvpList(ArrayList<AvpList> value) { this.avpList = value; return this; }
    }

    public static class TransactionalItem
    {
        public String measurementUnitCode = null;
        public String measurementType = null;
        public String measurementValue = null;
        
        public String getMeasurementUnitCode() { return measurementUnitCode; }
        public TransactionalItem setMeasurementUnitCode(String value) { this.measurementUnitCode = value; return this; }
        public String getMeasurementType() { return measurementType; }
        public TransactionalItem setMeasurementType(String value) { this.measurementType = value; return this; }
        public String getMeasurementValue() { return measurementValue; }
        public TransactionalItem setMeasurementValue(String value) { this.measurementValue = value; return this; }
    }

    public static class SerialNumberRange
    {
        public String maximumValue = null;
        public String minimumValue = null;
        
        public String getMaximumValue() { return maximumValue; }
        public SerialNumberRange setMaximumValue(String value) { this.maximumValue = value; return this; }
        public String getMinimumValue() { return minimumValue; }
        public SerialNumberRange setMinimumValue(String value) { this.minimumValue = value; return this; }
    }

    public static class TransactionalItemDimension
    {
        public String measurementUnitCode = null;
        public String depth = null;
        public String height = null;
        public String width = null;
        
        public String getMeasurementUnitCode() { return measurementUnitCode; }
        public TransactionalItemDimension setMeasurementUnitCode(String value) { this.measurementUnitCode = value; return this; }
        public String getDepth() { return depth; }
        public TransactionalItemDimension setDepth(String value) { this.depth = value; return this; }
        public String getHeight() { return height; }
        public TransactionalItemDimension setHeight(String value) { this.height = value; return this; }
        public String getWidth() { return width; }
        public TransactionalItemDimension setWidth(String value) { this.width = value; return this; }
    }

    public static class TransactionalItemLogisticUnitInformation
    {
        public Long numberOfLayers = null;
        public Long numberOfUnitsPerLayer = null;
        public Long numberOfUnitsPerPallet = null;
        public String packagingTerms = null;
        public String packageTypeCode = null;
        public Long maximumStackingFactor = null;
        public String returnablePackageTransportCostPayment = null;
        public ArrayList<TransactionalItemDimension> dimensionsOfLogisticUnit = new ArrayList<TransactionalItemDimension>();
        
        public Long getNumberOfLayers() { return numberOfLayers; }
        public TransactionalItemLogisticUnitInformation setNumberOfLayers(Long value) { this.numberOfLayers = value; return this; }
        public Long getNumberOfUnitsPerLayer() { return numberOfUnitsPerLayer; }
        public TransactionalItemLogisticUnitInformation setNumberOfUnitsPerLayer(Long value) { this.numberOfUnitsPerLayer = value; return this; }
        public Long getNumberOfUnitsPerPallet() { return numberOfUnitsPerPallet; }
        public TransactionalItemLogisticUnitInformation setNumberOfUnitsPerPallet(Long value) { this.numberOfUnitsPerPallet = value; return this; }
        public String getPackagingTerms() { return packagingTerms; }
        public TransactionalItemLogisticUnitInformation setPackagingTerms(String value) { this.packagingTerms = value; return this; }
        public String getPackageTypeCode() { return packageTypeCode; }
        public TransactionalItemLogisticUnitInformation setPackageTypeCode(String value) { this.packageTypeCode = value; return this; }
        public Long getMaximumStackingFactor() { return maximumStackingFactor; }
        public TransactionalItemLogisticUnitInformation setMaximumStackingFactor(Long value) { this.maximumStackingFactor = value; return this; }
        public String getReturnablePackageTransportCostPayment() { return returnablePackageTransportCostPayment; }
        public TransactionalItemLogisticUnitInformation setReturnablePackageTransportCostPayment(String value) { this.returnablePackageTransportCostPayment = value; return this; }
        public ArrayList<TransactionalItemDimension> getDimensionsOfLogisticUnit() { return dimensionsOfLogisticUnit; }
        public TransactionalItemLogisticUnitInformation setDimensionsOfLogisticUnit(ArrayList<TransactionalItemDimension> value) { this.dimensionsOfLogisticUnit = value; return this; }
    }

    public static class TransactionalItemDataCarrierAndIdentification
    {
        public String gs1TransactionalItemIdentificationKey = null;
        public String dataCarrier = null;
        
        public String getGs1TransactionalItemIdentificationKey() { return gs1TransactionalItemIdentificationKey; }
        public TransactionalItemDataCarrierAndIdentification setGs1TransactionalItemIdentificationKey(String value) { this.gs1TransactionalItemIdentificationKey = value; return this; }
        public String getDataCarrier() { return dataCarrier; }
        public TransactionalItemDataCarrierAndIdentification setDataCarrier(String value) { this.dataCarrier = value; return this; }
    }

    public static class TradeItemWaste
    {
        public String wasteIdentification = null;
        public ArrayList<AvpList> typeOfWaste = new ArrayList<AvpList>();
        
        public String getWasteIdentification() { return wasteIdentification; }
        public TradeItemWaste setWasteIdentification(String value) { this.wasteIdentification = value; return this; }
        public ArrayList<AvpList> getTypeOfWaste() { return typeOfWaste; }
        public TradeItemWaste setTypeOfWaste(ArrayList<AvpList> value) { this.typeOfWaste = value; return this; }
    }

    public static class TransactionalItemOrganicInformation
    {
        public Boolean isTradeItemOrganic = null;
        public String organicCertification = null;
        
        public Boolean getIsTradeItemOrganic() { return isTradeItemOrganic; }
        public TransactionalItemOrganicInformation setIsTradeItemOrganic(Boolean value) { this.isTradeItemOrganic = value; return this; }
        public String getOrganicCertification() { return organicCertification; }
        public TransactionalItemOrganicInformation setOrganicCertification(String value) { this.organicCertification = value; return this; }
    }

    public static class Colour
    {
        public String colourCode = null;
        public String colourDescription = null;
        
        public String getColourCode() { return colourCode; }
        public Colour setColourCode(String value) { this.colourCode = value; return this; }
        public String getColourDescription() { return colourDescription; }
        public Colour setColourDescription(String value) { this.colourDescription = value; return this; }
    }

    public static class Size
    {
        public String descriptiveSize = null;
        public String sizeCode = null;
        
        public String getDescriptiveSize() { return descriptiveSize; }
        public Size setDescriptiveSize(String value) { this.descriptiveSize = value; return this; }
        public String getSizeCode() { return sizeCode; }
        public Size setSizeCode(String value) { this.sizeCode = value; return this; }
    }

    public static class TradeItemClassification
    {
        public String gpcCategoryCode = null;
        public ArrayList<AvpList> additionalTradeItemClassificationCode = new ArrayList<AvpList>();
        public String gpcCategoryName = null;
        public ArrayList<AvpList> gpcAttribute = new ArrayList<AvpList>();
        
        public String getGpcCategoryCode() { return gpcCategoryCode; }
        public TradeItemClassification setGpcCategoryCode(String value) { this.gpcCategoryCode = value; return this; }
        public ArrayList<AvpList> getAdditionalTradeItemClassificationCode() { return additionalTradeItemClassificationCode; }
        public TradeItemClassification setAdditionalTradeItemClassificationCode(ArrayList<AvpList> value) { this.additionalTradeItemClassificationCode = value; return this; }
        public String getGpcCategoryName() { return gpcCategoryName; }
        public TradeItemClassification setGpcCategoryName(String value) { this.gpcCategoryName = value; return this; }
        public ArrayList<AvpList> getGpcAttribute() { return gpcAttribute; }
        public TradeItemClassification setGpcAttribute(ArrayList<AvpList> value) { this.gpcAttribute = value; return this; }
    }

    public static class ClaimExtension
    {
        public ClaimTotals claimTotals = null;
        public TransactionalParty shipFrom = null;
        public TransactionalParty shipTo = null;
        
        public ClaimTotals getClaimTotals() { return claimTotals; }
        public ClaimExtension setClaimTotals(ClaimTotals value) { this.claimTotals = value; return this; }
        public TransactionalParty getShipFrom() { return shipFrom; }
        public ClaimExtension setShipFrom(TransactionalParty value) { this.shipFrom = value; return this; }
        public TransactionalParty getShipTo() { return shipTo; }
        public ClaimExtension setShipTo(TransactionalParty value) { this.shipTo = value; return this; }
    }

    public static class ClaimTotals
    {
        public BigDecimal baseAmount = null;
        public BigDecimal totalTaxAmount = null;
        public BigDecimal totalClaimAmount = null;
        
        public BigDecimal getBaseAmount() { return baseAmount; }
        public ClaimTotals setBaseAmount(BigDecimal value) { this.baseAmount = value; return this; }
        public BigDecimal getTotalTaxAmount() { return totalTaxAmount; }
        public ClaimTotals setTotalTaxAmount(BigDecimal value) { this.totalTaxAmount = value; return this; }
        public BigDecimal getTotalClaimAmount() { return totalClaimAmount; }
        public ClaimTotals setTotalClaimAmount(BigDecimal value) { this.totalClaimAmount = value; return this; }
    }

}

Java GetInvoice DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /api/invoice HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: text/csv