<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.dhl.com/datatypes_AP" xmlns="http://www.dhl.com/datatypes_AP" 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">
					<!--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="11"/>
                </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 approval 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>
<!-- Start : Change by Amruta on 05-01-2005 --> 
        <xsd:simpleType name="City">
                <xsd:annotation>
                        <xsd:documentation>City name</xsd:documentation>
                </xsd:annotation>
                <xsd:restriction base="xsd:string">
                        <xsd:minLength value="2"/>
                        <xsd:maxLength value="35"/>
                </xsd:restriction>
        </xsd:simpleType>
<!-- End : Change by Amruta on 05-01-2005 -->   
<!-- Start : Change by Amruta on 05-01-2005 --> 
        <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>
<!-- End : Change by Amruta on 05-01-2005 -->   
        <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"/>
                        <xsd:element name="AddressLine" type="AddressLine" maxOccurs="3"/>
                        <xsd:element name="City" type="City" minOccurs="0"/>
                        <xsd:element name="DivisionCode" type="DivisionCode" 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" minOccurs="0"/>
                        <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>
<!-- Start : Change by Amruta on 05-01-2005 -->
        <xsd:simpleType name="PhoneExtension">
                <xsd:restriction base="xsd:unsignedInt">
                        <xsd:minInclusive value="1"/>
                        <xsd:maxInclusive value="99999"/>
                </xsd:restriction>
        </xsd:simpleType>
<!-- End : Change by Amruta on 05-01-2005 -->
        <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:pattern value="[0-9][0-9][0-9][0-9](-)[0-9][0-9](-)[0-9][0-9]"/>
                </xsd:restriction>
        </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: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 (R:Recipient)</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="35"/>
                </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="ECCN" minOccurs="0">
                                <xsd:simpleType>
                                        <xsd:restriction base="xsd:string">
                                                <xsd:minLength value="0"/>
                                                <xsd:maxLength value="11"/>
                                        </xsd:restriction>
                                </xsd:simpleType>
                        </xsd:element>
			<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:element name="ECCN" type="xsd:string" minOccurs="0"/>
                        <xsd:element name="Weight" minOccurs="0">
                                <xsd:complexType>
                                        <xsd:sequence>
                                                <xsd:element name="Weight" type="Weight"/>
                                                <xsd:element name="WeightUnit" type="WeightUnit"/>
                                        </xsd:sequence>
                                </xsd:complexType>
                        </xsd:element>
                </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">
  	        <!-- 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"/>
                        <!--xsd:enumeration value="D"/>
                        <xsd:enumeration value="P"/>
                        <xsd:enumeration value="N"/>
                        <xsd:enumeration value="W"/>
                        <xsd:enumeration value="K"/>
                        <xsd:enumeration value="T"/-->
			<!-- Added by Amruta on 26th Oct 2005 for allowing BBX Product Code -->
			<!--xsd:enumeration value="B"/-->
			<!-- End of addition by Amruta on 26th Oct 2005 -->
                </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:maxLength value="2"/>
                </xsd:restriction>
        </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>
<!-- Start : Change by Amruta on 05-01-2005 --> 
        <xsd:simpleType name="LineNumber">
                <xsd:restriction base="xsd:unsignedInt">
                        <xsd:minInclusive value="1"/>
                        <xsd:maxInclusive value="200"/>
                </xsd:restriction>
        </xsd:simpleType>
<!-- End : Change by Amruta on 05-01-2005 -->   
        <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:string">
            <!-- xsd:minInclusive value="0.00"/ -->
            <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, JB-Jumbo box, JJ-Junior jumbo Box, DF-DHL Flyer, YP-Your packaging)</xsd:documentation>
                </xsd:annotation>
                <xsd:restriction base="xsd:string">
                        <xsd:length value="2"/>
                        <xsd:enumeration value="EE"/>
                        <xsd:enumeration value="OD"/>
                        <xsd:enumeration value="CP"/>
                        <xsd:enumeration value="JB"/>
                        <xsd:enumeration value="JJ"/>
                        <xsd:enumeration value="DF"/>
                        <xsd:enumeration value="YP"/>
                </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>
<!-- Start : Change by Amruta on 05-01-2005 -->
        <xsd:simpleType name="PhoneExt">
                <xsd:annotation>
                        <xsd:documentation>Phone extension</xsd:documentation>
                </xsd:annotation>
                <xsd:restriction base="xsd:unsignedInt">
                        <xsd:maxInclusive value="99999"/>
                        <xsd:minInclusive value="1"/>
                </xsd:restriction>
        </xsd:simpleType>
<!-- End : Change by Amruta on 05-01-2005 -->
<!-- Start : Change by Amruta on 05-01-2005 --> 
        <xsd:simpleType name="PhoneNumber">
                <xsd:annotation>
                        <xsd:documentation>Phone Number</xsd:documentation>
                </xsd:annotation>
                <xsd:restriction base="xsd:string">
                    <xsd:minLength value="4"/>
                    <xsd:maxLength value="25"/>
                </xsd:restriction>
        </xsd:simpleType>
