<?xml version="1.0" encoding="UTF-8" ?>
<!--

  TrackingUpdate.dtd

  Copyright (C) 2013, Shipwire Inc.  All rights reserved.

  Last modified: 2013-03-19

-->
<!ELEMENT TrackingUpdate ((EmailAddress|Username), Password?, Server,
                           Bookmark*, OrderNo*, ShipwireId*, IncludeShippedOnly?, IncludeHeldOnly?, IncludeHolds?, IncludeItems?) >

<!--
    Shipwire login email address, for legacy authentication [deprecated]

    New integrations should authenticate with API users via <Username>
-->
<!ELEMENT EmailAddress (#PCDATA)>

<!-- API username -->
<!ELEMENT Username (#PCDATA)>

<!--
    Password for the provided API user (<Username>) or Shipwire login
    (<EmailAddress>)

    Please enclose in a CDATA block if appropriate
-->
<!ELEMENT Password (#PCDATA)>

<!--
    Server to which to submit requests

    Production: Query live orders
          Test: Return test data
-->
<!ELEMENT Server (#PCDATA)>

<!-- Shipwire supports three methods of tracking information look-up:

 <Bookmark>
 Retrieve all tracking information posted since the last tracking information
 request.

 <OrderNo>
 Retrieve tracking information for the given customer order number (e.g. your
 shopping cart's order number)

 <ShipwireId>
 Retrieve tracking information for the order with the given Shipwire ID (e.g.
 123457890-123456-1).

-->

<!-- Use the following options:

    "1"          All Orders: Returns tracking information for all orders in the
                             Shipwire account [DEPRECATED]
    "2" Since last bookmark: Returns tracking information for all orders updated
                             since the last bookmark was set (see "3" below).
    "3"     Update bookmark: Returns tracking information for all orders updated
                             since the last bookmark was set, and then updates
                             the bookmark to right now.
-->
<!ELEMENT Bookmark (#PCDATA)>

<!-- Include only the orders with the following order number -->
<!ELEMENT OrderNo (#PCDATA)>

<!-- Include only the order with the following Shipwire ID -->
<!ELEMENT ShipwireId (#PCDATA)>

<!-- Only include orders which have shipped -->
<!ELEMENT IncludeShippedOnly EMPTY>

<!-- Only include orders which are held -->
<!ELEMENT IncludeHeldOnly EMPTY>

<!-- Include any uncleared order holds -->
<!ELEMENT IncludeHolds EMPTY>

<!-- Include order item details and related data (such as recorded serial numbers) -->
<!ELEMENT IncludeItems EMPTY>
