This reference is addressed to developers who want to import the exported order files into 3rd party systems.
Since the order export is highly customizable, this document describes the format used by the ICM reference implementation of cartridge ac_order_export_xml.
All elements described in this chapter are referenced several times in the XML Schema definition.
The MoneyType
is the basic type for exporting money values in the order export. It has an attribute for the currency in which the money value is given in. The value of the currency attribute is the currency mnemonic. The content of the money
element is a decimal value.
<xs:complexType name="MoneyType"> <xs:simpleContent> <xs:extension base="xs:decimal"> <xs:attribute name="currency" type="xs:string"/> </xs:extension> </xs:simpleContent> </xs:complexType>
The TaxType
is used for the XML representation of taxes in the order context. It comprises the tax amount as MoneyType
and the rate used for the tax calculation as decimal value. The rate value is optional.
<xs:element name="tax" type="tns:TaxTypeType"/> <xs:complexType name="TaxTypeType"> <xs:sequence> <xs:element name="amount" type="tns:MoneyType"/> <xs:element name="rate" type="xs:decimal" minOccurs="0"/> </xs:sequence> </xs:complexType>
For giving an overview of the distribution of the tax amounts grouped by their tax rates the type TaxGroup
is used. The accumulated money value tax-total
attributes to the rate given in the group name.
<xs:element name="tax-group" type="tns:TaxGroupType"/> <xs:complexType name="TaxGroupType"> <xs:sequence> <xs:element name="tax-group-name" type="xs:double" minOccurs="0"/> <xs:element name="tax-total" type="tns:MoneyType" minOccurs="0"/> </xs:sequence> </xs:complexType>
The complex type contact
gives all contact information of the customer including phone numbers and mailing address for the context being used. All optional fields can be omitted.
<xs:element name="contact" type="tns:ContactType"/> <xs:complexType name="ContactType"> <xs:sequence> <xs:element name="title" type="xs:string" minOccurs="0"/> <xs:element name="first-name" type="xs:string" minOccurs="0"/> <xs:element name="second-name" type="xs:string" minOccurs="0"/> <xs:element name="last-name" type="xs:string" minOccurs="0"/> <xs:element name="honorific" type="xs:string" minOccurs="0"/> <xs:element name="phone-home" type="xs:string" minOccurs="0"/> <xs:element name="phone-mobile" type="xs:string" minOccurs="0"/> <xs:element name="phone-business" type="xs:string" minOccurs="0"/> <xs:element name="phone-business-direct" type="xs:string" minOccurs="0"/> <xs:element name="email" type="xs:string" minOccurs="0"/> <xs:element ref="tns:mailing-address" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="company-name1" type="xs:string" minOccurs="0"/> <xs:element name="company-name2" type="xs:string" minOccurs="0"/> <xs:element name="externalURN" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="ContactElementType" abstract="true"> <xs:sequence/> </xs:complexType>
The field externalURN
was introduced with version 11.0.7.
Addresses are exported using the MailingAddressType
. Address line 1, zip code, city and country are always present. All other fields are optional.
<xs:element name="mailing-address" type="tns:MailingAddressType"/> <xs:complexType name="MailingAddressType"> <xs:complexContent> <xs:extension base="tns:ContactElementType"> <xs:sequence> <xs:element name="line1" type="xs:string"/> <xs:element name="line2" type="xs:string" minOccurs="0"/> <xs:element name="line3" type="xs:string" minOccurs="0"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> <xs:element name="country-code" type="xs:string" minOccurs="0"/> <xs:element name="postal-code" type="xs:string"/> <xs:element name="post-box" type="xs:string" minOccurs="0"/> <xs:element name="state" type="xs:string" minOccurs="0"/> <xs:element name="county" type="xs:string" minOccurs="0"/> <xs:element name="region" type="xs:string" minOccurs="0"/> <xs:element name="province" type="xs:string" minOccurs="0"/> <xs:element name="prefecture" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The general pricing
element contains common price types. Depending on the context in which the element is used, not all subelements may be available.
<xs:element name="pricing" type="tns:PricingType"/> <xs:complexType name="PricingType"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="tns:payment-taxes"/> <xs:element ref="tns:order-taxes"/> <xs:element ref="tns:geographical-surcharges"/> <xs:element ref="tns:item-taxes"/> <xs:element ref="tns:totals"/> <xs:element ref="tns:shipping-taxes"/> <xs:element ref="tns:shipping-discounts"/> <xs:element ref="tns:duties"/> <xs:element ref="tns:item-discounts"/> <xs:element ref="tns:shipping"/> <xs:element ref="tns:import-surcharges"/> <xs:element ref="tns:sales"/> <xs:element ref="tns:order-discounts"/> <xs:element ref="tns:surcharges"/> <xs:element ref="tns:taxes"/> </xs:choice> </xs:sequence> </xs:complexType> <xs:complexType name="PricingElementType" abstract="true"> <xs:sequence/> </xs:complexType>
In the sales section, the two main product prices are exported. The single base price is the single price of each unit of the line item. The item price is the undiscounted price of the complete line item.
<xs:element name="sales" type="tns:SalesType"/> <xs:complexType name="SalesType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element name="single-base-price" type="tns:MoneyType" minOccurs="0"/> <xs:element name="item-price" type="tns:MoneyType" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
All sales taxes applied to the product line item are written into the item-taxes
element. The list of taxes applied to the line item are printed with their sub-total and tax rate in the section taxes
. The accumulated total is exported into the tax-total
element.
<xs:element name="item-taxes" type="tns:ItemTaxesType"/> <xs:complexType name="ItemTaxesType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element name="taxes" type="tns:TaxTypeType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="tax-total" type="tns:MoneyType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
Discounts on item basis can be found in this section. All important information of the applied promotion are exported into the item-discount
. The ItemsDiscountType
is reused for the other promotion types.
<xs:element name="item-discounts" type="tns:ItemDiscountsType"/> <xs:element name="item-discount" type="tns:ItemDiscountType"/> <xs:complexType name="ItemDiscountsType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element name="discount" type="tns:ItemDiscountType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="ItemDiscountType"> <xs:sequence> <xs:element name="amount" type="tns:MoneyType" minOccurs="0"/> <xs:element name="code" type="xs:string" minOccurs="0"/> <xs:element name="description" type="xs:string"/> <xs:element name="promotion-id" type="xs:string" minOccurs="0"/> <xs:element name="type" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType>
The shipping block in the pricing section is used for exporting shipping costs for the context it is employed in. The cost is a mandatory money value. In case no shipping cost (e.g., free shipping) were applied, the value is 0.0
.
<xs:element name="shipping" type="tns:ShippingType"/> <xs:complexType name="ShippingType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element name="cost" type="tns:MoneyType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
All taxes applied to shipping costs are printed into the shipping-taxes
element. This element is omitted in case of free shipping.
The list of taxes applied to the costs are printed with their sub-total and tax rate in the section taxes
. The accumulated total is exported into the tax-total
element.
<xs:element name="shipping-taxes" type="tns:ShippingTaxesType"/> <xs:complexType name="ShippingTaxesType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element name="taxes" type="tns:TaxTypeType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="tax-total" type="tns:MoneyType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The section shipping-discounts
comprises of all discounts on shipping costs. The description of the referenced type ItemsDiscountType
can be found in the ItemDiscounts section.
<xs:element name="shipping-discounts" type="tns:ShippingDiscountsType"/> <xs:complexType name="ShippingDiscountsType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element name="discount" type="tns:ItemDiscountType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
All taxes applied to payment costs are printed into the payment-taxes
element, which is only used within the payment
element. If there are no payment costs, the payment-taxes
element is omitted.
The list of taxes applied to the costs with their sub-total and tax rate are printed in the section taxes
. The accumulated total is exported into the tax-total
element.
<xs:element name="payment-taxes" type="tns:PaymentTaxesType"/> <xs:complexType name="PaymentTaxesType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element name="taxes" type="tns:TaxTypeType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="tax-total" type="tns:MoneyType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
All surcharges of type ItemSurcharge
and BucketSurcharge
for its context are listed in this element. Besides the list of single surcharges applied, it also contains the accumulated total over the surcharge amounts of its children. The subtype for a single surcharge is composed of all important information (e.g., amount, description) and is reused for other surcharge types.
<xs:element name="surcharges" type="tns:SurchargesType"/> <xs:element name="surcharge" type="tns:SurchargeType"/> <xs:complexType name="SurchargesType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element ref="tns:surcharge" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="total" type="tns:MoneyType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="SurchargeType"> <xs:sequence> <xs:element name="amount" type="tns:MoneyType"/> <xs:element name="description" type="xs:string" minOccurs="0"/> <xs:element name="display-name" type="xs:string" minOccurs="0"/> <xs:element name="short-display-name" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType>
Surcharges of type ImportSurcharge
are only used on line item level. The section is build by a list of the applied import surcharges and the accumulated total over the surcharge amounts of its children. The subtype SurchargeType
is defined in the Surcharges section.
<xs:element name="import-surcharges" type="tns:ImportSurchargesType"/> <xs:complexType name="ImportSurchargesType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element ref="tns:surcharge" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="total" type="tns:MoneyType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The section order-taxes
provides a grouped overview of all applied taxes. The taxes are grouped by their tax rate.
<xs:element name="order-taxes" type="tns:OrderTaxesType"/> <xs:complexType name="OrderTaxesType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element name="tax-total" type="tns:TaxGroupType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The section order-discounts
holds all discounts on order level. The definition of the referenced type ItemsDiscountType
can be found in the ItemDiscounts section.
<xs:element name="order-discounts" type="tns:OrderDiscountsType"/> <xs:complexType name="OrderDiscountsType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element name="discount" type="tns:ItemDiscountType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
This element was introduced with version 7.4.1.
Geographical surcharges are exported into this section. It is build by a list of the applied surcharges and the accumulated total over the surcharge amounts of its children. The referenced subtype SurchargeType
is defined in the Surcharges section.
<xs:element name="geographical-surcharges" type="tns:GeographicalSurchargesType"/> <xs:complexType name="GeographicalSurchargesType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element ref="tns:surcharge" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="total" type="tns:MoneyType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
Similar to surcharges, duties of the used context (e.g., line item, order) are exported to this element. The subtype for a single duty is composed by all important information (e.g., amount, description).
<xs:element name="duties" type="tns:DutiesType"/> <xs:element name="duty" type="tns:DutyType"/> <xs:complexType name="DutiesType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element name="duties" type="tns:DutyType" nillable="true" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="DutyType"> <xs:sequence> <xs:element name="amount" type="tns:MoneyType"/> <xs:element name="description" type="xs:string" minOccurs="0"/> <xs:element name="name" type="xs:string"/> <xs:element name="short-name" type="xs:string"/> </xs:sequence> </xs:complexType>
The totals
element is composed of all subtotals on order level (only used on this level) to give a brief overview. All subelements are money value.
<xs:element name="totals" type="tns:TotalsType"/> <xs:complexType name="TotalsType"> <xs:complexContent> <xs:extension base="tns:PricingElementType"> <xs:sequence> <xs:element name="item-total" type="tns:MoneyType"/> <xs:element name="item-discounts" type="tns:MoneyType" minOccurs="0"/> <xs:element name="shipping-costs" type="tns:MoneyType"/> <xs:element name="item-shipping-discounts" type="tns:MoneyType" minOccurs="0"/> <xs:element name="bucket-shipping-discounts" type="tns:MoneyType" minOccurs="0"/> <xs:element name="order-discounts" type="tns:MoneyType" minOccurs="0"/> <xs:element name="order-shipping-discounts" type="tns:MoneyType" minOccurs="0"/> <xs:element name="payment-costs" type="tns:MoneyType"/> <xs:element name="additional-surcharges" type="tns:MoneyType" minOccurs="0"/> <xs:element name="tax" type="tns:MoneyType"/> <xs:element name="duties" type="tns:MoneyType"/> <xs:element name="order-net-total" type="tns:MoneyType"/> <xs:element name="order-gross-total" type="tns:MoneyType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The field additional-surcharges
became optional in version 7.3.2.
The custom-attributes
element is used for exporting any kind of custom attributes information.
<xs:element name="custom-attributes" type="tns:CustomAttributesType"/> <xs:element name="simple-attribute" type="tns:SimpleAttributeType"/> <xs:element name="quantity-attribute" type="tns:QuantityAttributeType"/> <xs:element name="money-attribute" type="tns:MoneyAttributeType"/> <xs:complexType name="CustomAttributesType"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="tns:quantity-attribute"/> <xs:element ref="tns:simple-attribute"/> <xs:element ref="tns:money-attribute"/> </xs:choice> </xs:sequence> </xs:complexType> <xs:complexType name="QuantityAttributeType"> <xs:complexContent> <xs:extension base="tns:customAttributeXML"> <xs:sequence> <xs:element name="quantity" type="tns:QuantityType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="SimpleAttributeType"> <xs:complexContent> <xs:extension base="tns:customAttributeXML"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="string" type="xs:string"/> <xs:element name="integer" type="xs:int"/> <xs:element name="long" type="xs:long"/> <xs:element name="double" type="xs:double"/> <xs:element name="boolean" type="xs:boolean"/> <xs:element name="date" type="xs:dateTime"/> <xs:element name="big-decimal" type="xs:decimal"/> </xs:choice> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="MoneyAttributeType"> <xs:complexContent> <xs:extension base="tns:customAttributeXML"> <xs:sequence> <xs:element name="money" type="tns:MoneyType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="customAttributeXML" abstract="true"> <xs:sequence/> <xs:attribute name="locale" type="xs:string"/> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType>
The product
element is used to export any type of product information. It is also used for "special" products such as warranties or gift wraps. In addition to the main information of a product (for example SKU or name), its custom attributes are exported as well.
<xs:element name="product" type="tns:ProductType"/> <xs:complexType name="ProductType"> <xs:complexContent> <xs:extension base="tns:OrderItemElementType"> <xs:sequence> <xs:element name="sku" type="xs:string"/> <xs:element name="name" type="xs:string"/> <xs:element name="short-description" type="xs:string" minOccurs="0"/> <xs:element name="thumbnail" type="xs:string" minOccurs="0"/> <xs:element name="custom-attributes" type="tns:CustomAttributesType" minOccurs="0"/> </xs:sequence> <xs:attribute name="id" type="xs:string"/> </xs:extension> </xs:complexContent> </xs:complexType>
The orders
element is the root element of an order export file and may contain one or many single orders. For each order, some general information, the list of ordered items, the shipping buckets and destinations, payment information, and a summary of the totals are provided.
<xs:element name="orders" type="tns:OrdersType"/> <xs:complexType name="OrdersType"> <xs:sequence> <xs:element name="order" type="tns:OrderType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="OrderType"> <xs:sequence> <xs:element name="custom-attributes" type="tns:CustomAttributesType" minOccurs="0"/> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="tns:order-header"/> <xs:element ref="tns:order-items"/> <xs:element ref="tns:buckets"/> <xs:element ref="tns:payment"/> <xs:element ref="tns:destinations"/> <xs:element ref="tns:order-summary"/> </xs:choice> </xs:sequence> <xs:attribute name="id" type="xs:string" use="required"/> </xs:complexType>
The custom-attributes
element was introduced in versions 11.4.0 and 7.10.40.2.
The order-header
is a container for all information valid for the whole order. The subelements are described in the following sections of this chapter.
<xs:element name="order-header" type="tns:OrderHeaderType"/> <xs:complexType name="OrderHeaderType"> <xs:complexContent> <xs:extension base="tns:OrderElementType"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="tns:invoice-to-address"/> <xs:element ref="tns:customer"/> <xs:element ref="tns:order-info"/> <xs:element ref="tns:order-process-info"/> <xs:element ref="tns:order-attributes"/> </xs:choice> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="HeaderElementType" abstract="true"> <xs:sequence/> </xs:complexType>
The order status and its creation date are exported together in the element order-process-info
.
<xs:element name="order-process-info" type="tns:OrderProcessInfoType"/> <xs:complexType name="OrderProcessInfoType"> <xs:complexContent> <xs:extension base="tns:HeaderElementType"> <xs:sequence> <xs:element name="status" type="xs:string"/> <xs:element name="creation-date" type="xs:dateTime"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The order-info
contains some of the most important order information. These are, among others:
The document number, a unique key to identify the order,
The store where the purchase was made,
The locale and currency used for the purchase,
The calculation rule set that was used for the basket calculation.
<xs:element name="order-info" type="tns:OrderInfoType"/> <xs:complexType name="OrderInfoType"> <xs:complexContent> <xs:extension base="tns:HeaderElementType"> <xs:sequence> <xs:element name="document-no" type="xs:string"/> <xs:element name="order-reference-id" type="xs:string" minOccurs="0"/> <xs:element name="customer-order-id" type="xs:string" minOccurs="0"/> <xs:element name="supplier-order-id" type="xs:string" minOccurs="0"/> <xs:element name="store" type="xs:string"/> <xs:element name="locale" type="xs:string" minOccurs="0"/> <xs:element name="currency" type="xs:string"/> <xs:element name="tax-calculation-valid" type="xs:boolean" minOccurs="0"/> <xs:element name="calculation-rule-set" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
In version 11.5.0 the field order-reference-id
has been marked as deprecated and replaced by customer-order-id
. In addition, the new field supplier-order-id
has been added.
The buying user data are exported using the customer
element. It contains a customer-id
and a user-id
, which are equal in B2C context but differ in B2B context, since the customer represents the company for which the user has done the purchase.
<xs:element name="customer" type="tns:CustomerType"/> <xs:complexType name="CustomerType"> <xs:complexContent> <xs:extension base="tns:HeaderElementType"> <xs:sequence> <xs:element name="customer-id" type="xs:string" nillable="true"/> <xs:element name="external-customer-no" type="xs:string" minOccurs="0"/> <xs:element name="external-customer-urn" type="xs:string" minOccurs="0"/> <xs:element name="account" type="xs:string" minOccurs="0"/> <xs:element name="customer-type-id" type="xs:string" minOccurs="0"/> <xs:element name="calculation-type" type="xs:string" minOccurs="0"/> <xs:element name="first-name" type="xs:string" minOccurs="0"/> <xs:element name="last-name" type="xs:string" minOccurs="0"/> <xs:element name="company-name1" type="xs:string" minOccurs="0"/> <xs:element name="company-name2" type="xs:string" minOccurs="0"/> <xs:element name="department" type="xs:string" minOccurs="0"/> <xs:element name="user-id" type="xs:string"/> <xs:element name="taxation-id" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The elements customer-id
and account
were available since the introduction of this order export framework. The others were added with version 7.4.1. In version 7.4.2, the customer-id
and user-id
fields were made mandatory, while account
became optional. The external-customer-no
and external-customer-urn
fields were introduced in version 11.4.0.
All required data for sending the billing address are exported into the invoice-to-address
element by reusing the subelement contact
. It is defined in the Contact section.
<xs:element name="invoice-to-address" type="tns:InvoiceToAddressType"/> <xs:complexType name="InvoiceToAddressType"> <xs:complexContent> <xs:extension base="tns:HeaderElementType"> <xs:sequence> <xs:element ref="tns:contact" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The order-items
element covers all items purchased in this order. A single order item provides information about the line item itself, the product, its pricing as well as additional data regarding warranties and gifting options.
<xs:element name="order-items" type="tns:OrderItemsType"/> <xs:complexType name="OrderItemsType"> <xs:complexContent> <xs:extension base="tns:OrderElementType"> <xs:sequence> <xs:element name="order-item" type="tns:OrderItemType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="OrderItemElementType" abstract="true"> <xs:sequence/> </xs:complexType> <xs:complexType name="OrderItemType"> <xs:sequence> <xs:element name="custom-attributes" type="tns:CustomAttributesType" minOccurs="0"/> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="tns:line-item"/> <xs:element ref="tns:item-product"/> <xs:element ref="tns:product"/> <xs:element ref="tns:item-pricing"/> <xs:element ref="tns:warranty"/> <xs:element ref="tns:gifting"/> </xs:choice> </xs:sequence> <xs:attribute name="id" type="xs:string" use="required"/> </xs:complexType>
The custom-attributes
element was introduced in versions 11.4.0 and 7.10.40.2.
The line-item
element is comprised of some general information about the line item like quantity, fulfillment status and the bucket it is shipped with. The hidden
element also indicates if it was a hidden gift to the purchasing user.
<xs:element name="line-item" type="tns:LineItemType"/> <xs:complexType name="LineItemType"> <xs:complexContent> <xs:extension base="tns:OrderItemElementType"> <xs:sequence> <xs:element name="fulfillment-status" type="xs:string"/> <xs:element name="quantity" type="tns:QuantityType"/> <xs:element name="bucket-id" type="xs:string" minOccurs="0"/> <xs:element name="hidden" type="xs:boolean"/> <xs:element name="desired-delivery-date" type="xs:dateTime" minOccurs="0"/> <xs:element name="customer-product-id" type="xs:string" minOccurs="0"/> <xs:element name="partial-order-no" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="QuantityType"> <xs:simpleContent> <xs:extension base="xs:decimal"> <xs:attribute name="unit" type="xs:string"/> </xs:extension> </xs:simpleContent> </xs:complexType>
The customer-product-id
and partial-order-no
fields were introduced in version 11.5.0.
The element item-product
covers all product information by reusing the product
element described in the Product section.
<xs:element name="item-product" type="tns:ItemProductType"/> <xs:complexType name="ItemProductType"> <xs:complexContent> <xs:extension base="tns:OrderItemElementType"> <xs:sequence> <xs:element ref="tns:product" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The item-pricing
element is a container for details provided by the general pricing
element, see the Pricing section for details.
<xs:element name="item-pricing" type="tns:ItemPricingType"/> <xs:complexType name="ItemPricingType"> <xs:complexContent> <xs:extension base="tns:OrderItemElementType"> <xs:sequence> <xs:element ref="tns:pricing" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The data of a warranty bought together with a product is exported within the order item of the product it belongs to. It is comprised of two sub elements: warranty-product
and warranty-pricing
.
<xs:element name="warranty" type="tns:WarrantyType"/> <xs:complexType name="WarrantyType"> <xs:complexContent> <xs:extension base="tns:OrderItemElementType"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="tns:warranty-product"/> <xs:element ref="tns:warranty-pricing"/> </xs:choice> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="WarrantyElementType"> <xs:sequence/> </xs:complexType>
The warranty-product
element covers all detail information of the warranty product itself by reusing the product
element, see the Product section for more details.
<xs:element name="warranty-product" type="tns:WarrantyProductType"/> <xs:complexType name="WarrantyProductType"> <xs:complexContent> <xs:extension base="tns:WarrantyElementType"> <xs:sequence> <xs:element ref="tns:product" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The warranty-pricing
element is also only a container for the price information. All details are exported by reusing the pricing
element, see the Pricing section for more details.
<xs:element name="warranty-pricing" type="tns:WarrantyPricingType"/> <xs:complexType name="WarrantyPricingType"> <xs:complexContent> <xs:extension base="tns:WarrantyElementType"> <xs:sequence> <xs:element ref="tns:pricing" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
Gifting options for a product, which may be gift messages and/or gift wraps, are exported using this container element. The content is composed of the possible options mentioned before. Both are described in the following sections.
<xs:element name="gifting" type="tns:GiftingType"/> <xs:complexType name="GiftingType"> <xs:complexContent> <xs:extension base="tns:OrderItemElementType"> <xs:sequence> <xs:element ref="tns:gift-message" minOccurs="0"/> <xs:element ref="tns:gift-wrap" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
A gift message is exported using the gift-message
element. It covers the product and pricing details by using the general elements for these (see Product and Pricing). The detailed information of the message itself are written to the pack-slip-message
and covers the sender, recipient and message data. The definition of the used type PackSlipMessageType
can be found in the Buckets section.
<xs:element name="gift-message" type="tns:GiftMessageType"/> <xs:element name="gift-message-pricing" type="tns:GiftMessagePricingType"/> <xs:element name="gift-message-product" type="tns:GiftMessageProductType"/> <xs:complexType name="GiftMessageType"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="tns:gift-message-product"/> <xs:element ref="tns:gift-message-pricing"/> </xs:choice> </xs:sequence> </xs:complexType> <xs:complexType name="GiftMessageElementType" abstract="true"> <xs:sequence/> </xs:complexType> <xs:complexType name="GiftMessagePricingType"> <xs:complexContent> <xs:extension base="tns:GiftMessageElementType"> <xs:sequence> <xs:element name="description" type="xs:string" minOccurs="0"/> <xs:element ref="tns:pricing" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="GiftMessageProductType"> <xs:complexContent> <xs:extension base="tns:GiftMessageElementType"> <xs:sequence> <xs:element name="pack-slip-message" type="tns:PackSlipMessageType" minOccurs="0"/> <xs:element ref="tns:product" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The gift-wrap
container element is used when the buyer ordered a wrapping service. Similar to the other gift option, it covers the product and pricing details by using the general elements for these (see Product and Pricing).
<xs:element name="gift-wrap" type="tns:GiftWrapType"/> <xs:element name="gift-wrap-pricing" type="tns:GiftWrapPricingType"/> <xs:element name="gift-wrap-product" type="tns:GiftWrapProductType"/> <xs:complexType name="GiftWrapType"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="tns:gift-wrap-pricing"/> <xs:element ref="tns:gift-wrap-product"/> </xs:choice> </xs:sequence> </xs:complexType> <xs:complexType name="GiftWrapElementType" abstract="true"> <xs:sequence/> </xs:complexType> <xs:complexType name="GiftWrapPricingType"> <xs:complexContent> <xs:extension base="tns:GiftWrapElementType"> <xs:sequence> <xs:element name="description" type="xs:string" minOccurs="0"/> <xs:element ref="tns:pricing" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="GiftWrapProductType"> <xs:complexContent> <xs:extension base="tns:GiftWrapElementType"> <xs:sequence> <xs:element ref="tns:product" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
All shipping buckets of an order are exported to this container. There is always at least one bucket. The details are printed out in the single element bucket
, which contains pricing information as well as data of the used shipping method. If a shipping bucket has a pack slip message, its data is exported into the pack-slip-message
element. It covers the sender, recipient and message data as string.
<xs:element name="buckets" type="tns:BucketsType"/> <xs:complexType name="BucketsType"> <xs:complexContent> <xs:extension base="tns:OrderElementType"> <xs:sequence> <xs:element name="bucket" type="tns:BucketType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="OrderElementType" abstract="true"> <xs:sequence/> </xs:complexType> <xs:complexType name="BucketType"> <xs:sequence> <xs:element name="pack-slip-message" type="tns:PackSlipMessageType" minOccurs="0"/> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="tns:bucket-pricing"/> <xs:element ref="tns:shipping-method"/> </xs:choice> </xs:sequence> <xs:attribute name="id" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="PackSlipMessageType"> <xs:sequence> <xs:element name="from" type="xs:string" minOccurs="0"/> <xs:element name="to" type="xs:string" minOccurs="0"/> <xs:element name="message" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType>
Similar to all other pricing sections, also the bucket-pricing
element is a container for details provided by the general pricing
element. The element description can be found in the Pricing section.
<xs:element name="bucket-pricing" type="tns:BucketPricingType"/> <xs:complexType name="BucketPricingType"> <xs:complexContent> <xs:extension base="tns:BucketElementType"> <xs:sequence> <xs:element name="price" type="tns:MoneyType" minOccurs="0"/> <xs:element ref="tns:pricing" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
The shipping-method
element contains all information about the shipping method chosen for this bucket. It references the used address, see Destinations, for this shipment. Furthermore, it holds data like the minimum and maximum delivery time, the start date (the date, when the shipping method became active) and some special instructions given by the buyer.
<xs:element name="shipping-method" type="tns:ShippingMethodeType"/> <xs:complexType name="ShippingMethodeType"> <xs:complexContent> <xs:extension base="tns:BucketElementType"> <xs:sequence> <xs:element name="address-id" type="xs:string"/> <xs:element name="delivery-date" type="xs:dateTime" minOccurs="0"/> <xs:element name="end-date" type="xs:dateTime" minOccurs="0"/> <xs:element name="instructions" type="xs:string" minOccurs="0"/> <xs:element name="sequence-number" type="xs:int"/> <xs:element name="shipping-method" type="xs:string" minOccurs="0"/> <xs:element name="ship-time-max-days" type="xs:int"/> <xs:element name="ship-time-min-days" type="xs:int"/> <xs:element name="start-date" type="xs:dateTime"/> </xs:sequence> <xs:attribute name="id" type="xs:string" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="BucketElementType" abstract="true"> <xs:sequence/> </xs:complexType>
The destinations
element groups all shipping addresses. Each single address is contained in the container ship-to-address
, which is itself contained in the container destination
. The buckets that use the addresses reference them through the destinations id
attribute.
<xs:element name="destinations" type="tns:DestinationsType"/> <xs:element name="destination" type="tns:DestinationType"/> <xs:element name="ship-to-address" type="tns:ShipToAddressType"/> <xs:complexType name="DestinationsType"> <xs:complexContent> <xs:extension base="tns:OrderElementType"> <xs:sequence> <xs:element ref="tns:destination" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="DestinationType"> <xs:sequence> <xs:element ref="tns:ship-to-address" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="id" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="DestinationElementType" abstract="true"> <xs:sequence/> </xs:complexType> <xs:complexType name="ShipToAddressType"> <xs:complexContent> <xs:extension base="tns:DestinationElementType"> <xs:sequence> <xs:element ref="tns:contact" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
All payment transactions done for the order are exported to the container payment
. There may be multiple entries for payment transactions, for example, if a gift card was redeemed and the remaining amount was paid with a credit card.
<xs:element name="payment" type="tns:PaymentType"/> <xs:complexType name="PaymentType"> <xs:complexContent> <xs:extension base="tns:OrderElementType"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="tns:payment-pricing"/> <xs:element ref="tns:standard-payment-transaction"/> </xs:choice> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="PaymentElementType" abstract="true"> <xs:sequence/> </xs:complexType>
Each payment transaction is written to a separate standard-payment-transaction
element. It shows data such as the amount paid with the payment instrument, the payment costs, the status and - of course - the ID of the used payment service.
<xs:element name="standard-payment-transaction" type="tns:StandardPaymentTransactionType"/> <xs:complexType name="StandardPaymentTransactionType"> <xs:complexContent> <xs:extension base="tns:PaymentElementType"> <xs:sequence> <xs:element name="amount" type="tns:MoneyType"/> <xs:element name="cost" type="tns:MoneyType"/> <xs:element name="details" type="xs:string" minOccurs="0"/> <xs:element name="last-status-change" type="xs:dateTime" minOccurs="0"/> <xs:element ref="tns:pricing" minOccurs="0"/> <xs:element name="service-id" type="xs:string" minOccurs="0"/> <xs:element name="status" type="xs:string"/> </xs:sequence> <xs:attribute name="id" type="xs:string" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType>
The last main block in an order is the order-summary
. It is a container holding the order-pricing
element, which holds the already known pricing
element, see Pricing, and shows the accumulated (sub-)totals of the order.
<xs:element name="order-summary" type="tns:OrderSummaryType"/> <xs:element name="order-pricing" type="tns:OrderPricingType"/> <xs:complexType name="OrderSummaryType"> <xs:complexContent> <xs:extension base="tns:OrderElementType"> <xs:sequence> <xs:element ref="tns:order-pricing" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="SummaryElementType" abstract="true"> <xs:sequence/> </xs:complexType> <xs:complexType name="OrderPricingType"> <xs:complexContent> <xs:extension base="tns:SummaryElementType"> <xs:sequence> <xs:element ref="tns:pricing"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
Sample Order Export XML | Description |
---|---|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:orders xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://www.intershop.com/xml/ns/intershop/order/2.0"> <ns2:order id="00000151@PrimeTech-PrimeTechSpecials"> <ns2:custom-attributes> <ns2:simple-attribute name="PromotionMessagesFlag"> <ns2:boolean>true</ns2:boolean> </ns2:simple-attribute> </ns2:custom-attributes> <ns2:order-header> <ns2:order-process-info> <ns2:status>NEW</ns2:status> <ns2:creation-date>2013-12-16T13:20:54.404+01:00</ns2:creation-date> </ns2:order-process-info> <ns2:order-info> <ns2:document-no>00000151</ns2:document-no> <ns2:order-reference-id>ExtOrderID</ns2:order-reference-id> <ns2:customer-order-id>CustomerOrderID</ns2:customer-order-id> <ns2:supplier-order-id>SupplierOrderID</ns2:supplier-order-id> <ns2:store>PrimeTech-PrimeTechSpecials</ns2:store> <ns2:locale>en_US</ns2:locale> <ns2:currency>USD</ns2:currency> <ns2:tax-calculation-valid>true</ns2:tax-calculation-valid> <ns2:calculation-rule-set>com.intershop.sellside.appbase.b2c.capi.calculation.NetBasedCalculation_V2 </ns2:calculation-rule-set> </ns2:order-info> <ns2:customer> <ns2:customer-id>Patricia</ns2:customer-id> <ns2:account>patricia@test.intershop.de</ns2:account> <ns2:customer-type-id>PRIVATE</ns2:customer-type-id> <ns2:calculation-type>gross</ns2:calculation-type> <ns2:first-name>Patricia</ns2:first-name> <ns2:last-name>Miller</ns2:last-name> <ns2:user-id>Patricia</ns2:user-id> </ns2:customer> <ns2:invoice-to-address> <ns2:contact> <ns2:title>Mrs.</ns2:title> <ns2:first-name>Patricia</ns2:first-name> <ns2:second-name>B.</ns2:second-name> <ns2:last-name>Miller</ns2:last-name> <ns2:honorific></ns2:honorific> <ns2:phone-home>049364112677</ns2:phone-home> <ns2:phone-mobile>0491551234567</ns2:phone-mobile> <ns2:phone-business>049364112677</ns2:phone-business> <ns2:phone-business-direct>04936411267799 </ns2:phone-business-direct> <ns2:email>patricia@test.intershop.de</ns2:email> <ns2:mailing-address> <ns2:line1>Berliner Str. 20</ns2:line1> <ns2:line2></ns2:line2> <ns2:line3></ns2:line3> <ns2:city>Potsdam</ns2:city> <ns2:country>Germany</ns2:country> <ns2:country-code>DE</ns2:country-code> <ns2:postal-code>14482</ns2:postal-code> </ns2:mailing-address> </ns2:contact> </ns2:invoice-to-address> </ns2:order-header> <ns2:order-items> <ns2:order-item id="1"> <ns2:custom-attributes> <ns2:simple-attribute name="ShippingMethodDisplayName"> <ns2:string>Standard Ground</ns2:string> </ns2:simple-attribute> </ns2:custom-attributes> <ns2:line-item> <ns2:fulfillment-status>NEW</ns2:fulfillment-status> <ns2:quantity unit="">1</ns2:quantity> <ns2:bucket-id>BUCKET-000001</ns2:bucket-id> <ns2:hidden>false</ns2:hidden> <ns2:customer-product-id>CustomerProductID</ns2:customer-product-id> <ns2:partial-order-no>PartialOrderNo</ns2:partial-order-no> <ns2:desired-delivery-date>2014-03-31T00:00:00+02:00</ns2:desired-delivery-date> </ns2:line-item> <ns2:item-product> <ns2:product id="4555724@PrimeTech-PrimeTechSpecials"> <ns2:sku>4555724</ns2:sku> <ns2:name>LG 32LE3300</ns2:name> <ns2:short-description> 81.28 cm (32 ") HD Ready LED TV, 16:9, 1000000:1</ns2:short-description> <ns2:thumbnail>PrimeTech:/4XS/4555724-1068.jpg</ns2:thumbnail> <ns2:custom-attributes> <ns2:simple-attribute name="ShippingMethodDisplayName"> <ns2:string>Standard Freight Delivery</ns2:string> </ns2:simple-attribute> </ns2:custom-attributes> </ns2:product> </ns2:item-product> <ns2:item-pricing> <ns2:pricing> <ns2:sales> <ns2:single-base-price currency="USD">393.25</ns2:single-base-price> <ns2:item-price currency="USD">393.25</ns2:item-price> </ns2:sales> <ns2:item-taxes> <ns2:taxes> <ns2:amount currency="USD">74.72</ns2:amount> <ns2:rate>0.19</ns2:rate> </ns2:taxes> <ns2:tax-total currency="USD">74.72</ns2:tax-total> </ns2:item-taxes> <ns2:item-discounts> <ns2:discount> <ns2:amount currency="USD">-5.00</ns2:amount> <ns2:code>SAFE5USD</ns2:code> <ns2:description>some description</ns2:description> <ns2:promotion-id>5USDItemDiscount</ns2:promotion-id> <ns2:type>ItemValueOffDiscount</ns2:type> </ns2:discount> </ns2:item-discounts> <ns2:shipping> <ns2:cost currency="USD">100.00</ns2:cost> </ns2:shipping> <ns2:shipping-taxes> <ns2:taxes> <ns2:amount currency="USD">3.80</ns2:amount> <ns2:rate>19.0</ns2:rate> </ns2:taxes> <ns2:tax-total currency="USD">3.80</ns2:tax-total> </ns2:shipping-taxes> <ns2:shipping-discounts> <ns2:discount> <ns2:amount currency="USD">-2.34</ns2:amount> <ns2:description>Sample shipping discount</ns2:description> <ns2:promotion-id>SafeOnShipping</ns2:promotion-id> <ns2:type>ShippingPercentageOffDiscount</ns2:type> </ns2:discount> </ns2:shipping-discounts> <ns2:surcharges> <ns2:surcharge> <ns2:amount currency="USD">5.00</ns2:amount> <ns2:description>Sample surcharge</ns2:description> <ns2:display-name>Battery Deposit Surcharge</ns2:display-name> </ns2:surcharge> <ns2:total currency="USD">5.00</ns2:total> </ns2:surcharges> <ns2:import-surcharges> <ns2:surcharge> <ns2:amount currency="USD">1.00</ns2:amount> <ns2:description>Sample import surcharge</ns2:description> <ns2:display-name>An Import Surcharge</ns2:display-name> </ns2:surcharge> <ns2:total currency="USD">1.00</ns2:total> </ns2:import-surcharges> </ns2:pricing> </ns2:item-pricing> <ns2:warranty> <ns2:warranty-product> <ns2:product id="1YLEDTVSUP@PrimeTech-PrimeTechSpecials"> <ns2:sku>1YLEDTVSUP</ns2:sku> <ns2:name>1-year LED TV Support</ns2:name> <ns2:short-description>Insurance against breakdown. Warranty period: 1 year.</ns2:short-description> </ns2:product> </ns2:warranty-product> <ns2:warranty-pricing> <ns2:pricing> <ns2:sales> <ns2:single-base-price currency="USD">100</ns2:single-base-price> <ns2:item-price currency="USD">100.00</ns2:item-price> </ns2:sales> <ns2:item-taxes> <ns2:taxes> <ns2:amount currency="USD">19.00</ns2:amount> <ns2:rate>0.19</ns2:rate> </ns2:taxes> <ns2:tax-total currency="USD">19.00</ns2:tax-total> </ns2:item-taxes> <ns2:surcharges> <ns2:surcharge> <ns2:amount currency="USD">5.00</ns2:amount> <ns2:description>Sample surcharge</ns2:description> <ns2:display-name>Battery Deposit Surcharge</ns2:display-name> </ns2:surcharge> <ns2:total currency="USD">5.00</ns2:total> </ns2:surcharges> <ns2:import-surcharges> <ns2:surcharge> <ns2:amount currency="USD">1.00</ns2:amount> <ns2:description>Sample import surcharge</ns2:description> <ns2:display-name>An Import Surcharge</ns2:display-name> </ns2:surcharge> <ns2:total currency="USD">1.00</ns2:total> </ns2:import-surcharges> </ns2:pricing> </ns2:warranty-pricing> </ns2:warranty> </ns2:order-item> <ns2:order-item id="3"> <ns2:line-item> <ns2:fulfillment-status>NEW</ns2:fulfillment-status> <ns2:quantity unit="">1</ns2:quantity> <ns2:bucket-id>BUCKET-000002</ns2:bucket-id> <ns2:hidden>false</ns2:hidden> </ns2:line-item> <ns2:item-product> <ns2:product id="5079807@PrimeTech-PrimeTechSpecials"> <ns2:sku>5079807</ns2:sku> <ns2:name>HP ProBook 6550b Notebook PC</ns2:name> <ns2:short-description>HP ProBook 6550b Notebook PC</ns2:short-description> <ns2:thumbnail>PrimeTech:/4XS/4808544-118.jpg</ns2:thumbnail> <ns2:custom-attributes> <ns2:simple-attribute name="ShippingMethodDisplayName"> <ns2:string>2-Business Day</ns2:string> </ns2:simple-attribute> </ns2:custom-attributes> </ns2:product> </ns2:item-product> <ns2:item-pricing> <ns2:pricing> <ns2:sales> <ns2:single-base-price currency="USD">1000</ns2:single-base-price> <ns2:item-price currency="USD">1000.00</ns2:item-price> </ns2:sales> <ns2:item-taxes> <ns2:taxes> <ns2:amount currency="USD">190.00</ns2:amount> <ns2:rate>0.19</ns2:rate> </ns2:taxes> <ns2:tax-total currency="USD">190.00</ns2:tax-total> </ns2:item-taxes> <ns2:shipping> <ns2:cost currency="USD">30.11</ns2:cost> </ns2:shipping> <ns2:shipping-taxes> <ns2:taxes> <ns2:amount currency="USD">3.80</ns2:amount> <ns2:rate>19.0</ns2:rate> </ns2:taxes> <ns2:tax-total currency="USD">3.80</ns2:tax-total> </ns2:shipping-taxes> </ns2:pricing> </ns2:item-pricing> <ns2:gifting> <ns2:gift-message> <ns2:gift-message-product> <ns2:pack-slip-message> <ns2:from>patricia@test.intershop.de</ns2:from> <ns2:to>test@test.intershop.de</ns2:to> <ns2:message>A Christmas Gift Message</ns2:message> </ns2:pack-slip-message> <ns2:product id="ChristmasGiftMessage@PrimeTech-PrimeTechSpecials"> <ns2:sku>ChristmasGiftMessage</ns2:sku> <ns2:name>Christmas Gift Message</ns2:name> <ns2:short-description>A Christmas theme gift card message.</ns2:short-description> <ns2:custom-attributes> <ns2:simple-attribute name="GiftMessage"> <ns2:string><?xml version="1.0" ... </ns2:string> </ns2:simple-attribute> </ns2:custom-attributes> </ns2:product> </ns2:gift-message-product> <ns2:gift-message-pricing> <ns2:description>A Christmas theme gift card message.</ns2:description> <ns2:pricing> <ns2:sales> <ns2:single-base-price currency="USD">1.95</ns2:single-base-price> <ns2:item-price currency="USD">1.95</ns2:item-price> </ns2:sales> <ns2:item-taxes> <ns2:taxes> <ns2:amount currency="USD">0.37</ns2:amount> <ns2:rate>0.19</ns2:rate> </ns2:taxes> <ns2:tax-total currency="USD">0.37</ns2:tax-total> </ns2:item-taxes> <ns2:import-surcharges> <ns2:surcharge> <ns2:amount currency="USD">1.00</ns2:amount> <ns2:description>Sample import surcharge</ns2:description> <ns2:display-name>An Import Surcharge</ns2:display-name> </ns2:surcharge> <ns2:total currency="USD">1.00</ns2:total> </ns2:import-surcharges> </ns2:pricing> </ns2:gift-message-pricing> </ns2:gift-message> <ns2:gift-wrap> <ns2:gift-wrap-product> <ns2:product id="ChristmasGiftWrap@PrimeTech-PrimeTechSpecials"> <ns2:sku>ChristmasGiftWrap</ns2:sku> <ns2:name>Christmas Gift Wrap</ns2:name> <ns2:short-description>Christmas Gift Wrap Merry Christmas</ns2:short-description> </ns2:product> </ns2:gift-wrap-product> <ns2:gift-wrap-pricing> <ns2:description>Christmas Gift Wrap Merry Christmas</ns2:description> <ns2:pricing> <ns2:sales> <ns2:single-base-price currency="USD">2.95</ns2:single-base-price> <ns2:item-price currency="USD">2.95</ns2:item-price> </ns2:sales> <ns2:item-taxes> <ns2:taxes> <ns2:amount currency="USD">0.56</ns2:amount> <ns2:rate>0.19</ns2:rate> </ns2:taxes> <ns2:tax-total currency="USD">0.56</ns2:tax-total> </ns2:item-taxes> <ns2:import-surcharges> <ns2:surcharge> <ns2:amount currency="USD">1.00</ns2:amount> <ns2:description>Sample import surcharge</ns2:description> <ns2:display-name>An Import Surcharge</ns2:display-name> </ns2:surcharge> <ns2:total currency="USD">1.00</ns2:total> </ns2:import-surcharges> </ns2:pricing> </ns2:gift-wrap-pricing> </ns2:gift-wrap> </ns2:gifting> </ns2:order-item> </ns2:order-items> <ns2:buckets> <ns2:bucket id="BUCKET-000002"> <ns2:shipping-method id="STD_2DAY"> <ns2:address-id>ADDRESS-000001</ns2:address-id> <ns2:delivery-date>2013-12-16T15:41:44.645+01:00</ns2:delivery-date> <ns2:instructions>do something special</ns2:instructions> <ns2:sequence-number>30</ns2:sequence-number> <ns2:ship-time-max-days>2</ns2:ship-time-max-days> <ns2:ship-time-min-days>1</ns2:ship-time-min-days> <ns2:start-date>2013-12-12T15:41:44.645+01:00</ns2:start-date> </ns2:shipping-method> <ns2:bucket-pricing> <ns2:pricing> <ns2:shipping> <ns2:cost currency="USD">30.11</ns2:cost> </ns2:shipping> </ns2:pricing> </ns2:bucket-pricing> </ns2:bucket> <ns2:bucket id="BUCKET-000001"> <ns2:shipping-method id="TRUCK"> <ns2:address-id>ADDRESS-000002</ns2:address-id> <ns2:instructions></ns2:instructions> <ns2:sequence-number>50</ns2:sequence-number> <ns2:ship-time-max-days>7</ns2:ship-time-max-days> <ns2:ship-time-min-days>5</ns2:ship-time-min-days> <ns2:start-date>2013-12-12T15:41:44.647+01:00</ns2:start-date> </ns2:shipping-method> <ns2:bucket-pricing> <ns2:pricing> <ns2:shipping> <ns2:cost currency="USD">100.00</ns2:cost> </ns2:shipping> </ns2:pricing> </ns2:bucket-pricing> </ns2:bucket> </ns2:buckets> <ns2:destinations> <ns2:destination id="ADDRESS-000002"> <ns2:ship-to-address> <ns2:contact> <ns2:title>Mrs.</ns2:title> <ns2:first-name>Patricia</ns2:first-name> <ns2:last-name>Miller</ns2:last-name> <ns2:phone-home>049364112677</ns2:phone-home> <ns2:mailing-address> <ns2:line1>Berliner Str. 20</ns2:line1> <ns2:city>Potsdam</ns2:city> <ns2:country>Germany</ns2:country> <ns2:country-code>DE</ns2:country-code> <ns2:postal-code>14482</ns2:postal-code> </ns2:mailing-address> </ns2:contact> </ns2:ship-to-address> </ns2:destination> <ns2:destination id="ADDRESS-000001"> <ns2:ship-to-address> <ns2:contact> <ns2:title>Mrs.</ns2:title> <ns2:first-name>B. Patricia</ns2:first-name> <ns2:last-name>Miller</ns2:last-name> <ns2:mailing-address> <ns2:line1>Intershop Tower</ns2:line1> <ns2:city>Jena</ns2:city> <ns2:country>Germany</ns2:country> <ns2:country-code>DE</ns2:country-code> <ns2:postal-code>07740</ns2:postal-code> </ns2:mailing-address> </ns2:contact> </ns2:ship-to-address> </ns2:destination> </ns2:destinations> <ns2:payment> <ns2:standard-payment-transaction id="BPS_INVOICE-VAoKAB1.sJEAAAFCnRYxqPta"> <ns2:amount currency="USD">1792.80</ns2:amount> <ns2:cost currency="USD">10</ns2:cost> <ns2:pricing> <ns2:payment-taxes> <ns2:taxes> <ns2:amount currency="USD">0.70</ns2:amount> <ns2:rate>0.07</ns2:rate> </ns2:taxes> <ns2:tax-total currency="USD">0.70</ns2:tax-total> </ns2:payment-taxes> </ns2:pricing> <ns2:service-id>BPS_INVOICE</ns2:service-id> <ns2:status>CREATED</ns2:status> </ns2:standard-payment-transaction> </ns2:payment> <ns2:order-summary> <ns2:order-pricing> <ns2:pricing> <ns2:order-discounts> <ns2:discount> <ns2:amount currency="USD">-10.00</ns2:amount> <ns2:code>INTERSHOP</ns2:code> <ns2:description>For orders over 200 USD, a 10 USD Order discount is guaranteed...</ns2:description> <ns2:promotion-id>10USDOrderDiscount</ns2:promotion-id> <ns2:type>OrderValueOffDiscount</ns2:type> </ns2:discount> </ns2:order-discounts> <ns2:shipping-discounts> <ns2:discount> <ns2:amount currency="USD">-111.11</ns2:amount> <ns2:description>For LED TVs the shipping is free.</ns2:description> <ns2:promotion-id>FreeShippingOnLEDTVs</ns2:promotion-id> <ns2:type>ShippingPercentageOffDiscount</ns2:type> </ns2:discount> </ns2:shipping-discounts> <ns2:order-taxes> <ns2:tax-total> <ns2:tax-group-name>0.0</ns2:tax-group-name> <ns2:tax-total currency="USD">0.00</ns2:tax-total> </ns2:tax-total> <ns2:tax-total> <ns2:tax-group-name>19.0</ns2:tax-group-name> <ns2:tax-total currency="USD">284.65</ns2:tax-total> </ns2:tax-total> </ns2:order-taxes> <ns2:totals> <ns2:item-total currency="USD">1493.25</ns2:item-total> <ns2:item-discounts currency="USD">-14.32</ns2:item-discounts> <ns2:shipping-costs currency="USD">130.11</ns2:shipping-costs> <ns2:item-shipping-discounts currency="USD">0.00</ns2:item-shipping-discounts> <ns2:bucket-shipping-discounts currency="USD">0.00</ns2:bucket-shipping-discounts> <ns2:order-discounts currency="USD">-10.00</ns2:order-discounts> <ns2:order-shipping-discounts currency="USD">-130.11</ns2:order-shipping-discounts> <ns2:payment-costs currency="USD">10.70</ns2:payment-costs> <ns2:tax currency="USD">284.65</ns2:tax> <ns2:duties currency="USD">0.00</ns2:duties> <ns2:order-net-total currency="USD">1508.15</ns2:order-net-total> <ns2:order-gross-total currency="USD">1792.80</ns2:order-gross-total> </ns2:totals> </ns2:pricing> </ns2:order-pricing> </ns2:order-summary> </ns2:order> </ns2:orders> | <!-- --> <!-- Root element of the order export XML structure --> <!-- A single order --> <!-- Custom Attributes section of order --> <!-- Simple Attribute with name PromotionMessagesFlag --> <!-- Boolean value --> <!-- --> <!-- --> <!-- Order header section --> <!-- Order processing and status information --> <!-- Status of the order at the export --> <!-- Date the order was placed --> <!-- --> <!-- General order information --> <!-- Unique document number of the order --> <!-- External order reference id (depreciated) --> <!-- Customer order id --> <!-- Supplier order id --> <!-- Name of the store where the order was created --> <!-- Used locale at the checkout --> <!-- Currency used for calculating prices and costs of the order --> <!-- Flag indicating the status of the tax calculation --> <!-- Class containing the calculation rule set --> <!-- --> <!-- --> <!-- Information about the buying user --> <!-- The customer number if available, otherwise the buyer number (BusinessPartnerNo) of the buying user --> <!-- The login name of the buying user. --> <!-- The ID of the customer type --> <!-- Name of the calculation type --> <!-- Buyer first name --> <!-- Buyer last name --> <!-- Buyer number (BusinessPartnerNo) of the buying user --> <!-- --> <!-- The invoice address --> <!-- Contact information of the user receiving the invoice --> <!-- Title --> <!-- First name --> <!-- Additional name field --> <!-- Last name --> <!-- Honorific title --> <!-- Telephone number --> <!-- Mobile phone number --> <!-- Business telephone number --> <!-- Direct business telephone number --> <!-- Email address --> <!-- Mailing address of the bill --> <!-- Street line 1 --> <!-- Street line 2 --> <!-- Street line 3 --> <!-- City --> <!-- Country --> <!-- Country code --> <!-- Zip code for the city --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- List of items --> <!-- Single order item information --> <!-- Custom Attributes section of order item --> <!-- Simple Attribute with name ShippingMethodDisplayName --> <!-- String value --> <!-- --> <!-- --> <!-- Information about the line item --> <!-- The fulfillment state at the export --> <!-- Quantity bought of this product --> <!-- ID of the bucket in which the item is placed --> <!-- Flag whether it's a hidden gift or not --> <!-- Value of customer product id --> <!-- Value of partial order no --> <!-- Value of desired delivery date --> <!-- --> <!-- Information of the product in the line item --> <!-- Unique product ID comprised by the SKU and the store --> <!-- Product SKU --> <!-- Product name --> <!-- Product short description --> <!-- URI to the product thumbnail --> <!-- Custom attributes of the shipping method --> <!-- Name single custom attribute --> <!-- Custom attribute value. Its type is defined by the surrounding tag --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- Item pricing information --> <!-- General pricing section --> <!-- Sales section for item prices --> <!-- Single base price of the product --> <!-- Item price --> <!-- --> <!-- Taxes on item prices --> <!-- All taxes applied to the product line item price --> <!-- Tax amount for items --> <!-- Tax rate --> <!-- --> <!-- Sum of the taxes applied to the product line item --> <!-- --> <!-- Order value discount information --> <!-- Discount details --> <!-- Rebate amount --> <!-- Used promotion code --> <!-- Promotion description --> <!-- ID of the applied promotion --> <!-- Promotion Type --> <!-- --> <!-- --> <!-- Shipping section for item prices --> <!-- Shipping cost part for this line item --> <!-- --> <!-- Section for taxes on the partial shipping costs --> <!-- All taxes applied to the product line item's shipping costs --> <!-- Tax amount for the shipping cost part --> <!-- Tax rate for shipping --> <!-- --> <!-- Sum of the taxes applied to the product line item's shipping costs --> <!-- --> <!-- Order shipping discount information --> <!-- Discount details --> <!-- Rebate amount --> <!-- Promotion description --> <!-- ID of the applied promotion --> <!-- Promotion Type --> <!-- --> <!-- --> <!-- List of item surcharges --> <!-- Single surcharge information --> <!-- Amount of the surcharge --> <!-- Surcharge Description --> <!-- Display name of the surcharge --> <!-- --> <!-- Total over all item surcharges --> <!-- --> <!-- List of import surcharges --> <!-- Single surcharge information --> <!-- Amount of the surcharge --> <!-- Surcharge Description --> <!-- Display name of the surcharge --> <!-- --> <!-- Total over all import surcharges --> <!-- --> <!-- --> <!-- --> <!-- Information about warranties bought together with this product line item --> <!-- The warranty product --> <!-- Detailed information of the warranty --> <!-- Warranty SKU --> <!-- Warranty name --> <!-- The short description --> <!-- --> <!-- --> <!-- Price information --> <!-- General pricing section --> <!-- Sales section for item prices --> <!-- Single base price of the warranty --> <!-- Price of the warranty --> <!-- --> <!-- Taxes on warranty prices --> <!-- All taxes applied to the warranty price --> <!-- Tax amount for this warranty --> <!-- Tax rate --> <!-- --> <!-- Sum of the taxes applied to the warranty --> <!-- --> <!-- List of item surcharges --> <!-- Single surcharge information --> <!-- Amount of the surcharge --> <!-- Surcharge Description --> <!-- Display name of the surcharge --> <!-- --> <!-- Total over all item surcharges --> <!-- --> <!-- List of import surcharges --> <!-- Single surcharge information --> <!-- Amount of the surcharge --> <!-- Surcharge Description --> <!-- Display name of the surcharge --> <!-- --> <!-- Total over all import surcharges --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- Single order item information --> <!-- Information about the line item --> <!-- The fulfillment state at the export --> <!-- Quantity --> <!-- ID of the bucket in which the item is placed --> <!-- Flag whether it's a hidden gift or not --> <!-- --> <!-- Information of the product in the line item --> <!-- Unique product ID comprised by the SKU and the store --> <!-- Product SKU --> <!-- Product name --> <!-- Product short description --> <!-- URI to the product thumbnail --> <!-- Custom attributes of the shipping method --> <!-- Name single custom attribute --> <!-- Custom attribute value. Its type is defined by the surrounding tag --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- Item pricing information --> <!-- General pricing section --> <!-- Sales section for item prices --> <!-- Single base price and currency of the product --> <!-- Item price including currency --> <!-- --> <!-- Taxes on item prices --> <!-- All taxes applied to the product line item price --> <!-- Tax amount for items --> <!-- Tax rate --> <!-- --> <!-- Sum of the taxes applied to the product line item --> <!-- --> <!-- Shipping section for item prices --> <!-- Shipping cost part for this line item --> <!-- --> <!-- Section for taxes on the partial shipping costs --> <!-- All taxes applied to the product line item's shipping costs --> <!-- Tax amount for the shipping cost part --> <!-- Tax rate for shipping --> <!-- --> <!-- Sum of the taxes applied to the product line item's shipping costs --> <!-- --> <!-- --> <!-- --> <!-- List of chosen gifting options --> <!-- Gift message information --> <!-- Product information about the gift message --> <!-- Pack slip message information --> <!-- Sender information --> <!-- Recipient information --> <!-- The message entered by the buyer itself --> <!-- --> <!-- Detailed information of the gift message --> <!-- Gift message SKU --> <!-- Gift message name --> <!-- The short description --> <!-- Custom attributes of the shipping method --> <!-- Name single custom attribute --> <!-- Custom attribute value. Its type is defined by the surrounding tag --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- Gift message pricing information --> <!-- Gift message description --> <!-- General pricing section --> <!-- Sales section for item prices --> <!-- Single base price of the gift message --> <!-- Gift message item price --> <!-- --> <!-- Taxes on item prices --> <!-- All taxes applied to the product line item price --> <!-- Tax amount for items --> <!-- Tax rate --> <!-- --> <!-- Sum of the taxes applied to the product line item --> <!-- --> <!-- List of import surcharges --> <!-- Single surcharge information --> <!-- Amount of the surcharge --> <!-- Surcharge Description --> <!-- Display name of the surcharge --> <!-- --> <!-- Total over all import surcharges --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- Gift wrap information --> <!-- Gift wrap product information --> <!-- Detailed information of the gift wrap --> <!-- Gift wrap SKU --> <!-- Gift wrap name --> <!-- The short description --> <!-- --> <!-- --> <!-- Gift wrap pricing information --> <!-- Gift wrap description --> <!-- General pricing section --> <!-- Sales section for item prices --> <!-- Single base price of the gift wrap --> <!-- Currency of the single base price --> <!-- --> <!-- Taxes on item prices --> <!-- All taxes applied to the product line item price --> <!-- Tax amount for items --> <!-- Tax rate --> <!-- --> <!-- Sum of the taxes applied to the product line item --> <!-- --> <!-- List of import surcharges --> <!-- Single surcharge information --> <!-- Amount of the surcharge --> <!-- Surcharge Description --> <!-- Display name of the surcharge --> <!-- --> <!-- Total over all import surcharges --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- List of shipping buckets in this order --> <!-- Information about a single bucket --> <!-- Shipping method information. Attribute "ID" holds the unique key of the used shipping method --> <!-- ID of the address used for delivering this bucket --> <!-- The delivery date of this bucket --> <!-- Special shipping instruction given by the buyer --> <!-- Sequence number relative to other shipping methods --> <!-- Maximum shipping time in days --> <!-- Minimum shipping time in days --> <!-- Date, when the shipping method became active --> <!-- --> <!-- Pricing information for this shipping bucket --> <!-- General pricing section --> <!-- Shipping price section --> <!-- Shipping cost of this bucket --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- Information about a single bucket --> <!-- Shipping method information. Attribute "ID" holds the unique key of the used shipping method --> <!-- ID of the address used for delivering this bucket --> <!-- Special shipping instruction given by the buyer --> <!-- Sequence number relative to other shipping methods --> <!-- Maximum shipping time in days --> <!-- Minimum shipping time in days --> <!-- Date, when the shipping method became active --> <!-- --> <!-- Pricing information for this shipping bucket --> <!-- General pricing section --> <!-- Shipping price section --> <!-- Shipping cost of this bucket --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- List of shipping destinations --> <!-- Information about a single shipping destination. ID is used for referencing this address --> <!-- A single shipping address --> <!-- Contact information of the user receiving one of the buckets --> <!-- Title --> <!-- First name --> <!-- Last name --> <!-- Telephone number --> <!-- Mailing address of the delivery. Optional sub elements are omitted if empty --> <!-- Street line 1 --> <!-- City --> <!-- Country --> <!-- Country code --> <!-- Zip code for the city --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- Information about a single shipping destination. ID is used for referencing this address --> <!-- A single shipping address --> <!-- Contact information of the user receiving one of the buckets --> <!-- Title --> <!-- First name --> <!-- Last name --> <!-- Mailing address of the delivery. Optional sub elements are omitted if empty --> <!-- Street line 1 --> <!-- City --> <!-- Country --> <!-- Country code --> <!-- Zip code for the city --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- Payment information for this order --> <!-- Payment transaction ID for this order --> <!-- Amount of the payment --> <!-- Payment cost --> <!-- General pricing section --> <!-- Taxes onto payment costs --> <!-- All taxes applied to the payment costs --> <!-- Tax amount for the payment cost --> <!-- Tax rate for payment --> <!-- --> <!-- Sum of the taxes applied to the payment costs --> <!-- --> <!-- --> <!-- ID of the used payment service --> <!-- Status of the payment transaction --> <!-- --> <!-- --> <!-- Summary of the order --> <!-- Price information of the complete order --> <!-- General pricing section --> <!-- Order value discount information --> <!-- Discount details --> <!-- Rebate amount --> <!-- Used promotion code --> <!-- Promotion description --> <!-- ID of the applied promotion --> <!-- Promotion Type --> <!-- --> <!-- --> <!-- Order shipping discount information --> <!-- Discount details --> <!-- Rebate amount --> <!-- Promotion description --> <!-- ID of the applied promotion --> <!-- Promotion Type --> <!-- --> <!-- --> <!-- All applied taxes grouped by their tax rate --> <!-- Single tax group --> <!-- Tax rate applied --> <!-- Sum of taxes using this tax rate --> <!-- --> <!-- Single tax group --> <!-- Tax rate applied --> <!-- Sum of taxes using this tax rate --> <!-- --> <!-- --> <!-- Overview of order total values --> <!-- Total amount accumulated from the undiscounted prices of all product line items in the order --> <!-- Total over all applied item level value rebates (excluding any item level shipping rebates) --> <!-- Total shipping price --> <!-- Total amount of discount on item values --> <!-- Item shipping promotions total amount --> <!-- Bucket shipping promotions total amount --> <!-- Total amount of discount on order shipping --> <!-- Total payment costs --> <!-- Total tax amount for this order --> <!-- Accumulated total of all surcharges (item surcharges, shipping surcharges, duties) --> <!-- Order net total amount --> <!-- Order gross total amount --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- --> <!-- --> |