How It Works

This section explains how the ordering service and methods work and how we recommend implementing it. Below you will find basic flow diagrams that layout an implementation process and specifications on the XML documents that are returned.

Ordering Process

The ordering process allows you to pass multiple orders in one XML file to the required ordering method. This will create a basket for all orders and all related order lines and submit the basket for despatch.

Validating Order Inventory

A new feature of XML-3 ordering is that you can check the inventory you want live before placing the order. The 'ValidateOrderInventory' method allows you to check stock availablity and get a sychronous response in seconds before placing your order. This reduces chances of stock outages and allows you to retrieve the up to date prices. The outbound stock and pricing methods only allow maximum of one download every 10 minutes for stock and 30 minutes for pricing. Stock levels especially can change dramtically in a ten minute period. This is why we have introduced this new feature. The 'PlaceOrders' method does not require the 'ValidateOrderInventory' method to be used but we recommend it as a practice. Below is an example of a return for the 'ValidateOrderInventory' method. You can download example files of both the return and send invetory check XML as well as the XSD's from the downlods section of this site.

Placing Orders

Previously our XML API has been limited to you only being able to process one order at a time and one line item at a time. This has proven to be slow and complicated to implement. This is why in XML-3 we have changed this idea completely. With the 'PlaceOrders' method you can now not only process a complete order in one request but you can process multiple orders in one request. The 'PlaceOrders' method submits the orders for despatch and returns a confirmation of all items based on the order flags you send. The method will return you the unique Basket ID and VIP Order Number that has been assigned to each of your orders on confirmation. Below is an example return from the 'PlaceOrders' method. You can download example files of both the return and send XML as well as the XSD's from the downloads section of this site.

Order Flags

Some new features of the XML-3 ordering methods are the Fill/Kill, BackOrder and DirectShip flags. These flags allow you to configure your orders to react with XML-3 in unique ways specific to your requirements. Below is a list of the rules applied to each of the above flags.

Flag Description
Fill/Kill This flag is more commonly used with white label orders being delivered to the end user. The Fill/Kill flag indicates that if any line on the order cannot be fulfilled then the entire order should be cancelled. This flag would also be used in conjunction with the DirectShip flag. If the Fill/Kill flag is specified then the BackOrder flag is ignored.
BackOrder The back order flag allows you to say that if items you wish to order do not have enough available stock, place the remainder of stock on back order. XML-3 comes with a set of web methods to manage the stock you have on back order. If stock is not claimed within a set period of becoming available the back order is cancelled. If the back order flag is set along with the Fill/Kill flag backordering will not take place.
DirectShip The direct ship flag allows you to tell XML-3 that the order is being delivered directly to your customer (end user) or being delivered to your own supply warehouse. If Direct Ship is set then XML-3 can generate bespoke despatch documentation to be supplied to the end user. You can choose to have your own information and logo stamped on the documentation or simply plain un-branded documents.