<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://fedex.com/ws/pickup/v5" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://fedex.com/ws/pickup/v5">
  <xs:element name="CancelPickupReply" type="ns:CancelPickupReply"/>
  <xs:element name="CancelPickupRequest" type="ns:CancelPickupRequest"/>
  <xs:element name="CreatePickupReply" type="ns:CreatePickupReply"/>
  <xs:element name="CreatePickupRequest" type="ns:CreatePickupRequest"/>
  <xs:element name="PickupAvailabilityReply" type="ns:PickupAvailabilityReply"/>
  <xs:element name="PickupAvailabilityRequest" type="ns:PickupAvailabilityRequest"/>
  <xs:complexType name="Address">
    <xs:annotation>
      <xs:documentation>Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of "address parts" which should be handled as a unit (such as a city-state-ZIP combination within the US).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StreetLines" type="xs:string" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Combination of number, street name, etc. At least one line is required for a valid physical address; empty lines should not be included.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="City" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Name of city, town, etc.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StateOrProvinceCode" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifying abbreviation for US state, Canada province, etc. Format and presence of this field will vary, depending on country.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PostalCode" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identification of a region (usually small) for mail/package delivery. Format and presence of this field will vary, depending on country.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="UrbanizationCode" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Relevant only to addresses in Puerto Rico.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CountryCode" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The two-letter code used to identify a country.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Residential" type="xs:boolean" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Indicates whether this address residential (as opposed to commercial).</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AssociatedAccount">
    <xs:sequence>
      <xs:element name="Type" type="ns:AssociatedAccountNumberType" minOccurs="0"/>
      <xs:element name="AccountNumber" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AssociatedAccountNumberType">
    <xs:annotation>
      <xs:documentation>This enumeration represents a kind of "legacy" account number from a FedEx operating entity.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="FEDEX_EXPRESS"/>
      <xs:enumeration value="FEDEX_FREIGHT"/>
      <xs:enumeration value="FEDEX_GROUND"/>
      <xs:enumeration value="FEDEX_OFFICE"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="BuildingPartCode">
    <xs:restriction base="xs:string">
      <xs:enumeration value="APARTMENT"/>
      <xs:enumeration value="BUILDING"/>
      <xs:enumeration value="DEPARTMENT"/>
      <xs:enumeration value="FLOOR"/>
      <xs:enumeration value="ROOM"/>
      <xs:enumeration value="SUITE"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CancelPickupReply">
    <xs:sequence>
      <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1"/>
      <xs:element name="Notifications" type="ns:Notification" minOccurs="1" maxOccurs="unbounded"/>
      <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
      <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
      <xs:element name="Message" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Human readable message from dispatch system.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CancelPickupRequest">
    <xs:sequence>
      <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
        <xs:annotation>
          <xs:documentation>Descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ClientDetail" type="ns:ClientDetail" minOccurs="1"/>
      <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
      <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
      <xs:element name="CarrierCode" type="ns:CarrierCodeType" minOccurs="0"/>
      <xs:element name="PickupConfirmationNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="ScheduledDate" type="xs:date" minOccurs="0"/>
      <xs:element name="EndDate" type="xs:date" minOccurs="0"/>
      <xs:element name="Location" type="xs:string" minOccurs="0"/>
      <xs:element name="Remarks" type="xs:string" minOccurs="0"/>
      <xs:element name="ShippingChargesPayment" type="ns:Payment" minOccurs="0"/>
      <xs:element name="Reason" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The reason for canceling the pickup request.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ContactName" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the name of the person that requested pickup cancellation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneNumber" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the phone number of the person that requested pickup cancellation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneExtension" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the phone extension of the person that requested pickup cancellation.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CarrierCodeType">
    <xs:annotation>
      <xs:documentation>Identification of a FedEx operating company (transportation).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="FDXC"/>
      <xs:enumeration value="FDXE"/>
      <xs:enumeration value="FDXG"/>
      <xs:enumeration value="FXCC"/>
      <xs:enumeration value="FXFR"/>
      <xs:enumeration value="FXSP"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ChargeBasisLevelType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="CURRENT_PACKAGE"/>
      <xs:enumeration value="SUM_OF_PACKAGES"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ClientDetail">
    <xs:annotation>
      <xs:documentation>Descriptive data for the client submitting a transaction.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AccountNumber" type="xs:string" minOccurs="1">
        <xs:annotation>
          <xs:documentation>The FedEx account number associated with this transaction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MeterNumber" type="xs:string" minOccurs="1">
        <xs:annotation>
          <xs:documentation>This number is assigned by FedEx and identifies the unique device from which the request is originating</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MeterInstance" type="xs:string" minOccurs="0"/>
      <xs:element name="IntegratorId" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Only used in transactions which require identification of the Fed Ex Office integrator.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Region" type="ns:ExpressRegionCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Indicates the region from which the transaction is submitted.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Localization" type="ns:Localization" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The language to be used for human-readable Notification.localizedMessages in responses to the request containing this ClientDetail object. Different requests from the same client may contain different Localization data. (Contrast with TransactionDetail.localization, which governs data payload language/translation.)</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CloseTimeType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="CUSTOMER_SPECIFIED"/>
      <xs:enumeration value="DEFAULT"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CodAddTransportationChargeBasisType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="COD_SURCHARGE"/>
      <xs:enumeration value="NET_CHARGE"/>
      <xs:enumeration value="NET_FREIGHT"/>
      <xs:enumeration value="TOTAL_CUSTOMER_CHARGE"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CodAddTransportationChargesDetail">
    <xs:sequence>
      <xs:element name="RateTypeBasis" type="ns:RateTypeBasisType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Select the type of rate from which the element is to be selected.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ChargeBasis" type="ns:CodAddTransportationChargeBasisType" minOccurs="0"/>
      <xs:element name="ChargeBasisLevel" type="ns:ChargeBasisLevelType" minOccurs="0"/>
      <xs:element name="RateLevelBasis" type="ns:RateLevelBasisType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Select the type of rate used to calculate the percentage value of variable handling.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CodCollectionType">
    <xs:annotation>
      <xs:documentation>Identifies the type of funds FedEx should collect upon shipment delivery.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="ANY"/>
      <xs:enumeration value="CASH"/>
      <xs:enumeration value="COMPANY_CHECK"/>
      <xs:enumeration value="GUARANTEED_FUNDS"/>
      <xs:enumeration value="PERSONAL_CHECK"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CodDetail">
    <xs:annotation>
      <xs:documentation>Descriptive data required for a FedEx COD (Collect-On-Delivery) shipment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="CodCollectionAmount" type="ns:Money" minOccurs="0"/>
      <xs:element name="AddTransportationChargesDetail" type="ns:CodAddTransportationChargesDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specifies the details of the charges are to be added to the COD collect amount.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CollectionType" type="ns:CodCollectionType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the type of funds FedEx should collect upon package delivery</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CodRecipient" type="ns:Party" minOccurs="0">
        <xs:annotation>
          <xs:documentation>For Express this is the descriptive data that is used for the recipient of the FedEx Letter containing the COD payment. For Ground this is the descriptive data for the party to receive the payment that prints the COD receipt.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReferenceIndicator" type="ns:CodReturnReferenceIndicatorType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Indicates which type of reference information to include on the COD return shipping label.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReturnTrackingId" type="ns:TrackingId" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Only used with multi-piece COD shipments sent in multiple transactions. Required on last transaction only.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CodReturnReferenceIndicatorType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="INVOICE"/>
      <xs:enumeration value="PO"/>
      <xs:enumeration value="REFERENCE"/>
      <xs:enumeration value="TRACKING"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CompletedFreightPickupDetail">
    <xs:annotation>
      <xs:documentation>Data resulting from the processing of an LTL Freight pickup request.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Origin" type="ns:FreightServiceCenterDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Describes the origin service center handling the pickup.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LineItems" type="ns:CompletedFreightPickupLineItem" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Describes the results for each line item in the original request.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TotalPieces" type="xs:nonNegativeInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total number of pieces from all line items from request.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TotalWeight" type="ns:Weight" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total weight from all line items from request.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TotalHandlingUnits" type="xs:nonNegativeInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total handling units from all line items from request.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Status" type="ns:PickupEventType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Resulting status of pickup.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CompletedFreightPickupLineItem">
    <xs:annotation>
      <xs:documentation>Data resulting from the processing of an individual line item in a LTL Freight pickup request.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SequenceNumber" type="xs:int" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the line item, to match reply line with request line.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Destination" type="ns:FreightServiceCenterDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Describes the destination service center handling the delivery of this line item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TotalTravelTime" type="xs:duration" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total travel time for this line item.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EtaDeliveryTimestamp" type="xs:dateTime" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies estimated delivery date and time for each line item.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Contact">
    <xs:annotation>
      <xs:documentation>The descriptive data for a point-of-contact person.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ContactId" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Client provided identifier corresponding to this contact information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PersonName" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the contact person's name.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Title" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the contact person's title.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CompanyName" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the company this contact is associated with.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneNumber" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the phone number associated with this contact.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneExtension" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the phone extension associated with this contact.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PagerNumber" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the pager number associated with this contact.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FaxNumber" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the fax number associated with this contact.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EMailAddress" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the email address associated with this contact.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ContactAndAddress">
    <xs:sequence>
      <xs:element name="Contact" type="ns:Contact" minOccurs="0"/>
      <xs:element name="Address" type="ns:Address" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CountryRelationshipType">
    <xs:annotation>
      <xs:documentation>Describes relationship between origin and destination countries.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="DOMESTIC"/>
      <xs:enumeration value="INTERNATIONAL"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CreatePickupReply">
    <xs:sequence>
      <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1"/>
      <xs:element name="Notifications" type="ns:Notification" minOccurs="1" maxOccurs="unbounded"/>
      <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
      <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
      <xs:element name="PickupConfirmationNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="Location" type="xs:string" minOccurs="0"/>
      <xs:element name="MessageCode" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Coded value supplied by dispatch system.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Message" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Message supplied by dispatch system.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PRPControlNumber" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Package Return Program control number</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LastAccessTime" type="xs:time" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Used with "stay late" requests; postal-code specific.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CompletedFreightPickupDetail" type="ns:CompletedFreightPickupDetail" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CreatePickupRequest">
    <xs:sequence>
      <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
        <xs:annotation>
          <xs:documentation>Descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ClientDetail" type="ns:ClientDetail" minOccurs="1"/>
      <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
      <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
      <xs:element name="AssociatedAccountNumber" type="ns:AssociatedAccount" minOccurs="0"/>
      <xs:element name="OriginDetail" type="ns:PickupOriginDetail" minOccurs="0"/>
      <xs:element name="FreightPickupDetail" type="ns:FreightPickupDetail" minOccurs="0"/>
      <xs:element name="ExpressFreightDetail" type="ns:ExpressFreightPickupDetail" minOccurs="0"/>
      <xs:element name="PackageCount" type="xs:positiveInteger" minOccurs="0"/>
      <xs:element name="TotalWeight" type="ns:Weight" minOccurs="0"/>
      <xs:element name="CarrierCode" type="ns:CarrierCodeType" minOccurs="0"/>
      <xs:element name="OversizePackageCount" type="xs:positiveInteger" minOccurs="0"/>
      <xs:element name="Remarks" type="xs:string" minOccurs="0"/>
      <xs:element name="CommodityDescription" type="xs:string" minOccurs="0"/>
      <xs:element name="CountryRelationship" type="ns:CountryRelationshipType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Describes the country relationship (domestic and/or international) among the shipments being picked up.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CustomDeliveryWindowDetail">
    <xs:sequence>
      <xs:element name="Type" type="ns:CustomDeliveryWindowType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Indicates the type of custom delivery being requested.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RequestTime" type="xs:time" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Time by which delivery is requested.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RequestRange" type="ns:DateRange" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Range of dates for custom delivery request; only used if type is BETWEEN.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RequestDate" type="xs:date" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Date for custom delivery request; only used for types of ON, BETWEEN, or AFTER.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CustomDeliveryWindowType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="AFTER"/>
      <xs:enumeration value="BEFORE"/>
      <xs:enumeration value="BETWEEN"/>
      <xs:enumeration value="ON"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DateRange">
    <xs:sequence>
      <xs:element name="Begins" type="xs:date" minOccurs="0"/>
      <xs:element name="Ends" type="xs:date" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="DayOfWeekType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="FRI"/>
      <xs:enumeration value="MON"/>
      <xs:enumeration value="SAT"/>
      <xs:enumeration value="SUN"/>
      <xs:enumeration value="THU"/>
      <xs:enumeration value="TUE"/>
      <xs:enumeration value="WED"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DeliveryOnInvoiceAcceptanceDetail">
    <xs:sequence>
      <xs:element name="Recipient" type="ns:Party" minOccurs="0"/>
      <xs:element name="TrackingId" type="ns:TrackingId" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specifies the tracking id for the return, if preassigned.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DetentionDetail">
    <xs:annotation>
      <xs:documentation>Specifications for pup/set or vehicle delayed for loading or unloading.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Duration" type="xs:duration" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Amount of time involved in the detention.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Dimensions">
    <xs:sequence>
      <xs:element name="Length" type="xs:nonNegativeInteger" minOccurs="0"/>
      <xs:element name="Width" type="xs:nonNegativeInteger" minOccurs="0"/>
      <xs:element name="Height" type="xs:nonNegativeInteger" minOccurs="0"/>
      <xs:element name="Units" type="ns:LinearUnits" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Distance">
    <xs:annotation>
      <xs:documentation>Driving or other transportation distances, distinct from dimension measurements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Value" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the distance quantity.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Units" type="ns:DistanceUnits" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the unit of measure for the distance value.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="DistanceUnits">
    <xs:restriction base="xs:string">
      <xs:enumeration value="KM"/>
      <xs:enumeration value="MI"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="EMailLabelDetail">
    <xs:sequence>
      <xs:element name="NotificationEMailAddress" type="xs:string" minOccurs="0"/>
      <xs:element name="NotificationMessage" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="EMailNotificationAggregationType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="PER_PACKAGE"/>
      <xs:enumeration value="PER_SHIPMENT"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="EMailNotificationDetail">
    <xs:annotation>
      <xs:documentation>Information describing email notifications that will be sent in relation to events that occur during package movement</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AggregationType" type="ns:EMailNotificationAggregationType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specifies whether/how email notifications are grouped.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PersonalMessage" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>A message that will be included in the email notifications</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Recipients" type="ns:EMailNotificationRecipient" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Information describing the destination of the email, format of the email and events to be notified on</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="EMailNotificationEventType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ON_DELIVERY"/>
      <xs:enumeration value="ON_EXCEPTION"/>
      <xs:enumeration value="ON_SHIPMENT"/>
      <xs:enumeration value="ON_TENDER"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="EMailNotificationFormatType">
    <xs:annotation>
      <xs:documentation>The format of the email</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="HTML"/>
      <xs:enumeration value="TEXT"/>
      <xs:enumeration value="WIRELESS"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="EMailNotificationRecipient">
    <xs:sequence>
      <xs:element name="EMailNotificationRecipientType" type="ns:EMailNotificationRecipientType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the relationship this email recipient has to the shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EMailAddress" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The email address to send the notification to</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NotificationEventsRequested" type="ns:EMailNotificationEventType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The types of email notifications being requested for this recipient.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Format" type="ns:EMailNotificationFormatType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The format of the email notification.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Localization" type="ns:Localization" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The language/locale to be used in this email notification.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="EMailNotificationRecipientType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="BROKER"/>
      <xs:enumeration value="OTHER"/>
      <xs:enumeration value="RECIPIENT"/>
      <xs:enumeration value="SHIPPER"/>
      <xs:enumeration value="THIRD_PARTY"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="EtdConfirmationType">
    <xs:annotation>
      <xs:documentation>Specifies whether to confirm documents prior to processing a shipment with the ELECTRONIC_TRADE_DOCUMENTS special service.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="CONFIRMED"/>
      <xs:enumeration value="DEFERRED"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="EtdDetail">
    <xs:annotation>
      <xs:documentation>Electronic Trade document references used with the ETD special service.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Confirmation" type="ns:EtdConfirmationType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specifies client's intent for whether all documents must be confirmed before shipment processing.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RequestedDocumentCopies" type="ns:RequestedShippingDocumentType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Indicates the types of shipping documents produced for the shipper by FedEx (see ShippingDocumentSpecification) which should be copied back to the shipper in the shipment result data.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Documents" type="ns:UploadDocumentDetail" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="DocumentReferences" type="ns:UploadDocumentReferenceDetail" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ExpressFreightPickupDetail">
    <xs:sequence>
      <xs:element name="Service" type="ns:ServiceType" minOccurs="0"/>
      <xs:element name="BookingNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="Dimensions" type="ns:Dimensions" minOccurs="0"/>
      <xs:element name="TruckType" type="ns:TruckType" minOccurs="0"/>
      <xs:element name="TrailerSize" type="ns:TrailerSizeType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ExpressRegionCode">
    <xs:annotation>
      <xs:documentation>Indicates a FedEx Express operating region.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="APAC"/>
      <xs:enumeration value="CA"/>
      <xs:enumeration value="EMEA"/>
      <xs:enumeration value="LAC"/>
      <xs:enumeration value="US"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ExtraLaborDetail">
    <xs:annotation>
      <xs:documentation>Specification for labor time spent handling shipment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Duration" type="xs:duration" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total labor time.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="FedExLocationType">
    <xs:annotation>
      <xs:documentation>Identifies a kind of FedEx facility.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="FEDEX_AUTHORIZED_SHIP_CENTER"/>
      <xs:enumeration value="FEDEX_EXPRESS_STATION"/>
      <xs:enumeration value="FEDEX_FREIGHT_SERVICE_CENTER"/>
      <xs:enumeration value="FEDEX_GROUND_TERMINAL"/>
      <xs:enumeration value="FEDEX_HOME_DELIVERY_STATION"/>
      <xs:enumeration value="FEDEX_OFFICE"/>
      <xs:enumeration value="FEDEX_SELF_SERVICE_LOCATION"/>
      <xs:enumeration value="FEDEX_SMART_POST_HUB"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="FlatbedTrailerDetail">
    <xs:annotation>
      <xs:documentation>Specifies the optional features/characteristics requested for a Freight shipment utilizing a flatbed trailer.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Options" type="ns:FlatbedTrailerOption" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="FlatbedTrailerOption">
    <xs:restriction base="xs:string">
      <xs:enumeration value="OVER_DIMENSION"/>
      <xs:enumeration value="TARP"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="FreightGuaranteeDetail">
    <xs:sequence>
      <xs:element name="Type" type="ns:FreightGuaranteeType" minOccurs="0"/>
      <xs:element name="Date" type="xs:date" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Date for all Freight guarantee types.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Time" type="xs:time" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Time for GUARANTEED_TIME only.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="FreightGuaranteeType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="GUARANTEED_DATE"/>
      <xs:enumeration value="GUARANTEED_MORNING"/>
      <xs:enumeration value="GUARANTEED_TIME"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="FreightPickupDetail">
    <xs:sequence>
      <xs:element name="ApprovedBy" type="ns:Contact" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Contact Information of origin service center representative that authorized the pickup</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Payment" type="ns:PaymentType" minOccurs="0"/>
      <xs:element name="Role" type="ns:FreightShipmentRoleType" minOccurs="0"/>
      <xs:element name="AlternateBilling" type="ns:Party" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Used in connection with "Send Bill To" (SBT) identification of customer's account used for billing.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubmittedBy" type="ns:Contact" minOccurs="0"/>
      <xs:element name="LineItems" type="ns:FreightPickupLineItem" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FreightPickupLineItem">
    <xs:sequence>
      <xs:element name="Service" type="ns:ServiceType" minOccurs="0"/>
      <xs:element name="SequenceNumber" type="xs:nonNegativeInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the line item, to match reply line with request line.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Destination" type="ns:Address" minOccurs="0"/>
      <xs:element name="Packaging" type="ns:PhysicalPackagingType" minOccurs="0"/>
      <xs:element name="Pieces" type="xs:int" minOccurs="0"/>
      <xs:element name="Weight" type="ns:Weight" minOccurs="0"/>
      <xs:element name="TotalHandlingUnits" type="xs:int" minOccurs="0"/>
      <xs:element name="PurchaseOrderNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="JustOneMore" type="xs:boolean" minOccurs="0"/>
      <xs:element name="SpecialServicesRequested" type="ns:ShipmentSpecialServicesRequested" minOccurs="0"/>
      <xs:element name="FreightGuaranteeDetail" type="ns:FreightGuaranteeDetail" minOccurs="0"/>
      <xs:element name="Description" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FreightServiceCenterDetail">
    <xs:annotation>
      <xs:documentation>This class describes the relationship between a customer-specified address and the FedEx Freight / FedEx National Freight Service Center that supports that address.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="InterlineCarrierCode" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Freight Industry standard non-FedEx carrier identification</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="InterlineCarrierName" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The name of the Interline carrier.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AdditionalDays" type="xs:int" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Additional time it might take at the origin or destination to pickup or deliver the freight. This is usually due to the remoteness of the location. This time is included in the total transit time.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocalService" type="ns:ServiceType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Service branding which may be used for local pickup or delivery, distinct from service used for line-haul of customer's shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocalDistance" type="ns:Distance" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Distance between customer address (pickup or delivery) and the supporting Freight / National Freight service center.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocalDuration" type="xs:duration" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Time to travel between customer address (pickup or delivery) and the supporting Freight / National Freight service center.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocalServiceScheduling" type="ns:FreightServiceSchedulingType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specifies when/how the customer can arrange for pickup or delivery.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LimitedServiceDays" type="ns:DayOfWeekType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Specifies days of operation if localServiceScheduling is LIMITED.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GatewayLocationId" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Freight service center that is a gateway on the border of Canada or Mexico.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Location" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Alphabetical code identifying a Freight Service Center</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ContactAndAddress" type="ns:ContactAndAddress" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Freight service center Contact and Address</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="FreightServiceSchedulingType">
    <xs:annotation>
      <xs:documentation>Specifies the type of service scheduling offered from a Freight or National Freight Service Center to a customer-supplied address.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="LIMITED"/>
      <xs:enumeration value="STANDARD"/>
      <xs:enumeration value="WILL_CALL"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FreightShipmentRoleType">
    <xs:annotation>
      <xs:documentation>Indicates the role of the party submitting the transaction.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="CONSIGNEE"/>
      <xs:enumeration value="SHIPPER"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="HoldAtLocationDetail">
    <xs:sequence>
      <xs:element name="PhoneNumber" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Contact phone number for recipient of shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocationContactAndAddress" type="ns:ContactAndAddress" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Contact and address of FedEx facility at which shipment is to be held.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocationType" type="ns:FedExLocationType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Type of facility at which package/shipment is to be held.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocationId" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Location identification (for facilities identified by an alphanumeric location code).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocationNumber" type="xs:int" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Location identification (for facilities identified by an numeric location code).</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="HomeDeliveryPremiumDetail">
    <xs:sequence>
      <xs:element name="HomeDeliveryPremiumType" type="ns:HomeDeliveryPremiumType" minOccurs="0"/>
      <xs:element name="Date" type="xs:date" minOccurs="0"/>
      <xs:element name="PhoneNumber" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="HomeDeliveryPremiumType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="APPOINTMENT"/>
      <xs:enumeration value="DATE_CERTAIN"/>
      <xs:enumeration value="EVENING"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="InternationalControlledExportDetail">
    <xs:sequence>
      <xs:element name="Type" type="ns:InternationalControlledExportType" minOccurs="0"/>
      <xs:element name="ForeignTradeZoneCode" type="xs:string" minOccurs="0"/>
      <xs:element name="EntryNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="LicenseOrPermitNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="LicenseOrPermitExpirationDate" type="xs:date" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="InternationalControlledExportType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="DEA_036"/>
      <xs:enumeration value="DEA_236"/>
      <xs:enumeration value="DEA_486"/>
      <xs:enumeration value="DSP_05"/>
      <xs:enumeration value="DSP_61"/>
      <xs:enumeration value="DSP_73"/>
      <xs:enumeration value="DSP_85"/>
      <xs:enumeration value="DSP_94"/>
      <xs:enumeration value="DSP_LICENSE_AGREEMENT"/>
      <xs:enumeration value="FROM_FOREIGN_TRADE_ZONE"/>
      <xs:enumeration value="WAREHOUSE_WITHDRAWAL"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="InternationalTrafficInArmsRegulationsDetail">
    <xs:sequence>
      <xs:element name="LicenseOrExemptionNumber" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="LinearUnits">
    <xs:restriction base="xs:string">
      <xs:enumeration value="CM"/>
      <xs:enumeration value="IN"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Localization">
    <xs:annotation>
      <xs:documentation>Identifies the representation of human-readable text.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LanguageCode" type="xs:string" minOccurs="1">
        <xs:annotation>
          <xs:documentation>Two-letter code for language (e.g. EN, FR, etc.)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocaleCode" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Two-letter code for the region (e.g. us, ca, etc..).</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MarkingOrTaggingDetail">
    <xs:annotation>
      <xs:documentation>Specification for marking or tagging of pieces in shipment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Count" type="xs:positiveInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Number of pieces to be marked or tagged by FedEx.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Money">
    <xs:sequence>
      <xs:element name="Currency" type="xs:string" minOccurs="0"/>
      <xs:element name="Amount" type="xs:decimal" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NonBusinessTimeDetail">
    <xs:annotation>
      <xs:documentation>Specification for services performed during non-business hours and/or days.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PersonDays" type="xs:nonNegativeInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total number of person days for full non-business days.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PersonHours" type="xs:nonNegativeInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total number of person hours (whole or partial hours) for non-business hours.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Notification">
    <xs:annotation>
      <xs:documentation>The descriptive data regarding the result of the submitted transaction.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Severity" type="ns:NotificationSeverityType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The severity of this notification. This can indicate success or failure or some other information about the request. The values that can be returned are SUCCESS - Your transaction succeeded with no other applicable information. NOTE - Additional information that may be of interest to you about your transaction. WARNING - Additional information that you need to know about your transaction that you may need to take action on. ERROR - Information about an error that occurred while processing your transaction. FAILURE - FedEx was unable to process your transaction at this time due to a system failure. Please try again later</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Source" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Indicates the source of this notification. Combined with the Code it uniquely identifies this notification</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Code" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>A code that represents this notification. Combined with the Source it uniquely identifies this notification.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Message" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Human-readable text that explains this notification.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocalizedMessage" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The translated message. The language and locale specified in the ClientDetail. Localization are used to determine the representation. Currently only supported in a TrackReply.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A collection of name/value pairs that provide specific data to help the client determine the nature of an error (or warning, etc.) witout having to parse the message string.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NotificationParameter">
    <xs:sequence>
      <xs:element name="Id" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the type of data contained in Value (e.g. SERVICE_TYPE, PACKAGE_SEQUENCE, etc..).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Value" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The value of the parameter (e.g. PRIORITY_OVERNIGHT, 2, etc..).</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="NotificationSeverityType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ERROR"/>
      <xs:enumeration value="FAILURE"/>
      <xs:enumeration value="NOTE"/>
      <xs:enumeration value="SUCCESS"/>
      <xs:enumeration value="WARNING"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PackagingType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="FEDEX_10KG_BOX"/>
      <xs:enumeration value="FEDEX_25KG_BOX"/>
      <xs:enumeration value="FEDEX_BOX"/>
      <xs:enumeration value="FEDEX_ENVELOPE"/>
      <xs:enumeration value="FEDEX_PAK"/>
      <xs:enumeration value="FEDEX_TUBE"/>
      <xs:enumeration value="YOUR_PACKAGING"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PalletShrinkwrapDetail">
    <xs:annotation>
      <xs:documentation>Specifications for pallets to be shrinkwrapped as part of a Freight shipment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PalletCount" type="xs:positiveInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Number of pallets to be shrinkwrapped.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PalletsProvidedDetail">
    <xs:annotation>
      <xs:documentation>Specifications for pallets to be provided on Freight shipment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PalletCount" type="xs:positiveInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Number of pallets to be provided.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Party">
    <xs:sequence>
      <xs:element name="AccountNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="Tins" type="ns:TaxpayerIdentification" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="Contact" type="ns:Contact" minOccurs="0"/>
      <xs:element name="Address" type="ns:Address" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Payment">
    <xs:sequence>
      <xs:element name="PaymentType" type="ns:PaymentType" minOccurs="0"/>
      <xs:element name="Payor" type="ns:Payor" minOccurs="0"/>
      <xs:element name="Amount" type="ns:Money" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PaymentType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ACCOUNT"/>
      <xs:enumeration value="CASH"/>
      <xs:enumeration value="COLLECT"/>
      <xs:enumeration value="CREDIT_CARD"/>
      <xs:enumeration value="RECIPIENT"/>
      <xs:enumeration value="SENDER"/>
      <xs:enumeration value="THIRD_PARTY"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Payor">
    <xs:sequence>
      <xs:element name="ResponsibleParty" type="ns:Party" minOccurs="0"/>
      <xs:element name="AssociatedAccounts" type="ns:AssociatedAccount" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PendingShipmentDetail">
    <xs:annotation>
      <xs:documentation>This information describes the kind of pending shipment being requested.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Type" type="ns:PendingShipmentType" minOccurs="0"/>
      <xs:element name="ExpirationDate" type="xs:date" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Date after which the pending shipment will no longer be available for completion.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EmailLabelDetail" type="ns:EMailLabelDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Only used with type of EMAIL.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PendingShipmentType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="EMAIL"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PhysicalPackagingType">
    <xs:annotation>
      <xs:documentation>This enumeration rationalizes the former FedEx Express international "admissibility package" types (based on ANSI X.12) and the FedEx Freight packaging types. The values represented are those common to both carriers.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="BAG"/>
      <xs:enumeration value="BARREL"/>
      <xs:enumeration value="BASKET"/>
      <xs:enumeration value="BOX"/>
      <xs:enumeration value="BUCKET"/>
      <xs:enumeration value="BUNDLE"/>
      <xs:enumeration value="CAGE"/>
      <xs:enumeration value="CARTON"/>
      <xs:enumeration value="CASE"/>
      <xs:enumeration value="CHEST"/>
      <xs:enumeration value="CONTAINER"/>
      <xs:enumeration value="CRATE"/>
      <xs:enumeration value="CYLINDER"/>
      <xs:enumeration value="DRUM"/>
      <xs:enumeration value="ENVELOPE"/>
      <xs:enumeration value="HAMPER"/>
      <xs:enumeration value="OTHER"/>
      <xs:enumeration value="PACKAGE"/>
      <xs:enumeration value="PAIL"/>
      <xs:enumeration value="PALLET"/>
      <xs:enumeration value="PARCEL"/>
      <xs:enumeration value="PIECE"/>
      <xs:enumeration value="REEL"/>
      <xs:enumeration value="ROLL"/>
      <xs:enumeration value="SACK"/>
      <xs:enumeration value="SHRINK_WRAPPED"/>
      <xs:enumeration value="SKID"/>
      <xs:enumeration value="TANK"/>
      <xs:enumeration value="TOTE_BIN"/>
      <xs:enumeration value="TUBE"/>
      <xs:enumeration value="UNIT"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PickupAvailabilityReply">
    <xs:sequence>
      <xs:element name="HighestSeverity" type="ns:NotificationSeverityType" minOccurs="1"/>
      <xs:element name="Notifications" type="ns:Notification" minOccurs="1" maxOccurs="unbounded"/>
      <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
      <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
      <xs:element name="RequestTimestamp" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="Options" type="ns:PickupScheduleOption" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="CloseTimeType" type="ns:CloseTimeType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies whether the close time is specified by the customer or is the default time.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CloseTime" type="xs:time" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Close time corresponding to the above specified type</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocalTime" type="xs:time" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Local time of the service center that will service the pickup</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PickupAvailabilityRequest">
    <xs:sequence>
      <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail" minOccurs="1">
        <xs:annotation>
          <xs:documentation>Descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ClientDetail" type="ns:ClientDetail" minOccurs="1"/>
      <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"/>
      <xs:element name="Version" type="ns:VersionId" minOccurs="1"/>
      <xs:element name="AccountNumber" type="ns:AssociatedAccount" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the account number for Freight Pickup Availability</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PickupAddress" type="ns:Address" minOccurs="0"/>
      <xs:element name="PickupRequestType" type="ns:PickupRequestType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="DispatchDate" type="xs:date" minOccurs="0"/>
      <xs:element name="NumberOfBusinessDays" type="xs:positiveInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Number of business days to consider when checking availability.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PackageReadyTime" type="xs:time" minOccurs="0"/>
      <xs:element name="CustomerCloseTime" type="xs:time" minOccurs="0"/>
      <xs:element name="Carriers" type="ns:CarrierCodeType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="ShipmentAttributes" type="ns:PickupShipmentAttributes" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PickupBuildingLocationType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="FRONT"/>
      <xs:enumeration value="NONE"/>
      <xs:enumeration value="REAR"/>
      <xs:enumeration value="SIDE"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PickupEventType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ASSIGNED_TO_DRIVER"/>
      <xs:enumeration value="CANCELED"/>
      <xs:enumeration value="EXCEPTION"/>
      <xs:enumeration value="PICKED_UP"/>
      <xs:enumeration value="SCHEDULED"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PickupOriginDetail">
    <xs:sequence>
      <xs:element name="UseAccountAddress" type="xs:boolean" minOccurs="0"/>
      <xs:element name="AddressId" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>FedEx USE ONLY (with IVR client)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PickupLocation" type="ns:ContactAndAddress" minOccurs="0"/>
      <xs:element name="PackageLocation" type="ns:PickupBuildingLocationType" minOccurs="0"/>
      <xs:element name="BuildingPart" type="ns:BuildingPartCode" minOccurs="0"/>
      <xs:element name="BuildingPartDescription" type="xs:string" minOccurs="0"/>
      <xs:element name="ReadyTimestamp" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="CompanyCloseTime" type="xs:time" minOccurs="0"/>
      <xs:element name="StayLate" type="xs:boolean" minOccurs="0">
        <xs:annotation>
          <xs:documentation>FedEx IVR Only. Customer is willing to stay late for pickup.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PickupDateType" type="ns:PickupRequestType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>FedEx USE ONLY (with IVR client)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LastAccessTime" type="xs:time" minOccurs="0">
        <xs:annotation>
          <xs:documentation>FedEx IVR Only</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GeographicalPostalCode" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Alternate postal code tied to pickup location (European pickups)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Location" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>FedEx USE ONLY</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DeleteLastUsed" type="xs:boolean" minOccurs="0">
        <xs:annotation>
          <xs:documentation>FedEx USE ONLY (with IVR client)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SuppliesRequested" type="xs:string" minOccurs="0"/>
      <xs:element name="EarlyPickup" type="xs:boolean" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Applies only to Europe</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PickupRequestType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="FUTURE_DAY"/>
      <xs:enumeration value="SAME_DAY"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PickupScheduleOption">
    <xs:sequence>
      <xs:element name="Carrier" type="ns:CarrierCodeType" minOccurs="0"/>
      <xs:element name="Description" type="xs:string" minOccurs="0"/>
      <xs:element name="ScheduleDay" type="ns:PickupRequestType" minOccurs="0"/>
      <xs:element name="Available" type="xs:boolean" minOccurs="0"/>
      <xs:element name="PickupDate" type="xs:date" minOccurs="0"/>
      <xs:element name="CutOffTime" type="xs:time" minOccurs="0"/>
      <xs:element name="AccessTime" type="xs:duration" minOccurs="0"/>
      <xs:element name="ResidentialAvailable" type="xs:boolean" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Indicates whether residential pickup is available for the requested postal code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CountryRelationship" type="ns:CountryRelationshipType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Describes the country relationship (domestic and/or international) among the shipments being picked up.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PickupShipmentAttributes">
    <xs:sequence>
      <xs:element name="ServiceType" type="ns:ServiceType" minOccurs="0"/>
      <xs:element name="PackagingType" type="ns:PackagingType" minOccurs="0"/>
      <xs:element name="Dimensions" type="ns:Dimensions" minOccurs="0"/>
      <xs:element name="Weight" type="ns:Weight" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="RateLevelBasisType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="BUNDLED_RATE"/>
      <xs:enumeration value="INDIVIDUAL_PACKAGE_RATE"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RateTypeBasisType">
    <xs:annotation>
      <xs:documentation>Select the type of rate from which the element is to be selected.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="ACCOUNT"/>
      <xs:enumeration value="ACTUAL"/>
      <xs:enumeration value="CURRENT"/>
      <xs:enumeration value="CUSTOM"/>
      <xs:enumeration value="LIST"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RequestedShippingDocumentType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="CERTIFICATE_OF_ORIGIN"/>
      <xs:enumeration value="COMMERCIAL_INVOICE"/>
      <xs:enumeration value="CUSTOMER_SPECIFIED_LABELS"/>
      <xs:enumeration value="CUSTOM_PACKAGE_DOCUMENT"/>
      <xs:enumeration value="CUSTOM_SHIPMENT_DOCUMENT"/>
      <xs:enumeration value="DANGEROUS_GOODS_SHIPPERS_DECLARATION"/>
      <xs:enumeration value="FREIGHT_ADDRESS_LABEL"/>
      <xs:enumeration value="GENERAL_AGENCY_AGREEMENT"/>
      <xs:enumeration value="LABEL"/>
      <xs:enumeration value="NAFTA_CERTIFICATE_OF_ORIGIN"/>
      <xs:enumeration value="OP_900"/>
      <xs:enumeration value="PRO_FORMA_INVOICE"/>
      <xs:enumeration value="RETURN_INSTRUCTIONS"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ReturnAssociationDetail">
    <xs:sequence>
      <xs:element name="TrackingNumber" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specifies the tracking number of the master associated with the return shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ShipDate" type="xs:date" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ReturnEMailAllowedSpecialServiceType">
    <xs:annotation>
      <xs:documentation>These values are used to control the availability of certain special services at the time when a customer uses the e-mail label link to create a return shipment.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="SATURDAY_DELIVERY"/>
      <xs:enumeration value="SATURDAY_PICKUP"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ReturnEMailDetail">
    <xs:sequence>
      <xs:element name="MerchantPhoneNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="AllowedSpecialServices" type="ns:ReturnEMailAllowedSpecialServiceType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Identifies the allowed (merchant-authorized) special services which may be selected when the subsequent shipment is created. Only services represented in EMailLabelAllowedSpecialServiceType will be controlled by this list.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ReturnShipmentDetail">
    <xs:sequence>
      <xs:element name="ReturnType" type="ns:ReturnType" minOccurs="0"/>
      <xs:element name="Rma" type="ns:Rma" minOccurs="0"/>
      <xs:element name="ReturnEMailDetail" type="ns:ReturnEMailDetail" minOccurs="0"/>
      <xs:element name="ReturnAssociation" type="ns:ReturnAssociationDetail" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ReturnType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="FEDEX_TAG"/>
      <xs:enumeration value="NET_RETURN"/>
      <xs:enumeration value="PENDING"/>
      <xs:enumeration value="PRINT_RETURN_LABEL"/>
      <xs:enumeration value="VOICE_CALL_TAG"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Rma">
    <xs:annotation>
      <xs:documentation>June 2011 ITG 121203 IR-RMA number has been removed from this structure and added as a new customer reference type. The structure remains because of the reason field below.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Reason" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ServiceType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="EUROPE_FIRST_INTERNATIONAL_PRIORITY"/>
      <xs:enumeration value="FEDEX_1_DAY_FREIGHT"/>
      <xs:enumeration value="FEDEX_2_DAY"/>
      <xs:enumeration value="FEDEX_2_DAY_AM"/>
      <xs:enumeration value="FEDEX_2_DAY_FREIGHT"/>
      <xs:enumeration value="FEDEX_3_DAY_FREIGHT"/>
      <xs:enumeration value="FEDEX_EXPRESS_SAVER"/>
      <xs:enumeration value="FEDEX_FIRST_FREIGHT"/>
      <xs:enumeration value="FEDEX_FREIGHT_ECONOMY"/>
      <xs:enumeration value="FEDEX_FREIGHT_PRIORITY"/>
      <xs:enumeration value="FEDEX_GROUND"/>
      <xs:enumeration value="FIRST_OVERNIGHT"/>
      <xs:enumeration value="GROUND_HOME_DELIVERY"/>
      <xs:enumeration value="INTERNATIONAL_DISTRIBUTION_FREIGHT"/>
      <xs:enumeration value="INTERNATIONAL_ECONOMY"/>
      <xs:enumeration value="INTERNATIONAL_ECONOMY_DISTRIBUTION"/>
      <xs:enumeration value="INTERNATIONAL_ECONOMY_FREIGHT"/>
      <xs:enumeration value="INTERNATIONAL_FIRST"/>
      <xs:enumeration value="INTERNATIONAL_PRIORITY"/>
      <xs:enumeration value="INTERNATIONAL_PRIORITY_DISTRIBUTION"/>
      <xs:enumeration value="INTERNATIONAL_PRIORITY_FREIGHT"/>
      <xs:enumeration value="PRIORITY_OVERNIGHT"/>
      <xs:enumeration value="SAME_DAY_METRO_AFTERNOON"/>
      <xs:enumeration value="SAME_DAY_METRO_MORNING"/>
      <xs:enumeration value="SAME_DAY_METRO_RUSH"/>
      <xs:enumeration value="SMART_POST"/>
      <xs:enumeration value="STANDARD_OVERNIGHT"/>
      <xs:enumeration value="TRANSBORDER_DISTRIBUTION_CONSOLIDATION"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ShipmentAssemblyDetail">
    <xs:annotation>
      <xs:documentation>Specification for assembly performed on shipment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PieceCount" type="xs:nonNegativeInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Number of pieces or packages to be assembled</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Weight" type="ns:Weight" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total weight of pieces or packages to be assembled</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ShipmentDryIceDetail">
    <xs:annotation>
      <xs:documentation>Shipment-level totals of dry ice data across all packages.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PackageCount" type="xs:nonNegativeInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total number of packages in the shipment that contain dry ice.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TotalWeight" type="ns:Weight" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total shipment dry ice weight for all packages.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ShipmentSpecialServiceType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="BLIND_SHIPMENT"/>
      <xs:enumeration value="BROKER_SELECT_OPTION"/>
      <xs:enumeration value="CALL_BEFORE_DELIVERY"/>
      <xs:enumeration value="COD"/>
      <xs:enumeration value="COD_REMITTANCE"/>
      <xs:enumeration value="CUSTOM_DELIVERY_WINDOW"/>
      <xs:enumeration value="CUT_FLOWERS"/>
      <xs:enumeration value="DANGEROUS_GOODS"/>
      <xs:enumeration value="DELIVERY_ON_INVOICE_ACCEPTANCE"/>
      <xs:enumeration value="DETENTION"/>
      <xs:enumeration value="DO_NOT_BREAK_DOWN_PALLETS"/>
      <xs:enumeration value="DO_NOT_STACK_PALLETS"/>
      <xs:enumeration value="DRY_ICE"/>
      <xs:enumeration value="EAST_COAST_SPECIAL"/>
      <xs:enumeration value="ELECTRONIC_TRADE_DOCUMENTS"/>
      <xs:enumeration value="EMAIL_NOTIFICATION"/>
      <xs:enumeration value="EXCLUSIVE_USE"/>
      <xs:enumeration value="EXHIBITION_DELIVERY"/>
      <xs:enumeration value="EXHIBITION_PICKUP"/>
      <xs:enumeration value="EXPEDITED_ALTERNATE_DELIVERY_ROUTE"/>
      <xs:enumeration value="EXPEDITED_ONE_DAY_EARLIER"/>
      <xs:enumeration value="EXPEDITED_SERVICE_MONITORING_AND_DELIVERY"/>
      <xs:enumeration value="EXPEDITED_STANDARD_DAY_EARLY_DELIVERY"/>
      <xs:enumeration value="EXTRA_LABOR"/>
      <xs:enumeration value="EXTREME_LENGTH"/>
      <xs:enumeration value="FLATBED_TRAILER"/>
      <xs:enumeration value="FOOD"/>
      <xs:enumeration value="FREIGHT_GUARANTEE"/>
      <xs:enumeration value="FREIGHT_TO_COLLECT"/>
      <xs:enumeration value="FUTURE_DAY_SHIPMENT"/>
      <xs:enumeration value="HOLD_AT_LOCATION"/>
      <xs:enumeration value="HOLIDAY_DELIVERY"/>
      <xs:enumeration value="HOLIDAY_GUARANTEE"/>
      <xs:enumeration value="HOME_DELIVERY_PREMIUM"/>
      <xs:enumeration value="INSIDE_DELIVERY"/>
      <xs:enumeration value="INSIDE_PICKUP"/>
      <xs:enumeration value="INTERNATIONAL_CONTROLLED_EXPORT_SERVICE"/>
      <xs:enumeration value="INTERNATIONAL_MAIL_SERVICE"/>
      <xs:enumeration value="INTERNATIONAL_TRAFFIC_IN_ARMS_REGULATIONS"/>
      <xs:enumeration value="LIFTGATE_DELIVERY"/>
      <xs:enumeration value="LIFTGATE_PICKUP"/>
      <xs:enumeration value="LIMITED_ACCESS_DELIVERY"/>
      <xs:enumeration value="LIMITED_ACCESS_PICKUP"/>
      <xs:enumeration value="MARKING_OR_TAGGING"/>
      <xs:enumeration value="NON_BUSINESS_TIME"/>
      <xs:enumeration value="PALLETS_PROVIDED"/>
      <xs:enumeration value="PALLET_SHRINKWRAP"/>
      <xs:enumeration value="PALLET_WEIGHT_ALLOWANCE"/>
      <xs:enumeration value="PENDING_COMPLETE"/>
      <xs:enumeration value="PENDING_SHIPMENT"/>
      <xs:enumeration value="PERMIT"/>
      <xs:enumeration value="POISON"/>
      <xs:enumeration value="PORT_DELIVERY"/>
      <xs:enumeration value="PORT_PICKUP"/>
      <xs:enumeration value="PRE_DELIVERY_NOTIFICATION"/>
      <xs:enumeration value="PRE_EIG_PROCESSING"/>
      <xs:enumeration value="PRE_MULTIPLIER_PROCESSING"/>
      <xs:enumeration value="PROTECTION_FROM_FREEZING"/>
      <xs:enumeration value="REGIONAL_MALL_DELIVERY"/>
      <xs:enumeration value="REGIONAL_MALL_PICKUP"/>
      <xs:enumeration value="RETURN_SHIPMENT"/>
      <xs:enumeration value="SATURDAY_DELIVERY"/>
      <xs:enumeration value="SATURDAY_PICKUP"/>
      <xs:enumeration value="SHIPMENT_ASSEMBLY"/>
      <xs:enumeration value="SORT_AND_SEGREGATE"/>
      <xs:enumeration value="SPECIAL_DELIVERY"/>
      <xs:enumeration value="SPECIAL_EQUIPMENT"/>
      <xs:enumeration value="STORAGE"/>
      <xs:enumeration value="SUNDAY_DELIVERY"/>
      <xs:enumeration value="THIRD_PARTY_CONSIGNEE"/>
      <xs:enumeration value="TOP_LOAD"/>
      <xs:enumeration value="USPS_DELIVERY"/>
      <xs:enumeration value="USPS_PICKUP"/>
      <xs:enumeration value="WEIGHING"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ShipmentSpecialServicesRequested">
    <xs:annotation>
      <xs:documentation>These special services are available at the shipment level for some or all service types. If the shipper is requesting a special service which requires additional data (such as the COD amount), the shipment special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object below.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SpecialServiceTypes" type="ns:ShipmentSpecialServiceType" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The types of all special services requested for the enclosing shipment (or other shipment-level transaction).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CodDetail" type="ns:CodDetail" minOccurs="0"/>
      <xs:element name="DeliveryOnInvoiceAcceptanceDetail" type="ns:DeliveryOnInvoiceAcceptanceDetail" minOccurs="0"/>
      <xs:element name="HoldAtLocationDetail" type="ns:HoldAtLocationDetail" minOccurs="0"/>
      <xs:element name="EMailNotificationDetail" type="ns:EMailNotificationDetail" minOccurs="0"/>
      <xs:element name="ReturnShipmentDetail" type="ns:ReturnShipmentDetail" minOccurs="0"/>
      <xs:element name="PendingShipmentDetail" type="ns:PendingShipmentDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>This field should be populated for pending shipments (e.g. e-mail label) It is required by a PENDING_SHIPMENT special service type.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="InternationalControlledExportDetail" type="ns:InternationalControlledExportDetail" minOccurs="0"/>
      <xs:element name="InternationalTrafficInArmsRegulationsDetail" type="ns:InternationalTrafficInArmsRegulationsDetail" minOccurs="0"/>
      <xs:element name="ShipmentDryIceDetail" type="ns:ShipmentDryIceDetail" minOccurs="0"/>
      <xs:element name="HomeDeliveryPremiumDetail" type="ns:HomeDeliveryPremiumDetail" minOccurs="0"/>
      <xs:element name="FlatbedTrailerDetail" type="ns:FlatbedTrailerDetail" minOccurs="0"/>
      <xs:element name="FreightGuaranteeDetail" type="ns:FreightGuaranteeDetail" minOccurs="0"/>
      <xs:element name="EtdDetail" type="ns:EtdDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Electronic Trade document references.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ExtraLaborDetail" type="ns:ExtraLaborDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specification for labor to be performed with the shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PalletShrinkwrapDetail" type="ns:PalletShrinkwrapDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specifications for pallets to be shrinkwrapped as part of a Freight shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PalletsProvidedDetail" type="ns:PalletsProvidedDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specifications for pallets to be provided on Freight shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DetentionDetail" type="ns:DetentionDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specifications for pup/set or vehicle delayed for loading or unloading.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MarkingOrTaggingDetail" type="ns:MarkingOrTaggingDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specification for marking or tagging of pieces in shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NonBusinessTimeDetail" type="ns:NonBusinessTimeDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specification for services performed during non-business hours and/or days.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ShipmentAssemblyDetail" type="ns:ShipmentAssemblyDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specification for assembly performed on shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SortAndSegregateDetail" type="ns:SortAndSegregateDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specification for sorting and/or segregating performed on shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SpecialEquipmentDetail" type="ns:SpecialEquipmentDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specification for special equipment used in loading/unloading shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StorageDetail" type="ns:StorageDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specification for storage provided for shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WeighingDetail" type="ns:WeighingDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specification for weighing services provided for shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CustomDeliveryWindowDetail" type="ns:CustomDeliveryWindowDetail" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specification for date or range of dates on which delivery is to be attempted.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SortAndSegregateDetail">
    <xs:annotation>
      <xs:documentation>Specification for sorting and/or segregating performed on shipment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PieceCount" type="xs:nonNegativeInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Number of pieces or packages to be sorted/segregated</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Weight" type="ns:Weight" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total weight of pieces or packages to be sorted/segregated</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SpecialEquipmentDetail">
    <xs:annotation>
      <xs:documentation>Specification for special equipment used in loading/unloading shipment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LineItems" type="ns:SpecialEquipmentLineItem" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Contains an entry for each type of special equipment used with shipment</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SpecialEquipmentLineItem">
    <xs:annotation>
      <xs:documentation>Specifies the usage of a single type of special equipment while loading/unloading a shipment</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Type" type="ns:SpecialEquipmentType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Type of equipment used</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Duration" type="xs:duration" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total amount of time the equipment was used</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SpecialEquipmentType">
    <xs:annotation>
      <xs:documentation>Identifies types of special equipment used in loading/unloading Freight shipments</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="FORK_LIFT"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="StorageDetail">
    <xs:annotation>
      <xs:documentation>Specification for storage provided for shipment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Duration" type="xs:duration" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Total time shipment is held by carrier.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TaxpayerIdentification">
    <xs:sequence>
      <xs:element name="TinType" type="ns:TinType" minOccurs="0"/>
      <xs:element name="Number" type="xs:string" minOccurs="0"/>
      <xs:element name="Usage" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the usage of Tax Identification Number in Shipment processing</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TinType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="BUSINESS_NATIONAL"/>
      <xs:enumeration value="BUSINESS_STATE"/>
      <xs:enumeration value="BUSINESS_UNION"/>
      <xs:enumeration value="PERSONAL_NATIONAL"/>
      <xs:enumeration value="PERSONAL_STATE"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TrackingId">
    <xs:sequence>
      <xs:element name="TrackingIdType" type="ns:TrackingIdType" minOccurs="0"/>
      <xs:element name="FormId" type="xs:string" minOccurs="0"/>
      <xs:element name="UspsApplicationId" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>For use with SmartPost tracking IDs only</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TrackingNumber" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TrackingIdType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="EXPRESS"/>
      <xs:enumeration value="FEDEX"/>
      <xs:enumeration value="FREIGHT"/>
      <xs:enumeration value="GROUND"/>
      <xs:enumeration value="USPS"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TrailerSizeType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="TRAILER_28_FT"/>
      <xs:enumeration value="TRAILER_48_FT"/>
      <xs:enumeration value="TRAILER_53_FT"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TransactionDetail">
    <xs:sequence>
      <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Free form text to be echoed back in the reply. Used to match requests and replies.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Localization" type="ns:Localization" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Governs data payload language/translations (contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TruckType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="DROP_TRAILER_AGREEMENT"/>
      <xs:enumeration value="LIFTGATE"/>
      <xs:enumeration value="TRACTOR_TRAILER_ACCESS"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="UploadDocumentDetail">
    <xs:sequence>
      <xs:element name="LineNumber" type="xs:nonNegativeInteger" minOccurs="0"/>
      <xs:element name="CustomerReference" type="xs:string" minOccurs="0"/>
      <xs:element name="DocumentProducer" type="ns:UploadDocumentProducerType" minOccurs="0"/>
      <xs:element name="DocumentType" type="ns:UploadDocumentType" minOccurs="0"/>
      <xs:element name="FileName" type="xs:string" minOccurs="0"/>
      <xs:element name="DocumentContent" type="xs:base64Binary" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="UploadDocumentIdProducer">
    <xs:restriction base="xs:string">
      <xs:enumeration value="CUSTOMER"/>
      <xs:enumeration value="FEDEX_CSHP"/>
      <xs:enumeration value="FEDEX_GTM"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="UploadDocumentProducerType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="CUSTOMER"/>
      <xs:enumeration value="FEDEX_CAFE"/>
      <xs:enumeration value="FEDEX_CLS"/>
      <xs:enumeration value="FEDEX_FIDT"/>
      <xs:enumeration value="FEDEX_FXRS"/>
      <xs:enumeration value="FEDEX_GTM"/>
      <xs:enumeration value="OTHER"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="UploadDocumentReferenceDetail">
    <xs:sequence>
      <xs:element name="LineNumber" type="xs:nonNegativeInteger" minOccurs="0"/>
      <xs:element name="CustomerReference" type="xs:string" minOccurs="0"/>
      <xs:element name="DocumentProducer" type="ns:UploadDocumentProducerType" minOccurs="0"/>
      <xs:element name="DocumentType" type="ns:UploadDocumentType" minOccurs="0"/>
      <xs:element name="DocumentId" type="xs:string" minOccurs="0"/>
      <xs:element name="DocumentIdProducer" type="ns:UploadDocumentIdProducer" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="UploadDocumentType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="CERTIFICATE_OF_ORIGIN"/>
      <xs:enumeration value="COMMERCIAL_INVOICE"/>
      <xs:enumeration value="ETD_LABEL"/>
      <xs:enumeration value="NAFTA_CERTIFICATE_OF_ORIGIN"/>
      <xs:enumeration value="OTHER"/>
      <xs:enumeration value="PRO_FORMA_INVOICE"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="WeighingDetail">
    <xs:annotation>
      <xs:documentation>Specifies a single type of weighing performed on a shipment</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Type" type="ns:WeighingScaleType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Type of scale used</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="WeighingScaleType">
    <xs:annotation>
      <xs:documentation>Identifies types of scales used in weighing Freight shipments</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="FEDEX_SCALE"/>
      <xs:enumeration value="PUBLIC_SCALE"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Weight">
    <xs:annotation>
      <xs:documentation>The descriptive data for the heaviness of an object.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Units" type="ns:WeightUnits" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the unit of measure associated with a weight value.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Value" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the weight value of a package/shipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="WeightUnits">
    <xs:restriction base="xs:string">
      <xs:enumeration value="KG"/>
      <xs:enumeration value="LB"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="WebAuthenticationDetail">
    <xs:annotation>
      <xs:documentation>Used in authentication of the sender's identity.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="UserCredential" type="ns:WebAuthenticationCredential" minOccurs="1">
        <xs:annotation>
          <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="WebAuthenticationCredential">
    <xs:annotation>
      <xs:documentation>Two part authentication string used for the sender's identity</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Key" type="xs:string" minOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifying part of authentication credential. This value is provided by FedEx after registration</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Password" type="xs:string" minOccurs="1">
        <xs:annotation>
          <xs:documentation>Secret part of authentication key. This value is provided by FedEx after registration.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VersionId">
    <xs:annotation>
      <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ServiceId" type="xs:string" fixed="disp" minOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifies a system or sub-system which performs an operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Major" type="xs:int" fixed="5" minOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifies the service business level.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Intermediate" type="xs:int" fixed="0" minOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifies the service interface level.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Minor" type="xs:int" fixed="0" minOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifies the service code level.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>