<!-- End : Change by Amruta on 05-01-2005 -->   
        <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"/>
		<!-- Start : Change by Amruta on 06-01-2005 --> 
						<xsd:element name="DimWeight" type="Weight" minOccurs="0"/>
                        <xsd:element name="Depth" type="xsd:unsignedInt" 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:unsignedInt" 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:unsignedInt" minOccurs="0">
                                <xsd:annotation>
                                        <xsd:documentation>required if width and depth are specified</xsd:documentation>
                                </xsd:annotation>
                        </xsd:element>
		<!-- End : Change by Amruta on 06-01-2005 -->   
                        <xsd:element name="Reference" type="Reference" minOccurs="0" maxOccurs="unbounded"/>
						<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" minOccurs="0" 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"/>
                        <xsd:element name="PostalCode" type="PostalCode"/>
                        <!--<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="0"/>
                        <xsd:maxLength value="35"/>
                </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:simpleType>
        <xsd:simpleType name="ProductCode">
                <xsd:annotation>
                        <xsd:documentation>DHL product code 
                        D : US Overnight  (>0.5 lb) and Worldwide Express Non-dutiable  (>0.5 lb) 
                        P : Worldwide Express-Dutiable
                 </xsd:documentation>
                </xsd:annotation>
                <xsd:restriction base="xsd:string">
                        <xsd:minLength value="1"/>
                        <xsd:maxLength value="4"/>
                        <xsd:enumeration value="D"/>
                        <xsd:enumeration value="P"/>
                        <xsd:enumeration value="N"/>
                        <xsd:enumeration value="G"/>
                        <xsd:enumeration value="M"/>
                        <xsd:enumeration value="L"/>
                        <xsd:enumeration value="F"/>
                        <xsd:enumeration value="C"/>
                        <xsd:enumeration value="I"/>
                </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>
<!-- Start : Change by Amruta on 05-01-2005 -->
        <xsd:simpleType name="Quantity">
                <xsd:annotation>
                        <xsd:documentation>Quantity</xsd:documentation>
                </xsd:annotation>
                <xsd:restriction base="xsd:unsignedInt">
                        <xsd:maxInclusive value="32000"/>
                </xsd:restriction>
        </xsd:simpleType>
<!-- End : Change by Amruta on 05-01-2005 -->
        <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>
<!-- Start : Change by Amruta on 05-01-2005 -->
                        <xsd:element name="NumberOfPieces">
                                <xsd:simpleType>
                                        <xsd:restriction base="xsd:unsignedInt">
                                                <xsd:minInclusive value="1"/>
                                                <xsd:maxInclusive value="32767"/>
                                        </xsd:restriction>
                                </xsd:simpleType>
                        </xsd:element>
<!-- End : Change by Amruta on 05-01-2005 -->
                        <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="DimensionUnit" minOccurs="0"/>
                        <xsd:element name="WeightUnit" type="WeightUnit"/>
                        <xsd:element name="GlobalProductCode" type="GlobalProductCode"/>
                        <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>
<!-- Start : Change by Amruta on 06-01-2005 -->
        <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:enumeration value="I"/>
                </xsd:restriction>
        </xsd:simpleType>
<!-- End : Change by Amruta on 06-01-2005 -->
        <xsd:simpleType name="ShipmentPaymentType">
                <xsd:annotation>
                        <xsd:documentation>Shipment payment type (S:Shipper)</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:complexType name="Shipment">
                <xsd:sequence>
                        <xsd:element name="Weight" type="Weight"/>
                        <xsd:element name="WeightUnit" type="WeightUnit"/>
                        <xsd:element name="Pieces" type="Pieces"/>
                        <xsd:element name="DoorTo" type="DoorTo"/>
                        <xsd:element name="AirwarBillNumber" type="AWBNumber" minOccurs="0"/>
                        <xsd:element name="AccountType" type="AccountType" minOccurs="0"/>
                        <xsd:element name="ProductType" type="xsd:string" minOccurs="0"/>
                        <xsd:element name="GlobalProductType" type="xsd:string" minOccurs="0"/>
                        <xsd:element name="LocalProductType" type="xsd:string" minOccurs="0"/>
                        <xsd:element name="Commodity" type="Commodity" minOccurs="0"/>
                        <xsd:element name="DeclaredValue" type="Money" minOccurs="0"/>
                        <xsd:element name="DeclaredCurrency" type="CurrencyCode" minOccurs="0"/>
                        <xsd:element name="InsuredValue" type="Money" minOccurs="0"/>
                        <xsd:element name="InsuredCurrency" type="CurrencyCode" minOccurs="0"/>
                        <xsd:element name="DimensionalUnit" type="WeightUnit" minOccurs="0"/>
                        <xsd:element name="DimensionalWeight" type="Weight" minOccurs="0"/>
                </xsd:sequence>
        </xsd:complexType>
        <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:annotation>
                                        <xsd:documentation>Shipper's Account Number</xsd:documentation>
                                </xsd:annotation>
                        </xsd:element>
                        <xsd:element name="CompanyName" type="CompanyNameValidator"/>
                        <xsd:element name="AddressLine" type="AddressLine" maxOccurs="3"/>
                        <xsd:element name="City" type="City" minOccurs="0"/>
                        <xsd:element name="DivisionCode" minOccurs="0">
                                <xsd:simpleType>
                                        <xsd:restriction base="xsd:string">
                                                <xsd:minLength value="2"/>
                                                <xsd:maxLength value="35"/>
                                        </xsd:restriction>
                                </xsd:simpleType>
                        </xsd:element>
                        <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" minOccurs="0"/>
                </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="SpecialService">
                <xsd:sequence>
                        <xsd:element name="SpecialServiceType" type="SpecialServiceType"/>
                        <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:KiloGram)</xsd:documentation>
                </xsd:annotation>
                <xsd:restriction base="xsd:string">
                        <xsd:length value="1"/>
                        <xsd:enumeration value="K"/>
                </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="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"/>
                        <xsd:element name="PieceInfo" type="PieceInfo" minOccurs="0" maxOccurs="unbounded"/>
                </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" 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>
       <!--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>

