<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.dhl.com/datatypes_EA" xmlns="http://www.dhl.com/datatypes_EA" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified">
    <xsd:element name="DataTypes">
        <xsd:annotation>
            <xsd:documentation>Comment describing your root element</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:simpleType name="AccountNumber">
        <xsd:annotation>
            <xsd:documentation>DHL Account Number</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:positiveInteger">
            <xsd:maxInclusive value="9999999999"/>
            <xsd:minInclusive value="100000000"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="AccountType">
        <xsd:annotation>
            <xsd:documentation>Account Type by method of payment ( DHL account vs. Credit card)</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="1"/>
			<!--Updated by Amruta on 07-Feb-08 for charge card removal requirement-->
			<xsd:enumeration value="D"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="AddressLine">
        <xsd:annotation>
            <xsd:documentation>Address Line</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="35" fixed="false"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="AdvanceDaysNotice">
        <xsd:annotation>
            <xsd:documentation>Days of advance notice required</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:nonNegativeInteger">
            <xsd:pattern value="\d{0,3}"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="AWBNumber">
        <xsd:annotation>
            <xsd:documentation>Airway bill number</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="10"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="DHLRoutingCode">
        <xsd:annotation>
            <xsd:documentation>Routing Code Text</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="InternalServiceCode">
        <xsd:annotation>
            <xsd:documentation>Handling feature code returned by GLS</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="BillCode">
        <xsd:annotation>
            <xsd:documentation>DHL billing options</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="2"/>
            <xsd:maxLength value="3"/>
            <xsd:enumeration value="DSA"/>
            <xsd:enumeration value="DBA"/>
			<!--Commented by Amruta on 07-Feb-08 for charge card removal requirement-->
			<!--xsd:enumeration value="CC"/-->
            <xsd:enumeration value="TCA"/>
            <xsd:enumeration value="IEA"/>
            <xsd:enumeration value="UAN"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="Billing">
        <xsd:sequence>
            <xsd:element name="ShipperAccountNumber" type="AccountNumber"/>
            <xsd:element name="ShippingPaymentType" type="ShipmentPaymentType"/>
             <xsd:element name="BillingAccountNumber" type="AccountNumber" minOccurs="0"/>
            <xsd:element name="DutyPaymentType" type="DutyTaxPaymentType" minOccurs="0"/>
            <xsd:element name="DutyAccountNumber" type="AccountNumber" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="ChargeCardConfNo">
        <xsd:annotation>
            <xsd:documentation>Charge card confirmation number</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:positiveInteger">
            <xsd:pattern value="\d{0,6}"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ChargeCardExpDateValidator">
        <xsd:annotation>
            <xsd:documentation>Charge card expiration date</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:positiveInteger">
            <xsd:pattern value="(0[1-9]|1[0-2])\d{1}[0-9]"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ChargeCardNo">
        <xsd:annotation>
            <xsd:documentation>Charge card number</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:positiveInteger">
            <xsd:minInclusive value="1000000000000"/>
            <xsd:maxInclusive value="9999999999999999"/>
            <xsd:pattern value="\d{13,16}"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="ChargeCard">
        <xsd:sequence>
            <xsd:element name="ChargeCardNo" type="ChargeCardNo"/>
            <xsd:element name="ChargeCardType" type="ChargeCardType"/>
            <xsd:element name="ChargeCardConfNo" type="ChargeCardConfNo"/>
            <xsd:element name="ChargeCardExpiryDate" type="ChargeCardExpDateValidator"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="ChargeCardType">
        <xsd:annotation>
            <xsd:documentation>Charge card issuer type</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="2"/>
            <xsd:enumeration value="AM"/>
            <xsd:enumeration value="DC"/>
            <xsd:enumeration value="DI"/>
            <xsd:enumeration value="MC"/>
            <xsd:enumeration value="VI"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="City">
        <xsd:annotation>
            <xsd:documentation>City name</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="35"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="CommodityCode">
        <xsd:annotation>
            <xsd:documentation>Commodity codes for shipment type</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
			<xsd:minLength value="1"/>
           <xsd:maxLength value="20"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="CommodityName">
        <xsd:annotation>
            <xsd:documentation>Commodity name for shipment content</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="35"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="Commodity">
        <xsd:sequence>
            <xsd:element name="CommodityCode" type="CommodityCode"/>
            <xsd:element name="CommodityName" type="CommodityName" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="CommunicationAddress">
        <xsd:annotation>
            <xsd:documentation>Communications line number: phone number, fax number</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="50"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="CommunicationType">
        <xsd:annotation>
            <xsd:documentation>Communications line type (P: phone, F: fax)</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="1"/>
            <xsd:enumeration value="P"/>
            <xsd:enumeration value="F"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="CompanyNameValidator">
        <xsd:annotation>
            <xsd:documentation>Name of company / business</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="35"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="Consignee">
        <xsd:sequence>
            <xsd:element name="CompanyName" type="CompanyNameValidator" minOccurs="0"/>
            <xsd:element name="AddressLine" type="AddressLine" maxOccurs="3"/>
            <xsd:element name="City" type="City"/>
            <xsd:element name="Division" type="Division" minOccurs="0"/>
            <xsd:element name="PostalCode" type="PostalCode" minOccurs="0"/>
            <xsd:element name="CountryCode" type="CountryCode"/>
            <xsd:element name="CountryName" type="CountryName"/>
            <xsd:element name="FederalTaxId" minOccurs="0">
					       <xsd:simpleType>
						      <xsd:restriction base="xsd:string">
							      <xsd:minLength value="0"/>
							      <xsd:maxLength value="20"/>	
						      </xsd:restriction>
					        </xsd:simpleType>
			</xsd:element>
            <xsd:element name="Contact" type="Contact"/>            
         </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Contact">
        <xsd:sequence>
            <xsd:element name="PersonName" type="PersonName"/>
            <xsd:element name="PhoneNumber" type="PhoneNumber"/>
            <xsd:element name="PhoneExtension" type="PhoneExtension" minOccurs="0"/>
            <xsd:element name="FaxNumber" type="PhoneNumber" minOccurs="0"/>
            <xsd:element name="Telex" type="Telex" minOccurs="0"/>
            <xsd:element name="Email" type="Email" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="PhoneExtension">
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="5"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="CountryCode">
        <xsd:annotation>
            <xsd:documentation>ISO country codes</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="2"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="CountryName">
        <xsd:annotation>
            <xsd:documentation>ISO country name</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="35"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="CourierMsg">
        <xsd:annotation>
            <xsd:documentation>Courier message for printing on airway bill</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="90"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="CurrencyCode">
        <xsd:annotation>
            <xsd:documentation>ISO currency code</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="3"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="CurrencyName">
        <xsd:annotation>
            <xsd:documentation>ISO currency name</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="35"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="DateTime">
        <xsd:annotation>
            <xsd:documentation>Date and time</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:dateTime"/>
    </xsd:simpleType>
    <xsd:simpleType name="Date">
        <xsd:annotation>
            <xsd:documentation>Date only</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:date"/>
    </xsd:simpleType>
    <xsd:simpleType name="DayHour">
        <xsd:annotation>
            <xsd:documentation>Day and hour only</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="(0[1-9]|1[0-9]|2[0-9]|3[0-1]) ([01-24])"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="DoorTo">
        <xsd:annotation>
            <xsd:documentation>Defines the type of delivery service that applies to the shipment</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="2"/>
            <xsd:enumeration value="DD"/>
            <xsd:enumeration value="DA"/>
            <xsd:enumeration value="AA"/>
            <xsd:enumeration value="DC"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="Dutiable">
        <xsd:sequence>
            <xsd:element name="DeclaredValue" type="Money" minOccurs="0"/>
            <xsd:element name="DeclaredCurrency" type="CurrencyCode" minOccurs="0"/>
            <xsd:element name="ShipperEIN" minOccurs="0">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:maxLength value="20"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ConsigneeEIN" minOccurs="0">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:maxLength value="20"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
            <xsd:element name="TermsOfTrade" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="DutyTaxPaymentType">
        <xsd:annotation>
            <xsd:documentation>Duty and tax charge payment type (S:Shipper, R:Recipient, T:Third Party/Other)</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="1"/>
            <xsd:enumeration value="S"/>
            <xsd:enumeration value="R"/>
            <xsd:enumeration value="T"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="DivisionCode">
        <xsd:annotation>
            <xsd:documentation>Division (e.g. state, prefecture, etc.) code</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="2"/>
	    <xsd:maxLength value="10"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Division">
        <xsd:annotation>
            <xsd:documentation>Division (e.g. state, prefecture, etc.) name</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="35"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="EmailBody">
        <xsd:annotation>
            <xsd:documentation>Body of an email message</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="255"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="Email">
        <xsd:annotation>
            <xsd:documentation>Email message</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="From" type="EmailAddress"/>
            <xsd:element name="To" type="EmailAddress"/>
            <xsd:element name="cc" type="EmailAddress" minOccurs="0" maxOccurs="5"/>
            <xsd:element name="Subject" type="xsd:string" minOccurs="0"/>
            <xsd:element name="ReplyTo" type="EmailAddress" minOccurs="0"/>
            <xsd:element name="Body" type="EmailBody" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="EmailAddress">
        <xsd:annotation>
            <xsd:documentation>Email address containing '@'</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string"/>
    </xsd:simpleType>
    <xsd:complexType name="ExportDeclaration">
        <xsd:sequence>
            <xsd:element name="InterConsignee" minOccurs="0">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                        <xsd:maxLength value="70"/>
                        <xsd:minLength value="0"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="IsPartiesRelation" type="YesNo" minOccurs="0"/>
 	    <xsd:element name="SignatureName" type="SignatureName" minOccurs="0"/>
	    <xsd:element name="SignatureTitle" type="SignatureTitle" minOccurs="0"/>
            <xsd:element name="ExportReason" type="ExportReason" minOccurs="0"/>
            <xsd:element name="ExportReasonCode" type="ExportReasonCode" minOccurs="0"/>
            <xsd:element name="ExportLineItem" type="ExportLineItem" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation>specifics  about  each of the line item</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ExportLineItem">
        <xsd:sequence>
            <xsd:element name="LineNumber" type="LineNumber"/>
            <xsd:element name="Quantity" type="Quantity"/>
            <xsd:element name="QuantityUnit" type="QuantityUnit"/>
            <xsd:element name="Description" type="xsd:string"/>
            <xsd:element name="Value" type="xsd:float"/>
            <xsd:element name="IsDomestic" type="YesNo" minOccurs="0"/>
            <xsd:element name="CommodityCode" type="CommodityCode" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="SignatureName">
		<xsd:annotation>
			<xsd:documentation>Signature name </xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="35"/>
		</xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="SignatureTitle">
		<xsd:annotation>
			<xsd:documentation>Signature title </xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="35"/>
		</xsd:restriction>
    </xsd:simpleType>
     <xsd:simpleType name="ExportReasonCode">
        <xsd:annotation>
            <xsd:documentation>Export reason code (P:Permanent, T:Temporary, R:Re-Export)</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="1"/>
            <xsd:enumeration value="P"/>
            <xsd:enumeration value="T"/>
            <xsd:enumeration value="R"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="GlobalProductCode">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
            <xsd:maxLength value="4"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ExportReason">
        <xsd:annotation>
            <xsd:documentation>Export reason</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="1"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="IDType">
        <xsd:annotation>
            <xsd:documentation>ID Type</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="SSN"/>
            <xsd:enumeration value="EIN"/>
            <xsd:enumeration value="DUNS"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="PiecesEnabled">
        <xsd:annotation>
            <xsd:documentation>Pieces Enabling Flag</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Y"/>
            <xsd:enumeration value="N"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="LanguageCode">
        <xsd:annotation>
            <xsd:documentation>ISO Language Code</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string"/>
    </xsd:simpleType>
    <xsd:simpleType name="LicenseNumber">
        <xsd:annotation>
            <xsd:documentation>Export license number</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="16"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="LineNumber">
        <xsd:restriction base="xsd:positiveInteger">
            <xsd:minInclusive value="1"/>
            <xsd:maxInclusive value="200"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="LocalProductCode">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
            <xsd:maxLength value="4"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Money">
        <xsd:annotation>
            <xsd:documentation>Monetary amount (with 2 decimal precision)</xsd:documentation>
        </xsd:annotation>
        <!-- xsd:restriction base="xsd:float" -->
        <xsd:restriction base="xsd:string">
            <!-- xsd:minInclusive value="0.00"/>
            <xsd:maxInclusive value="99999999999.99"/ -->
            <!--xsd:maxLength value="14"/-->
            <xsd:pattern value="[0-9]*(.)[0-9]{2}"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="PackageType">
        <xsd:annotation>
            <xsd:documentation>Package Type
            EE DHL Express Envelope
            OD Other DHL Packaging
            CP Customer-provided packaging
            DC Document
            DM Domestic
            ED Express Document
            FR Freight
            BD Jumbo Document
            BP Jumbo Parcel
            JD Jumbo Junior Document
            JP Jumbo Junior Parcel
            PA Parcel
            JB Jumbo Box
            DF Document Flyer
            </xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="2"/>
            <xsd:enumeration value="DF"/>
            <xsd:enumeration value="EE"/>
            <xsd:enumeration value="OD"/>
            <xsd:enumeration value="CP"/>
            <xsd:enumeration value="YP"/>
            <xsd:enumeration value="JB"/>
            <xsd:enumeration value="DC"/>
            <xsd:enumeration value="DM"/>
            <xsd:enumeration value="ED"/>
            <xsd:enumeration value="FR"/>
            <xsd:enumeration value="BD"/>
            <xsd:enumeration value="BP"/>
            <xsd:enumeration value="JD"/>
            <xsd:enumeration value="JP"/>
            <xsd:enumeration value="PA"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="PersonName">
        <xsd:annotation>
            <xsd:documentation>Name</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="35"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="PhoneExt">
        <xsd:annotation>
            <xsd:documentation>Phone extension</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:positiveInteger">
            <xsd:maxInclusive value="99999"/>
            <xsd:minInclusive value="1"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="PhoneNumber">
        <xsd:annotation>
            <xsd:documentation>Phone Number</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="25"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="PieceID">
        <xsd:annotation>
            <xsd:documentation>Piece ID</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="35"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="Piece">
        <xsd:sequence>
        <xsd:element name="PieceID" type="PieceID" minOccurs="0"/>
        <xsd:element name="PackageType" type="PackageType" minOccurs="0"/>
        <xsd:element name="Weight" type="Weight" minOccurs="0"/>
        <xsd:element name="DimWeight" type="Weight" minOccurs="0"/>
        <xsd:element name="Depth" type="xsd:positiveInteger" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>required if width and height are specified</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Width" type="xsd:positiveInteger" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>required if height and depth are  specified</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Height" type="xsd:positiveInteger" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>required if width and depth are specified</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="PieceContents" type="PieceContents" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Pieces">
        <xsd:annotation>
            <xsd:documentation>Element encapsulating peices information</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Piece" type="Piece" maxOccurs="99"/>
        </xsd:sequence>
    </xsd:complexType>
        
    <!--Add Comment by Himanshu on 20-Aug-09 for Piece Enablement-->
    <xsd:complexType name="ShipValResponsePiece">
                         <xsd:sequence>
                            <xsd:element name="PieceNumber" type="PieceNumber" minOccurs="1" maxOccurs="1"/>
                            <xsd:element name="Depth"  type="xsd:positiveInteger" minOccurs="0" maxOccurs="1"/>
                            <xsd:element name="Width"  type="xsd:positiveInteger" minOccurs="0" maxOccurs="1"/>
                            <xsd:element name="Height" type="xsd:positiveInteger" minOccurs="0" maxOccurs="1"/>
                            <xsd:element name="Weight" type="Weight" minOccurs="0" maxOccurs="1"/>
                            <xsd:element name="PackageType" type="PackageType" minOccurs="0" maxOccurs="1"/>
                            <xsd:element name="DimWeight" type="Weight" minOccurs="0" maxOccurs="1"/> 
                            <xsd:element name="PieceContents" type="PieceContents" minOccurs="0" maxOccurs="1"/>
                            <xsd:element name="DataIdentifier" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                            <xsd:element name="LicensePlate" type="PieceID" minOccurs="1" maxOccurs="1"/>
                            <xsd:element name="LicensePlateBarCode" type="BarCode" minOccurs="1" maxOccurs="1"/>
                          </xsd:sequence>
                        </xsd:complexType>
    <xsd:complexType name="ShipValResponsePieces">
        <xsd:annotation>
            <xsd:documentation>Element encapsulating pieces information</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Piece" type="ShipValResponsePiece" minOccurs="0" maxOccurs="99"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="PieceNumber">
        <xsd:annotation>
            <xsd:documentation>Piece Number</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:positiveInteger">
         </xsd:restriction>
    </xsd:simpleType>
     <xsd:simpleType name="PieceContents">
        <xsd:annotation>
            <xsd:documentation>Piece contents description</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="35"/>
        </xsd:restriction>
    </xsd:simpleType>
    <!--End Comment by Himanshu on 20-Aug-09 for Piece Enablement-->
    <xsd:complexType name="Place">
        <xsd:sequence>
            <xsd:element name="ResidenceOrBusiness" type="ResidenceOrBusiness" minOccurs="0"/>
            <xsd:element name="CompanyName" type="CompanyNameValidator" minOccurs="0"/>
            <xsd:element name="AddressLine" type="AddressLine" maxOccurs="3"/>
            <xsd:element name="City" type="City"/>
            <xsd:element name="CountryCode" type="CountryCode"/>
            <xsd:element name="DivisionCode" type="StateCode" minOccurs="0"/>
            <xsd:element name="Division" type="State" minOccurs="0"/>
            <xsd:element name="PostalCode" type="PostalCode" minOccurs="0"/>
            <!--<xsd:element name="Division" type="StateCode" minOccurs="0"/>-->
            <!--    <xsd:element name="PackageLocation" type="PackageLocation" minOccurs="0"/>-->
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="StateCode">
        <xsd:annotation>
            <xsd:documentation>Division (state) code.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="2"/>
	    <xsd:maxLength value="10"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="PostalCode">
        <xsd:annotation>
            <xsd:documentation>Full postal/zip code for address</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="12"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ProductCode">
        <xsd:annotation>
            <xsd:documentation>DHL product code
            D = DOC
            N = Domestic
            P = WPX
            U = EC_EXPRESS
            K = EU_EXPRESS09
            T = EU_EXPRESS12
         </xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
           <!-- Added by mary on 6th Oct 2009 for restrict the global product code pattern -->		
  	    <xsd:pattern value="([A-Z0-9])*"/>
            <xsd:minLength value="1"/>
            <xsd:maxLength value="4"/>
        <!-- commented by mary on 6th Oct 2009 as not to restrict the global product code (approved by sanjeev) -->		
            <!--xsd:enumeration value="D"/>
            <xsd:enumeration value="N"/>
            <xsd:enumeration value="P"/>
            <xsd:enumeration value="U"/>
            <xsd:enumeration value="K"/>
            <xsd:enumeration value="T"/-->
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="QuantityUnit">
        <xsd:annotation>
            <xsd:documentation>Quantity unit of measure (tens, hundreds, thousands, etc.)</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="8"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Quantity">
        <xsd:annotation>
            <xsd:documentation>Quantity</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:positiveInteger">
            <xsd:maxInclusive value="32000"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ReferenceID">
        <xsd:annotation>
            <xsd:documentation>Shipper reference ID</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="35"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="Reference">
        <xsd:sequence>
            <xsd:element name="ReferenceID" type="ReferenceID"/>
            <xsd:element name="ReferenceType" type="ReferenceType" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="ReferenceType">
        <xsd:annotation>
            <xsd:documentation>Shipment reference type</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="2"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ResidenceOrBusiness">
        <xsd:annotation>
            <xsd:documentation>Identifies if a location is a business, residence, or both (B:Business, R:Residence, C:Business Residence)</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="1"/>
            <xsd:enumeration value="B"/>
            <xsd:enumeration value="R"/>
            <xsd:enumeration value="C"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ScheduleB">
        <xsd:annotation>
            <xsd:documentation>Schedule B numner</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="15"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="SEDDescription">
        <xsd:annotation>
            <xsd:documentation>Shippers Export declaration line item description</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="75"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="SEDNumberType">
        <xsd:restriction base="xsd:string">
            <xsd:length value="1"/>
            <xsd:enumeration value="F"/>
            <xsd:enumeration value="X"/>
            <xsd:enumeration value="S"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="SEDNumber">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="FTSR"/>
            <xsd:enumeration value="XTN"/>
            <xsd:enumeration value="SAS"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ShipmentContents">
        <xsd:annotation>
            <xsd:documentation>Shipment contents description</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="90"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="ShipmentDetails">
        <xsd:sequence>
            <xsd:element name="NumberOfPieces" type="xsd:positiveInteger"/>
            <xsd:element name="CurrencyCode" type="CurrencyCode"/>
            <xsd:element name="Pieces" type="Pieces"/>
            <xsd:element name="PackageType" type="PackageType"/>
            <xsd:element name="Weight" type="Weight"/>
            <xsd:element name="DimensionUnit" type="DimensionalUnit" minOccurs="0"/>
            <xsd:element name="WeightUnit" type="WeightUnit"/>
            <xsd:element name="GlobalProductCode" type="ProductCode"/>
            <xsd:element name="LocalProductCode" type="LocalProductCode"/>
            <xsd:element name="DoorTo" type="DoorTo" minOccurs="0"/>
            <xsd:element name="Date" type="Date"/>
            <xsd:element name="Contents" type="ShipmentContents"/>
            <xsd:element name="IsDutiable" type="YesNo" minOccurs="0"/>
            <xsd:element name="InsuredAmount" type="Money" minOccurs="0"/>
            <!--Target date for when package(s) will be shipped (but usually current date).Value may range from today to ten days after.-->
            <!--<xsd:element name="ShipmentContents" type="ShipmentContents" minOccurs="0"/>-->
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="DimensionUnit">
        <xsd:annotation>
            <xsd:documentation>Dimension Unit C (Centimeter)</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="1"/>
            <xsd:enumeration value="C"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ShipmentPaymentType">
        <xsd:annotation>
            <xsd:documentation>Shipment payment type (S:Shipper, R:Recipient, T:Third party/other)</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="1"/>
            <xsd:enumeration value="S"/>
            <xsd:enumeration value="R"/>
            <xsd:enumeration value="T"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ShipperID">
        <xsd:annotation>
            <xsd:documentation>Shipper's ID</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="30"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="Shipper">
        <xsd:sequence>
            <xsd:element name="ShipperID" type="ShipperID"/>
            <xsd:element name="CompanyName" type="CompanyNameValidator"/>
            <xsd:element name="RegisteredAccount" type="AccountNumber" minOccurs="0"/>
            <xsd:element name="AddressLine" type="AddressLine" maxOccurs="3"/>
            <xsd:element name="City" type="City"/>
            <xsd:element name="Division" type="Division" minOccurs="0"/>
            <xsd:element name="PostalCode" type="PostalCode" minOccurs="0"/>
            <xsd:element name="CountryCode" type="CountryCode"/>
            <xsd:element name="CountryName" type="CountryName"/>
            <xsd:element name="FederalTaxId" minOccurs="0">
					       <xsd:simpleType>
						      <xsd:restriction base="xsd:string">
							      <xsd:minLength value="0"/>
							      <xsd:maxLength value="20"/>	
						      </xsd:restriction>
					        </xsd:simpleType>
			</xsd:element>
            <xsd:element name="Contact" type="Contact"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="SpecialService">
        <xsd:sequence>
            <xsd:element name="SpecialServiceType" type="SpecialServiceType"/>
            <xsd:element name="CommunicationType" type="CommunicationType" minOccurs="0"/>
            <xsd:element name="ChargeValue" type="Money" minOccurs="0"/>
            <xsd:element name="CurrencyCode" type="CurrencyCode" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="SpecialServiceType">
        <xsd:annotation>
            <xsd:documentation>Special Service codes </xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="3"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="State">
        <xsd:annotation>
            <xsd:documentation>State</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="35"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ServiceAreaCode">
        <xsd:annotation>
            <xsd:documentation>DHL service area code</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="3"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="FacilityCode">
        <xsd:annotation>
            <xsd:documentation>Destination Facility Code</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="3"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="InboundSortCode">
        <xsd:annotation>
            <xsd:documentation>InBound Sort Code</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="4"/>
        </xsd:restriction>
    </xsd:simpleType>
     <xsd:simpleType name="OutboundSortCode">
        <xsd:annotation>
            <xsd:documentation>OutBound Sort Code</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="4"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Telex">
        <xsd:annotation>
            <xsd:documentation>Telex number and answer back code</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="25"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="TimeHM">
        <xsd:annotation>
            <xsd:documentation>Time in hours and minutes (HH:MM)</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:time"/>
    </xsd:simpleType>
    <xsd:complexType name="WeightSeg">
        <xsd:sequence>
            <xsd:element name="Weight" type="Weight"/>
            <xsd:element name="WeightUnit" type="WeightUnit"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="WeightUnit">
        <xsd:annotation>
            <xsd:documentation>Unit of weight measurement ( K:Kilograms)</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="0"/>
            <xsd:maxLength value="1"/>
            <xsd:enumeration value="K"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="DimensionalUnit">
        <xsd:annotation>
            <xsd:documentation>Unit of Dimension measurement (C:Centimeters)</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="1"/>
            <!-- xsd:enumeration value="I"/>
            <xsd:enumeration value="F"/ -->
            <xsd:enumeration value="C"/>
            <!-- xsd:enumeration value="M"/>
            <xsd:enumeration value="m"/ -->
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Weight">
        <xsd:annotation>
            <xsd:documentation>Weight of piece or shipment</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:decimal">
            <xsd:fractionDigits value="3"/>
            <xsd:minInclusive value="0.000"/>
            <xsd:maxInclusive value="999999.999"/>
            <xsd:totalDigits value="10"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Dimension">
        <xsd:restriction base="xsd:decimal">
            <xsd:fractionDigits value="3"/>
            <xsd:minInclusive value="0.001"/>
            <xsd:maxInclusive value="9999.999"/>
            <xsd:totalDigits value="6"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="YesNo">
        <xsd:annotation>
            <xsd:documentation>Boolean flag</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="1"/>
            <xsd:enumeration value="Y"/>
            <xsd:enumeration value="N"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="Request">
        <xsd:annotation>
            <xsd:documentation>Generic request header</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="ServiceHeader" type="ServiceHeader"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ServiceHeader">
        <xsd:annotation>
            <xsd:documentation>Standard routing header</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="MessageTime" type="xsd:dateTime"  minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>Time this message is sent</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="MessageReference" type="MessageReference"  minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>A string, peferably number,  to uniquely identify individual messages. Minimum length must be 28 and maximum length is 32</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="SiteID" type="SiteID"/>
            <xsd:element name="Password" type="Password"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="SiteID">
        <xsd:annotation>
            <xsd:documentation>Site ID used for verifying the sender</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="6"/>
            <xsd:maxLength value="20"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="Password">
        <xsd:annotation>
            <xsd:documentation>Password used for verifying the sender</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="8"/>
            <xsd:maxLength value="20"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="MessageReference">
        <xsd:annotation>
            <xsd:documentation>Reference to the requested Message</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="28"/>
            <xsd:maxLength value="32"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="PaymentType">
        <xsd:annotation>
            <xsd:documentation>payment type (S:Shipper,R:Recipient,T:Third Party,C:Credit Card)</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:length value="1"/>
            <xsd:enumeration value="S"/>
            <xsd:enumeration value="R"/>
            <xsd:enumeration value="T"/>
			<!--Commented by Amruta on 07-Feb-08 for charge card removal requirement-->
			<!--xsd:enumeration value="C"/-->
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="Response">
        <xsd:annotation>
            <xsd:documentation>Generic response header</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="ServiceHeader" type="ServiceHeader"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Status">
        <xsd:annotation>
            <xsd:documentation>Status/Exception signal element</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="ActionStatus" type="xsd:string"/>
            <xsd:element name="Condition" type="Condition" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Note">
        <xsd:annotation>
            <xsd:documentation>Note/Warning</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="ActionNote" type="xsd:string"/>
            <xsd:element name="Condition" type="Condition" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Condition">
        <xsd:sequence>
            <xsd:element name="ConditionCode" type="xsd:string"/>
            <xsd:element name="ConditionData" type="xsd:string" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Customer">
        <xsd:sequence>
            <xsd:element name="CustomerID" type="xsd:string"/>
            <xsd:element name="Name" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:simpleType name="BarCode">
        <xsd:restriction base="xsd:base64Binary"/>
    </xsd:simpleType>
    <xsd:complexType name="BarCodes">
        <xsd:annotation>
            <xsd:documentation>Element containing BarCode data</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="BarCode" type="BarCode" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation>Contains barcodes as Base64 encoded binary data</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="DestinationServiceArea">
        <xsd:sequence>
            <xsd:element name="ServiceAreaCode" type="ServiceAreaCode" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>three letter service area code</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Description" type="xsd:string" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>Detailed description for the Area code such as city, state,country etc</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="FacilityCode" type="FacilityCode" minOccurs="0" maxOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>Destination Facility Code</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="InboundSortCode" type="InboundSortCode" minOccurs="0" maxOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>InBound Sort Code</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="OriginServiceArea">
        <xsd:sequence>
            <xsd:element name="ServiceAreaCode" type="ServiceAreaCode" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>three letter service area code</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Description" type="xsd:string" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>Detailed description for the Area code such as city, state,country etc</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="OutboundSortCode" type="OutboundSortCode" minOccurs="0" maxOccurs="1">
                <xsd:annotation>
                    <xsd:documentation>OutBound Sort Code</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ServiceArea">
        <xsd:sequence>
            <xsd:element name="ServiceAreaCode" type="ServiceAreaCode" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>three letter service area code</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="Description" type="xsd:string" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>Detailed description for the Area code such as city, state,country etc</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ServiceEvent">
        <xsd:annotation>
            <xsd:documentation>Complex type to describe a service event. Eg Pickup, Delivery</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="EventCode">
                <xsd:annotation>
                    <xsd:documentation>Two letter Code denoting a specific service event</xsd:documentation>
                </xsd:annotation>
                <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                        <xsd:length value="2"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="Description" type="xsd:string" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>Description of the service event code</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <!--Add Tracking start -->
    <xsd:simpleType name="LevelOfDetails">
        <xsd:annotation>
            <xsd:documentation>Checkpoint details selection flag</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="LAST_CHECK_POINT_ONLY"/>
            <xsd:enumeration value="ALL_CHECK_POINTS"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="ShipmentDate">
        <xsd:sequence>
            <xsd:element name="ShipmentDateFrom" type="Date"/>
            <xsd:element name="ShipmentDateTo" type="Date"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="AWBInfo">
        <xsd:sequence>
            <xsd:element name="AWBNumber" type="AWBNumber"/>
            <xsd:element name="Status" type="Status"/>
            <xsd:element name="ShipmentInfo" type="ShipmentInfo" minOccurs="0"/>
            <!--Add Comment by Sarvani on 10-Aug-09 for Piece Enablement-->
			<xsd:element name="Pieces" type="TrackingPieces" minOccurs="0" />
			<!--End Add Comment by Sarvani on 10-Aug-09 for Piece Enablement-->
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ShipmentInfo">
        <xsd:sequence>
            <xsd:element name="OriginServiceArea" type="ServiceArea"/>
            <xsd:element name="DestinationServiceArea" type="ServiceArea"/>
            <xsd:element name="ShipperName" type="PersonName"/>
            <xsd:element name="ShipperAccountNumber" type="AccountNumber" minOccurs="0"/>
            <xsd:element name="ConsigneeName" type="PersonName"/>
            <xsd:element name="ShipmentDate" type="xsd:dateTime"/>
            <xsd:element name="Pieces" type="Pieces" minOccurs="0"/>
            <xsd:element name="Weight" type="xsd:string" minOccurs="0"/>
            <xsd:element name="WeightUnit" minOccurs="0">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                        <xsd:enumeration value="L"/>
                        <xsd:enumeration value="K"/>
                        <xsd:enumeration value="G"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
 	    <xsd:element name="EstDlvyDate" type="xsd:dateTime" minOccurs="0"/>
            <xsd:choice>
                <xsd:element name="ShipmentEvent" type="ShipmentEvent" maxOccurs="unbounded"/>
                <xsd:element name="ShipperReference" type="Reference"/>
            </xsd:choice>
        </xsd:sequence>
    </xsd:complexType>
    <!--Add Tracking end -->
    <xsd:complexType name="ErrorResponse">
        <xsd:annotation>
            <xsd:documentation>Generic response header</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="ServiceHeader" type="ServiceHeader"/>
            <xsd:element name="Status" type="Status"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--Shippment Event Start -->
    <xsd:complexType name="ShipmentEvent">
        <xsd:annotation>
            <xsd:documentation>Describes the checkpoint information</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Date" type="xsd:date"/>
            <xsd:element name="Time" type="xsd:time"/>
            <xsd:element name="ServiceEvent" type="ServiceEvent"/>
            <xsd:element name="Signatory" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>Signatory</xsd:documentation>
                </xsd:annotation>
                <xsd:simpleType>
                    <xsd:restriction base="xsd:string"/>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name="ServiceArea" type="ServiceArea"/>
        </xsd:sequence>
    </xsd:complexType>
    <!--Shippment Event End -->
  <!--Add Comment by Sarvani on 10-Aug-09 for Piece Enablement-->
	<xsd:complexType name="PieceInfo">
	<xsd:sequence>
			<xsd:element name="PieceDetails" type="PieceDetails" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="PieceEvent" type="PieceEvent" maxOccurs="unbounded"/>
	</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="PieceEvent">
		<xsd:annotation>
			<xsd:documentation>Describes the checkpoint information</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Date" type="xsd:date"/>
			<xsd:element name="Time" type="xsd:time"/>
			<xsd:element name="ServiceEvent" type="ServiceEvent"/>
			<xsd:element name="Signatory" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Signatory</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string"/>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ServiceArea" type="ServiceArea"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="PieceDetails">
		<xsd:sequence>
			<xsd:element name="PieceID" type="TrackingPieceID" minOccurs="0"/>
			<xsd:element name="PackageType" type="PackageType" minOccurs="0"/>
			<xsd:element name="Weight" type="Weight" minOccurs="0"/>
			<xsd:element name="DimWeight" type="xsd:string" minOccurs="0"/>
			<xsd:element name="Width" type="xsd:positiveInteger" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>required if height and depth are  specified</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Height" type="xsd:positiveInteger" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>required if width and depth are specified</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Depth" type="xsd:positiveInteger" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>required if width and height are specified</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<!--Add Comment by Sarvani on 27-Aug-09 for Piece Enablement-->
	<xsd:complexType name="TrackingPieces">
		<xsd:annotation>
			<xsd:documentation>Piece Info</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="PieceInfo" type="PieceInfo" minOccurs="1" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="TrackingPieceID">
		<xsd:annotation>
			<xsd:documentation>Piece ID</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="20"/>
			<xsd:maxLength value="35"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="Fault">
		<xsd:annotation>
			<xsd:documentation>Piece Fault</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="PieceFault" type="PieceFault" minOccurs="1" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="PieceFault">
		<xsd:sequence>
			<xsd:element name="PieceID" type="TrackingPieceID" minOccurs="1">
				<xsd:annotation>
					<xsd:documentation>The License Plate identifier.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ConditionCode" type="xsd:string" minOccurs="1">
				<xsd:annotation>
					<xsd:documentation>Condition Code</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ConditionData" type="xsd:string" minOccurs="1">
				<xsd:annotation>
					<xsd:documentation>Condition Data</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="DocImages">
		<xsd:annotation>
			<xsd:documentation>DocImages</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="DocImage" type="DocImage" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="DocImage">
		<xsd:annotation>
			<xsd:documentation>DocImage</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Type" type="Type" />
			<xsd:element name="Image" type="Image" />
			<xsd:element name="ImageFormat" type="ImageFormat" />
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="Type">
		<xsd:annotation>
			<xsd:documentation>Image Type</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:length value="3" />
			<xsd:enumeration value="HWB" />
			<xsd:enumeration value="INV" />
			<xsd:enumeration value="PNV" />
			<xsd:enumeration value="COO" />
			<xsd:enumeration value="NAF" />
			<xsd:enumeration value="CIN" />
			<xsd:enumeration value="DCL" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="Image">
		<xsd:annotation>
			<xsd:documentation>Image</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:base64Binary" />
	</xsd:simpleType>
	<xsd:simpleType name="ImageFormat">
		<xsd:annotation>
			<xsd:documentation>Image Format</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="5" />
			<xsd:enumeration value="PDF" />
			<xsd:enumeration value="PNG" />
			<xsd:enumeration value="TIFF" />
			<xsd:enumeration value="GIF" />
			<xsd:enumeration value="JPEG" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="LabelImageFormat">
		<xsd:annotation>
			<xsd:documentation>LabelImageFormat</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="3"/>
			<xsd:maxLength value="4" />
			<xsd:enumeration value="EPL2" />
			<xsd:enumeration value="PDF" />
			<xsd:enumeration value="ZPL2" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="PLTStatus">
		<xsd:annotation>
			<xsd:documentation>PLTStatus</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:length value="1" />
			<xsd:enumeration value="A" />
			<xsd:enumeration value="D" />
			<xsd:enumeration value="S" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="QtdSInAdCur">
		<xsd:annotation>
			<xsd:documentation>QtdSInAdCur</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="CurrencyCode" type="CurrencyCode"
				minOccurs="1" />
			<xsd:element name="CurrencyRoleTypeCode" type="CurrencyRoleTypeCode"
				minOccurs="1" />
			<xsd:element name="PackageCharge" type="PackageCharge"
				minOccurs="1" />
			<xsd:element name="ShippingCharge" type="ShippingCharge"
				minOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="CurrencyRoleTypeCode">
		<xsd:annotation>
			<xsd:documentation>CurrencyRoleTypeCode</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="5"/>
			<xsd:enumeration value="BILLCU"/>
			<xsd:enumeration value="PULCL"/>
			<xsd:enumeration value="INVCU"/>
			<xsd:enumeration value="BASEC"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="PackageCharge">
		<xsd:annotation>
			<xsd:documentation>PackageCharge</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:decimal">
            <xsd:fractionDigits value="3"/>
            <xsd:totalDigits value="18"/>
        </xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ShippingCharge">
		<xsd:annotation>
			<xsd:documentation>ShippingCharge</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:decimal">
            <xsd:fractionDigits value="3"/>
            <xsd:totalDigits value="18"/>
        </xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="LabelImage">
		<xsd:annotation>
			<xsd:documentation>LabelImage</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="OutputFormat" type="OutputFormat" minOccurs="0" />
			<xsd:element name="OutputImage" type="OutputImage" minOccurs="0" />
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="OutputFormat">
		<xsd:annotation>
			<xsd:documentation>OutputFormat</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
		<xsd:enumeration value="EPL2" />
		<xsd:enumeration value="PDF" />
		<xsd:enumeration value="ZPL2" />
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="OutputImage">
		<xsd:annotation>
			<xsd:documentation>OutputImage</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:base64Binary" />
	</xsd:simpleType>
</xsd:schema>
