<?xml version="1.0" encoding="UTF-8" ?>
<!--
XML Schema Rec
Generated by X-Meta 
Mon Feb 03 14:23:38 GMT 2003
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-basda-org:2000:purchaseOrder:xdr:3.01" targetNamespace="urn:schemas-basda-org:2000:purchaseOrder:xdr:3.01" xmlns:xdr="http://www.decisionsoft.com/XDR-compat-v1" version="3.07" id="eBIS-XML_Order" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xsd:import namespace="http://www.decisionsoft.com/XDR-compat-v1" schemaLocation="http://www.decisionsoft.com/XDR-compat-v1.xsd"/>
  <xsd:element name="Order">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="1" maxOccurs="1" name="OrderHead">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element minOccurs="1" maxOccurs="1" name="Schema" type="Schema"/>
              <xsd:element minOccurs="0" maxOccurs="1" name="Stylesheet" type="Stylesheet"/>
              <xsd:element minOccurs="1" maxOccurs="1" name="Parameters" type="Parameters"/>
              <xsd:element minOccurs="0" maxOccurs="1" name="OriginatingSoftware" type="OriginatingSoftware"/>
              <xsd:element minOccurs="0" maxOccurs="1" name="TestFlag" type="TestFlag"/>
              <xsd:element minOccurs="1" maxOccurs="1" name="OrderType">
                <xsd:annotation>
                  <xsd:documentation>Order Classification Description</xsd:documentation>
                </xsd:annotation>
                <xsd:complexType>
                  <xsd:simpleContent>
                    <xsd:extension base="xsd:string">
                      <xsd:attribute use="optional" name="Code" type="xsd:string"/>
                      <xsd:attribute use="optional" name="Codelist" type="xsd:string"/>
                    </xsd:extension>
                  </xsd:simpleContent>
                </xsd:complexType>
              </xsd:element>
              <xsd:element minOccurs="0" maxOccurs="1" name="Function" type="Order_Function"/>
              <xsd:element minOccurs="1" maxOccurs="1" name="OrderCurrency">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element minOccurs="1" maxOccurs="1" name="Currency" type="Currency"/>
                    <xsd:element minOccurs="0" maxOccurs="1" name="AlternateCurrency" type="AlternateCurrency"/>
                    <xsd:element minOccurs="0" maxOccurs="1" name="Rate" type="Rate"/>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
              <xsd:element minOccurs="0" maxOccurs="1" name="InvoiceCurrency">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element minOccurs="1" maxOccurs="1" name="Currency" type="Currency"/>
                    <xsd:element minOccurs="0" maxOccurs="1" name="AlternateCurrency" type="AlternateCurrency"/>
                    <xsd:element minOccurs="0" maxOccurs="1" name="Rate" type="Rate"/>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="Checksum" type="xdr:int"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        <xsd:element minOccurs="0" maxOccurs="1" name="OrderReferences" type="OrderReferences"/>
        <xsd:choice>
          <xsd:element minOccurs="0" maxOccurs="1" name="Extensions">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>This node allows extension of the eBIS XML spec.  Project specific data from other namespaces may be inserted at this point</xsd:documentation>
                  </xsd:annotation>
                </xsd:any>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation>Deprecated. New implementations using eBIS-XML should place extensions within the Extensions element which follows.</xsd:documentation>
            </xsd:annotation>
          </xsd:any>
        </xsd:choice>
        <xsd:element minOccurs="1" maxOccurs="1" name="OrderDate" type="dateTime"/>
        <xsd:element minOccurs="1" maxOccurs="1" name="Supplier" type="Supplier"/>
        <xsd:element minOccurs="0" maxOccurs="1" name="Buyer" type="Buyer"/>
        <xsd:element minOccurs="0" maxOccurs="unbounded" name="Delivery" type="Delivery"/>
        <xsd:element minOccurs="0" maxOccurs="1" name="InvoiceTo" type="InvoiceTo_Order"/>
        <xsd:element minOccurs="1" maxOccurs="unbounded" name="OrderLine" type="OrderLine"/>
        <xsd:element minOccurs="0" maxOccurs="unbounded" name="PercentDiscount" type="PercentDiscount_Order"/>
        <xsd:element minOccurs="0" maxOccurs="unbounded" name="AmountDiscount" type="AmountDiscount_Order"/>
        <xsd:element minOccurs="0" maxOccurs="unbounded" name="SpecialInstructions" type="xsd:string"/>
        <xsd:element minOccurs="0" maxOccurs="unbounded" name="Narrative" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Use for any general narrative comments.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element minOccurs="0" maxOccurs="1" name="Settlement">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element minOccurs="0" maxOccurs="1" name="CardDetails" type="CardDetails"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        <xsd:element minOccurs="0" maxOccurs="1" name="OrderTotal">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element minOccurs="0" maxOccurs="1" name="GoodsValue" type="xsd:decimal"/>
              <xsd:element minOccurs="0" maxOccurs="1" name="FreightCharges" type="xdr:decimal">
                <xsd:annotation>
                  <xsd:documentation>Only for use in jurisdictions where such charges are non-taxable.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="0" maxOccurs="1" name="MiscCharges" type="xdr:decimal">
                <xsd:annotation>
                  <xsd:documentation>Only for use in jurisdictions where such charges are non-taxable.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="0" maxOccurs="1" name="TaxTotal" type="xdr:decimal"/>
              <xsd:element minOccurs="0" maxOccurs="1" name="GrossValue" type="xsd:decimal"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="DeliverFrom">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="DeliverFromReferences">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SuppliersCodeForLocation" type="xsd:string"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="BuyersCodeForLocation" type="xsd:string"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="GLN" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>Number conformant to UCC.EAN specification.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="DUNS" type="DUNSType">
              <xsd:annotation>
                <xsd:documentation>Globally unique identifier issued by Dun &amp; Bradstreet.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="1" maxOccurs="unbounded" name="Party" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Address" type="Address"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Location" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>Location within address.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="Contact" type="Contact"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Schema">
    <xsd:sequence>
      <xsd:element minOccurs="1" maxOccurs="1" name="Version" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Stylesheet">
    <xsd:sequence>
      <xsd:element minOccurs="1" maxOccurs="1" name="StylesheetOwner" type="xsd:string"/>
      <xsd:element minOccurs="1" maxOccurs="1" name="StylesheetName" type="xsd:string"/>
      <xsd:element minOccurs="1" maxOccurs="1" name="Version" type="xsd:string"/>
      <xsd:element minOccurs="1" maxOccurs="1" name="StylesheetType" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Parameters">
    <xsd:sequence>
      <xsd:element minOccurs="1" maxOccurs="1" name="Language">
        <xsd:annotation>
          <xsd:documentation>This is a two character lower case ISO 639 code, optionally followed by a dash and two character upper case ISO 3166 country code. e.g. "en" or "en-US"</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:pattern value="[a-z]{2}([_-][A-Z]{2})?"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element minOccurs="1" maxOccurs="1" name="DecimalSeparator">
        <xsd:annotation>
          <xsd:documentation>The separator between the integer and decimal part of a number. "." or ","</xsd:documentation>
        </xsd:annotation>
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
            <xsd:maxLength value="1"/>
            <xsd:enumeration value=","/>
            <xsd:enumeration value="."/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element minOccurs="1" maxOccurs="1" name="Precision" type="xdr:double">
        <xsd:annotation>
          <xsd:documentation>The precision of decimal values. e.g. 20.3 indicates up to 20 digits before the decimal separator and up to three after.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OriginatingSoftware">
    <xsd:sequence>
      <xsd:element minOccurs="1" maxOccurs="1" name="SoftwareManufacturer" type="xsd:string"/>
      <xsd:element minOccurs="1" maxOccurs="1" name="SoftwareProduct" type="xsd:string"/>
      <xsd:element minOccurs="1" maxOccurs="1" name="SoftwareVersion" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TestFlag" mixed="true">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="Test">
        <xsd:complexType>
          <xsd:attribute use="optional" name="ExpectedReply" type="xsd:string"/>
          <xsd:attribute use="required" name="Mode" type="xsd:string"/>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute use="optional" name="TestReference" type="xsd:string">
      <xsd:annotation>
        <xsd:documentation>This is the developer's reference, which will be returned in the test response.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="Order_Function">
    <xsd:simpleContent>
      <xsd:extension base="xsd:string">
        <xsd:attribute use="optional" name="Code" type="xsd:string"/>
        <xsd:attribute use="optional" name="Codelist" type="xsd:string"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="Currency">
    <xsd:simpleContent>
      <xsd:extension base="xsd:string">
        <xsd:attribute use="optional" name="Codelist" type="xsd:string"/>
        <xsd:attribute use="required" name="Code" type="xsd:string"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="AlternateCurrency">
    <xsd:simpleContent>
      <xsd:extension base="xsd:string">
        <xsd:attribute use="required" name="Code" type="xsd:string"/>
        <xsd:attribute use="optional" name="Codelist" type="xsd:string"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="Rate">
    <xsd:annotation>
      <xsd:documentation>If the CalculationType is "M" then AltInvoiceCurrency = Currency x Rate. If it is "D" then divide instead.</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:decimal">
        <xsd:attribute use="required" name="CalculationType">
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <xsd:enumeration value="D"/>
              <xsd:enumeration value="M"/>
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:attribute>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="OrderReferences">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="ContractOrderReference" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="CostCentre" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="BuyersOrderNumber">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute use="optional" name="Preserve">
                <xsd:simpleType>
                  <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="true"/>
                  </xsd:restriction>
                </xsd:simpleType>
              </xsd:attribute>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="Department" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="GeneralLedgerCode" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="ProjectCode">
        <xsd:annotation>
          <xsd:documentation>This value should be included as a reference in documents relating to this transaction.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute use="optional" name="Preserve">
                <xsd:simpleType>
                  <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="true"/>
                  </xsd:restriction>
                </xsd:simpleType>
              </xsd:attribute>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="ProjectAnalysisCode">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute use="optional" name="Preserve" type="xsd:boolean"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="SuppliersOrderReference">
        <xsd:annotation>
          <xsd:documentation>This value should be included as a reference in documents relating to this transaction.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute use="optional" name="Preserve" type="xsd:boolean"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="CrossReference" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>The order may be cross referenced. Typically a reference to a blanket order would be placed here.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="ResponseTo" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="BatchNumber" type="xsd:integer"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Supplier">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="SupplierReferences">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="BuyersCodeForSupplier" type="xsd:string"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="TaxNumber" type="xsd:string"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="GLN" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>Number conformant to UCC.EAN specification.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="DUNS" type="DUNSType">
              <xsd:annotation>
                <xsd:documentation>Globally unique identifier issued by Dun &amp; Bradstreet.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="1" maxOccurs="unbounded" name="Party" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Address" type="Address"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="Contact" type="Contact"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Address">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="AddressLine" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>Free format address lines may be used instead of (or in addition to) specific Street etc elements.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="Street" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="City" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="State" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>State/County/Province</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="PostCode" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>Post/ZIP code</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="Country">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute use="optional" name="Code" type="xsd:string"/>
              <xsd:attribute use="optional" name="Codelist" type="xsd:string"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Contact">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="Name" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Department" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="InternalAddress" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="DDI" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Switchboard" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Fax" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Telex" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Email">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:pattern value=".*@.*\..*"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="Mobile" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Buyer">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="BuyerReferences">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SuppliersCodeForBuyer" type="xsd:string"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="BuyersCodeForBuyer" type="xsd:string"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="TaxNumber" type="xsd:string"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="GLN" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>Number conformant to UCC.EAN specification.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="DUNS" type="DUNSType">
              <xsd:annotation>
                <xsd:documentation>Globally unique identifier issued by Dun &amp; Bradstreet.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Organisation" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="1" maxOccurs="unbounded" name="Party" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Address" type="Address"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="Contact" type="BuyerContact"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="BuyerContact">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="Name" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Department" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Section" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="UserID" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="InternalAddress" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="DDI" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Switchboard" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Fax" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Telex" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Email">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:pattern value=".*@.*\..*"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="Mobile" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Delivery">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="DeliverTo">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="DeliverToReferences">
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:element minOccurs="0" maxOccurs="1" name="BuyersCodeForDelivery">
                    <xsd:complexType>
                      <xsd:simpleContent>
                        <xsd:extension base="xsd:string">
                          <xsd:attribute use="optional" name="Preserve" type="xsd:boolean"/>
                        </xsd:extension>
                      </xsd:simpleContent>
                    </xsd:complexType>
                  </xsd:element>
                  <xsd:element minOccurs="0" maxOccurs="1" name="BuyersCodeForLocation" type="xsd:string"/>
                  <xsd:element minOccurs="0" maxOccurs="1" name="GLN" type="xsd:string">
                    <xsd:annotation>
                      <xsd:documentation>Number conformant to UCC.EAN specification.</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element minOccurs="0" maxOccurs="1" name="DUNS" type="DUNSType">
                    <xsd:annotation>
                      <xsd:documentation>Globally unique identifier issued by Dun &amp; Bradstreet.</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:sequence>
              </xsd:complexType>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="unbounded" name="Party" type="xsd:string"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="Address" type="Address"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="Location" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>Location within address.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="unbounded" name="Contact" type="Contact"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="DeliverFrom" type="DeliverFrom"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Carrier" type="Carrier"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Quantity" type="Quantity"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="EarliestAcceptableDate" type="xdr:dateTime"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="LatestAcceptableDate" type="xdr:dateTime"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="PreferredDate" type="xdr:dateTime"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="SpecialInstructions" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="DeliveryInformation" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="Narrative" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>Use for any general narrative comments.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Carrier">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="CarrierReferences">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="BuyersCodeForCarrier" type="xsd:string"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="GLN" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>Number conformant to UCC.EAN specification.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="DUNS" type="DUNSType">
              <xsd:annotation>
                <xsd:documentation>Globally unique identifier issued by Dun &amp; Bradstreet.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="1" maxOccurs="unbounded" name="Party" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Address" type="Address"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="Contact" type="Contact"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Quantity">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="Packsize" type="xsd:string"/>
      <xsd:element minOccurs="1" maxOccurs="1" name="Amount" type="xsd:decimal"/>
    </xsd:sequence>
    <xsd:attribute use="optional" name="UOMCode" type="xsd:string"/>
    <xsd:attribute use="optional" name="UOMDescription" type="xsd:string"/>
    <xsd:attribute use="optional" name="UOMCodelist" type="xsd:string"/>
  </xsd:complexType>
  <xsd:simpleType name="UOMnumeric">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:complexType name="InvoiceTo_Order">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="InvoiceToReferences">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="GLN" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>Number conformant to UCC.EAN specification.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="DUNS" type="DUNSType">
              <xsd:annotation>
                <xsd:documentation>Globally unique identifier issued by Dun &amp; Bradstreet.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="1" maxOccurs="unbounded" name="Party" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Address" type="Address"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="Contact" type="BuyerContact"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OrderLine">
    <xsd:sequence>
      <xsd:element minOccurs="1" maxOccurs="1" name="LineNumber">
        <xsd:annotation>
          <xsd:documentation>The line number must be included as a reference in documents relating to this transaction.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:int">
              <xsd:attribute use="optional" name="Preserve">
                <xsd:simpleType>
                  <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="true"/>
                  </xsd:restriction>
                </xsd:simpleType>
              </xsd:attribute>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="OrderLineReferences" type="OrderLineReferences"/>
      <xsd:choice>
        <xsd:element minOccurs="0" maxOccurs="1" name="Extensions">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation>This node allows extension of the eBIS XML spec.  Project specific data from other namespaces may be inserted at this point</xsd:documentation>
                </xsd:annotation>
              </xsd:any>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation>Deprecated. New implementations using eBIS-XML should place extensions within the Extensions element which follows.</xsd:documentation>
          </xsd:annotation>
        </xsd:any>
      </xsd:choice>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="Product" type="Product"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Quantity" type="Quantity"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="Price">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="Units" type="xsd:string"/>
            <xsd:element minOccurs="1" maxOccurs="1" name="UnitPrice" type="xdr:decimal"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="SpecialPriceDescription" type="xsd:string"/>
          </xsd:sequence>
          <xsd:attribute use="optional" name="UOMCode" type="xsd:string"/>
          <xsd:attribute use="optional" name="UOMDescription" type="xsd:string"/>
          <xsd:attribute use="optional" name="UOMCodelist" type="xsd:string"/>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="PercentDiscount" type="PercentDiscount_Order"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="AmountDiscount" type="AmountDiscount_Order"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="LineTax">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="MixedRateIndicator" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>Mixed rate VAT / Tax indicator</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="TaxRate" type="TaxRate_Order"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="TaxValue" type="xdr:decimal"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="TaxRef" type="TaxRef"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="LineTotal" type="xdr:decimal"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="Delivery" type="Delivery"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="OrderLineInformation" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="ExtendedDescription" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="unbounded" name="Narrative" type="xsd:string"/>
    </xsd:sequence>
    <xsd:attribute use="optional" name="Action">
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Add"/>
          <xsd:enumeration value="Change"/>
          <xsd:enumeration value="Delete"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:attribute>
    <xsd:attribute use="optional" name="TypeCode" type="xsd:string"/>
    <xsd:attribute use="optional" name="TypeDescription" type="xsd:string"/>
    <xsd:attribute use="optional" name="TypeCodelist" type="xsd:string"/>
  </xsd:complexType>
  <xsd:complexType name="OrderLineReferences">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="ContractOrderReference" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="CostCentre" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="GeneralLedgerCode" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="BuyersOrderLineReference" type="BuyersOrderLineReference"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="ProjectCode">
        <xsd:annotation>
          <xsd:documentation>This value should be included as a reference in documents relating to this transaction.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute use="optional" name="Preserve">
                <xsd:simpleType>
                  <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="true"/>
                  </xsd:restriction>
                </xsd:simpleType>
              </xsd:attribute>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="ProjectAnalysisCode">
        <xsd:annotation>
          <xsd:documentation>This value should be included as a reference in documents relating to this transaction.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute use="optional" name="Preserve">
                <xsd:simpleType>
                  <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="true"/>
                  </xsd:restriction>
                </xsd:simpleType>
              </xsd:attribute>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="BuyersOrderLineReference">
    <xsd:simpleContent>
      <xsd:extension base="xsd:string">
        <xsd:attribute use="optional" name="Preserve">
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <xsd:enumeration value="true"/>
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:attribute>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="Product">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="SuppliersProductCode" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="BuyersProductCode" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="TradedUnitCode" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>Number conformant to UCC.EAN specification.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="ConsumerUnitCode" type="xsd:string">
        <xsd:annotation>
          <xsd:documentation>EAN-13 barcode number.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" maxOccurs="1" name="Description" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Properties">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="Quantity" type="Quantity"/>
            <xsd:element minOccurs="0" maxOccurs="1" name="Length">
              <xsd:complexType>
                <xsd:simpleContent>
                  <xsd:extension base="xsd:decimal">
                    <xsd:attribute use="optional" name="UOMDescription" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCode" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCodelist" type="xsd:string"/>
                  </xsd:extension>
                </xsd:simpleContent>
              </xsd:complexType>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Width">
              <xsd:complexType>
                <xsd:simpleContent>
                  <xsd:extension base="xdr:double">
                    <xsd:attribute use="optional" name="UOMDescription" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCode" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCodelist" type="xsd:string"/>
                  </xsd:extension>
                </xsd:simpleContent>
              </xsd:complexType>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Depth">
              <xsd:complexType>
                <xsd:simpleContent>
                  <xsd:extension base="xdr:double">
                    <xsd:attribute use="optional" name="UOMDescription" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCode" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCodelist" type="xsd:string"/>
                  </xsd:extension>
                </xsd:simpleContent>
              </xsd:complexType>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Weight">
              <xsd:complexType>
                <xsd:simpleContent>
                  <xsd:extension base="xdr:double">
                    <xsd:attribute use="optional" name="UOMDescription" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCode" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCodelist" type="xsd:string"/>
                  </xsd:extension>
                </xsd:simpleContent>
              </xsd:complexType>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Volume">
              <xsd:complexType>
                <xsd:simpleContent>
                  <xsd:extension base="xdr:double">
                    <xsd:attribute use="optional" name="UOMDescription" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCode" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCodelist" type="xsd:string"/>
                  </xsd:extension>
                </xsd:simpleContent>
              </xsd:complexType>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Height">
              <xsd:complexType>
                <xsd:simpleContent>
                  <xsd:extension base="xdr:double">
                    <xsd:attribute use="optional" name="UOMDescription" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCode" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCodelist" type="xsd:string"/>
                  </xsd:extension>
                </xsd:simpleContent>
              </xsd:complexType>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Size">
              <xsd:complexType>
                <xsd:simpleContent>
                  <xsd:extension base="xdr:double">
                    <xsd:attribute use="optional" name="UOMDescription" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCode" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCodelist" type="xsd:string"/>
                  </xsd:extension>
                </xsd:simpleContent>
              </xsd:complexType>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Color">
              <xsd:complexType>
                <xsd:simpleContent>
                  <xsd:extension base="xsd:string">
                    <xsd:attribute use="optional" name="UOMDescription" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCode" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCodelist" type="xsd:string"/>
                  </xsd:extension>
                </xsd:simpleContent>
              </xsd:complexType>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="unbounded" name="Other">
              <xsd:annotation>
                <xsd:documentation>Other properties (such as "Fitting") added by the user.</xsd:documentation>
              </xsd:annotation>
              <xsd:complexType>
                <xsd:simpleContent>
                  <xsd:extension base="xsd:string">
                    <xsd:attribute use="required" name="Description" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMDescription" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCode" type="xsd:string"/>
                    <xsd:attribute use="optional" name="UOMCodelist" type="xsd:string"/>
                  </xsd:extension>
                </xsd:simpleContent>
              </xsd:complexType>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:simpleType name="UOMlength">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="UOMweight">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:simpleType name="UOMvolume">
    <xsd:restriction base="xsd:string"/>
  </xsd:simpleType>
  <xsd:complexType name="PercentDiscount_Order">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="Type">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute use="optional" name="Code" type="xsd:string"/>
              <xsd:attribute use="optional" name="Codelist" type="xsd:string"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="1" maxOccurs="1" name="Percentage" type="xdr:decimal"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="AmountDiscount_Order">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="Type">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute use="optional" name="Code" type="xsd:string"/>
              <xsd:attribute use="optional" name="Codelist" type="xsd:string"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element minOccurs="1" maxOccurs="1" name="Amount" type="xdr:double"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TaxRate_Order">
    <xsd:annotation>
      <xsd:documentation>Code meanings: Standard(S), Zero(Z), Exempt(E), Lower Rate(L), Higher Rate(H), Other(N), Outside Scope(X).</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xdr:double">
        <xsd:attribute use="required" name="Code">
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <xsd:enumeration value="E"/>
              <xsd:enumeration value="H"/>
              <xsd:enumeration value="L"/>
              <xsd:enumeration value="N"/>
              <xsd:enumeration value="S"/>
              <xsd:enumeration value="Z"/>
              <xsd:enumeration value="X"/>
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute use="optional" name="Codelist" type="xsd:string"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="TaxRef">
    <xsd:simpleContent>
      <xsd:extension base="xsd:string">
        <xsd:attribute use="optional" name="Code" type="xsd:string"/>
        <xsd:attribute use="optional" name="Codelist" type="xsd:string"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:simpleType name="DUNSType">
    <xsd:annotation>
      <xsd:documentation>Identification number assigned by D&amp;B. Dun and BradStreet D-U-N-S NUMBER should contain only 9 numeric characters (no spaces, dashes, etc.)</xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:integer">
      <xsd:pattern value="\d{9}"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="CardDetails">
    <xsd:sequence>
      <xsd:element minOccurs="1" maxOccurs="1" name="Issuer" type="xsd:string"/>
      <xsd:element minOccurs="1" maxOccurs="1" name="Party" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="Address" type="Address"/>
      <xsd:choice>
        <xsd:element minOccurs="0" maxOccurs="1" name="IssueDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation>Deprecated in favour of the ValidFrom element as issue dates are not in xsd:date format.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element minOccurs="0" maxOccurs="1" name="ValidFrom" type="IssueDateType"/>
      </xsd:choice>
      <xsd:choice>
        <xsd:element minOccurs="1" maxOccurs="1" name="ExpiryDate" type="xsd:date">
          <xsd:annotation>
            <xsd:documentation>Deprecated in favour of the ExpiresEnd element as issue dates are not in xsd:date format.</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element minOccurs="1" maxOccurs="1" name="ExpiresEnd" type="IssueDateType"/>
      </xsd:choice>
      <xsd:element minOccurs="0" maxOccurs="1" name="IssueNumber" type="xsd:int"/>
      <xsd:element minOccurs="1" maxOccurs="1" name="CardNumber" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="AuthorisationCode" type="xsd:string"/>
      <xsd:element minOccurs="0" maxOccurs="1" name="SecurityCode" type="xsd:int"/>
    </xsd:sequence>
    <xsd:attribute use="required" name="CardType">
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Charge"/>
          <xsd:enumeration value="Credit"/>
          <xsd:enumeration value="Debit"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:simpleType name="dateTime">
    <xsd:annotation>
      <xsd:documentation>Similar to the xdr dateTime, but does not allow the field to be left blank.</xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xdr:dateTime">
      <xsd:pattern value=".+"/>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:simpleType name="IssueDateType">
    <xsd:annotation>
      <xsd:documentation>Month represented as a month number and a 2-4 digit year separated by a /, such as is used on credit cards.</xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="\d{2}[-/. ]\d{2,4}"/>
    </xsd:restriction>
  </xsd:simpleType>
</xsd:schema>
