<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:epagestypes="urn://epages.de/WebService/EpagesTypes/2005/01"
           xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
           xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
           xmlns:tns="urn://epages.de/WebService/ShopTypes/2011/01"
           targetNamespace="urn://epages.de/WebService/ShopTypes/2011/01">
  <xs:import namespace="urn://epages.de/WebService/EpagesTypes/2005/01"
             schemaLocation="EpagesTypes.xsd" />
  <!-- Address -->
  <xs:complexType name="TAddress">
    <xs:annotation>
      <xs:documentation>
        an address object describing different addresses (customer, user, order, etc.)
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="DisplayName"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            name of the address to display (e.g 'Shipping Address', 'Home Address')
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AddressExtension"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            address extension (e.g PostBox etc.)
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Street"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            street with number
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Street2"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            2nd street line for UK addresses
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CodePorte"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            door code to get access to postboxes or doorbells
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Zipcode"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            zip code of the city
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="City"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            city name of the address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="State"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            state, county, region
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CountryID"
                  type="xs:integer"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            country identifier as ISO numberic code (see http://en.wikipedia.org/wiki/ISO_3166-1_numeric)
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EMail"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            E-mail address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Phone"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            primary phone number
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Fax"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            primary fax number
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="VerifiedOn"
                  type="xs:dateTime"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            last verification of this content by merchant
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Salutation"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            salutation (e.g 'Herr', 'Mrs.')
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Title"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            title (e.g 'D.Prof', 'NPLQ', 'CEO')
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FirstName"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            first name
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MiddleName"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            middle name
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LastName"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            last name
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EMailPrivate"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            private E-mail address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EMailBusiness"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            business E-mail address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhonePrivate"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            home phone
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneBusiness"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            business phone number
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneCell"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            mobile phone
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Gender"
                  type="xs:integer"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>1 = male;2 = female</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Company"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            name of the company
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Department"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            name of the company department
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="JobTitle"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            job titel in the company
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Birthday"
                  type="xs:dateTime"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            date of birth in dateTime format e.g. 2001-10-26T12:00:00 (time needs to specify)
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="VATID"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            tax identification
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BankCode"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            bank code of the bank account
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BankName"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            bank name of the account
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BankAccountNo"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            bank account number
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BankAccountHolder"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            full name of the bank account owner
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="URL"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            URL of related Website e.g. http://www.epages.com
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Attributes"
                  type="epagestypes:ListOfAttributes"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>list of requested attributes (see epagestypes:ListOfAttributes)</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>



  <!-- named Address -->
  <xs:complexType name="TAddressNamed">
    <xs:annotation>
      <xs:documentation>
        an address object describing different addresses (customer, user, order, etc.)
        inclusive an optional Alias of the address
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Alias"
                  type="xs:string"
                  minOccurs="0" />
      <xs:element name="DisplayName"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            name of the address to display (e.g 'Shipping Address', 'Home Address')
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AddressExtension"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            address extension (e.g PostBox etc.)
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Street"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            street with number
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Street2"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            2nd street line for UK addresses
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CodePorte"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            door code to get access to postboxes or doorbells
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Zipcode"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            zip code of the city
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="City"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            city name of the address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="State"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            state, county, region
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CountryID"
                  type="xs:integer"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            country identifier as ISO numberic code (see http://en.wikipedia.org/wiki/ISO_3166-1_numeric)
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EMail"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            E-mail address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Phone"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            primary phone number
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Fax"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            primary fax number
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="VerifiedOn"
                  type="xs:dateTime"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            last verification of this contant by merchant
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Salutation"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            salutation (e.g 'Herr', 'Mrs.')
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Title"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            title (e.g 'D.Prof', 'NPLQ', 'CEO')
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FirstName"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            first name
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MiddleName"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            middle name
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LastName"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            last name
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EMailPrivate"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            private E-mail address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EMailBusiness"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            business E-mail address
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhonePrivate"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            home phone
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneBusiness"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            business phone number
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneCell"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            mobile phone
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Gender"
                  type="xs:integer"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>1 = male;2 = female</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Company"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            name of the company
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Department"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            name of the company department
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="JobTitle"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            job titel in the company
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Birthday"
                  type="xs:dateTime"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            date of birth in dateTime format e.g. 2001-10-26T12:00:00 (time needs to specify)
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="VATID"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            tax identification
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BankCode"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            bank code of the bank account
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BankName"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            bank name of the account
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BankAccountNo"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            bank account number
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BankAccountHolder"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            full name of the bank account owner
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="URL"
                  type="xs:string"
                  minOccurs="0" >
        <xs:annotation>
          <xs:documentation>
            URL of related Website e.g. http://www.epages.com
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Attributes"
                  type="epagestypes:ListOfAttributes"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>list of requested attributes (see epagestypes:ListOfAttributes)</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
</xs:schema>
