Wiki
Appendix 7

<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:oasis:names:tc:wstrans:v1:types" 
        xmlns="http://www.w3.org/2001/XMLSchema" 
        xmlns:WSTransDomainTypes="urn:oasis:names:tc:wstrans:v1:WSTransDomainTypes" 
        xmlns:WSTransMimeTypes="urn:oasis:names:tc:wstrans:v1:WSTransMimeTypes" 
        xmlns:WSTransScope="urn:oasis:names:tc:wstrans:v1:WSTransScope" 
        xmlns:WSTransServiceTypes="urn:oasis:names:tc:wstrans:v1:WSTransServiceTypes" 
        xmlns:WSTransStatus="urn:oasis:names:tc:wstrans:v1:WSTransStatus" 
        xmlns:iso3166="urn:oasis:names:tc:wstrans:v1:WSTransCountryCodesISO3166" 
        xmlns:iso639="urn:oasis:names:tc:wstrans:v1:WSTransLanguageCodesISO639" 
        xmlns:types="urn:oasis:names:tc:wstrans:v1:types" 
        xmlns:un.ece.unedocs.cl.iso4217="http://www.unece.org/etrades/unedocs/repository/codelists/xml/CurrencyCode.xsd" 
        xmlns:xlf="urn:oasis:names:tc:xliff:document:1.1" elementFormDefault="qualified"        
        xmlnsxsd="http://www.w3.org/2001/XMLSchema">

  <xsd:import namespace="urn:oasis:names:tc:wstrans:v1:WSTransCountryCodesISO3166" 
              schemaLocation="WSTransCountryCodesISO3166.xsd" />
  <xsd:import namespace="urn:oasis:names:tc:wstrans:v1:WSTransDomainTypes" 
              schemaLocation="WSTransDomainTypes.xsd" />
  <xsd:import namespace="urn:oasis:names:tc:wstrans:v1:WSTransLanguageCodesISO639" 
              schemaLocation="WSTransLanguageCodesISO639.xsd" />
  <xsd:import namespace="urn:oasis:names:tc:wstrans:v1:WSTransMimeTypes" 
              schemaLocation="WSTransMimeTypes.xsd" />
  <xsd:import namespace="urn:oasis:names:tc:wstrans:v1:WSTransScope" 
              schemaLocation="WSTransScope.xsd" />
  <xsd:import namespace="urn:oasis:names:tc:wstrans:v1:WSTransServiceTypes" 
              schemaLocation="WSTransServiceTypes.xsd" />
  <xsd:import namespace="urn:oasis:names:tc:wstrans:v1:WSTransStatus" 
              schemaLocation="WSTransStatus.xsd" />
  <xsd:import namespace="http://www.unece.org/etrades/unedocs/repository/codelists/xml/CurrencyCode.xsd" 
              schemaLocation="http://www.unece.org/etrades/unedocs/repository/codelists/xml/CurrencyCode.xsd" />
  <xsd:import namespace="urn:oasis:names:tc:xliff:document:1.1" 
              schemaLocation="xliff-1.1.xsd" />

  <!--
    - - retrieveServiceList
  -->
  <xsd:element name="retrieveServiceListRequest">
    <xsd:complexType>
      <xsd:sequence />
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="retrieveServiceListResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:languagePairs" />
        <xsd:element ref="types:services" />
        <xsd:element ref="types:mimeTypes" />
        <xsd:element ref="types:domains" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="locale">
    <xsd:complexType>
      <xsd:attribute name="country" type="iso3166:CodeContentType" use="required" />
      <xsd:attribute name="language" type="iso639:CodeContentType" use="required" />
      <xsd:attribute name="variant" type="xsd:string" use="optional" />
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="source">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:locale" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="target">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:locale" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="languagePair">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:source" />
        <xsd:element ref="types:target" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="languagePairs">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" minOccurs="1" ref="types:languagePair" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="service" type="WSTransServiceTypes:CodeContentType" />
  <xsd:element name="services">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" minOccurs="1" ref="types:service" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="mimeType" type="WSTransMimeTypes:CodeContentType" />
  <xsd:element name="mimeTypes">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" minOccurs="1" ref="types:mimeType" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="domain" type="WSTransDomainTypes:CodeContentType" />
  <xsd:element name="domains">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" minOccurs="1" ref="types:domain" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <!--
    - - requestQuote
  -->
  <xsd:element name="requestQuoteRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:count-group" />
        <xsd:element ref="types:service" />
        <xsd:element ref="types:domain" />
        <xsd:element ref="types:languagePair" />
        <xsd:element ref="types:requiredBy" />
        <xsd:element ref="types:info" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="requestQuoteResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:available" />
        <!--
          <xsd:element ref="types:quotation"/>
          <xsd:element ref="types:expires"/>
          <xsd:element ref="types:info"/>
        -->
      </xsd:sequence>
      <!--
        <xsd:attribute name="null" type="xsd:string" use="optional"/>
      -->
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="available">
    <xsd:complexType>
      <xsd:attribute name="date" type="dateTime" use="required" />
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="info" type="string" />
  <xsd:element name="requiredBy">
    <xsd:complexType>
      <xsd:attribute name="date" type="dateTime" use="optional" />
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="ticket">
    <xsd:complexType>
      <xsd:attribute name="jobId" type="string" use="required" />
      <xsd:attribute name="projectId" type="string" use="required" />
      <xsd:attribute name="userId" type="string" use="required" />
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="count-group">
  <xsd:complexType>
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
   <xsd:element name="count" type="xlf:ElemType_count"/>
  </xsd:sequence>
  <xsd:attribute name="name" type="xsd:string" use="required"/>
 </xsd:complexType>
  <xsd:element name="quotation">
    <xsd:complexType>
      <xsd:attribute name="amount" type="decimal" use="required" />
      <xsd:attribute name="binding" type="boolean" use="required" />
      <xsd:attribute name="currency" type="un.ece.unedocs.cl.iso4217:CurrencyCoded" use="required" />
    </xsd:complexType>
  </xsd:element>

  <!--
    - - retrieveQuote
  -->
  <xsd:element name="retrieveQuoteRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="retrieveQuoteResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <!--
    - - acceptQuote
  -->
  <xsd:element name="acknowledgement" type="string" />
  <xsd:element name="acceptQuoteRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:purchaseOrder" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="acceptQuoteResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:acknowledgement" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="purchaseOrder">
    <xsd:complexType>
      <xsd:attribute name="id" type="string" use="required" />
    </xsd:complexType>
  </xsd:element>

  <!--
    - - submitJob
  -->
  <xsd:element name="submitJobRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:count-group" />
        <xsd:element ref="types:service" />
        <xsd:element ref="types:domain" />
        <xsd:element ref="types:languagePair" />
        <xsd:element ref="types:requiredBy" />
        <xsd:element ref="types:info" />
        <xsd:element ref="types:purchaseOrder" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="submitJobResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:acknowledgement" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <!--
    - - retrieveJobInformation
  -->
  <xsd:element name="retrieveJobInformationRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="retrieveJobInformationResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:count-group" />
        <xsd:element ref="types:service" />
        <xsd:element ref="types:domain" />
        <xsd:element ref="types:languagePair" />
        <xsd:element ref="types:requiredBy" />
        <xsd:element ref="types:info" />
        <xsd:element ref="types:purchaseOrder" />
        <xsd:element ref="types:associations" />
        <xsd:element ref="types:history" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="associations">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="types:resource" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="resource">
    <xsd:complexType>
      <xsd:attribute name="uri" type="anyURI" use="required" />
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="history">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="types:event" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="event">
    <xsd:complexType>
      <xsd:attribute name="timestamp" type="xsd:dateTime" use="required" />
      <xsd:attribute name="stage" type="xsd:string" use="required" />
      <xsd:attribute name="status" type="WSTransStatus:CodeContentType" use="required" />
      <xsd:attribute name="date" type="xsd:date" use="optional" />
    </xsd:complexType>
  </xsd:element>

  <!--
    - - retrieveJob
  -->
  <xsd:element name="retrieveJobRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="retrieveJobResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:resource" />
        <xsd:element ref="types:rejectionDeadline" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="rejectionDeadline">
    <xsd:complexType>
      <xsd:attribute name="date" type="dateTime" use="optional" />
    </xsd:complexType>
  </xsd:element>

  <!--
    - - rejectJob
  -->
  <xsd:element name="rejectJobRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:reason" />
        <xsd:element ref="types:info" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="rejectJobResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:acknowledgement" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="reason" type="xsd:string" />

  <!--
    - - retrieveActiveJobsList
  -->
  <xsd:element name="retrieveActiveJobsListRequest">
    <xsd:complexType>
      <xsd:sequence />
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="retrieveActiveJobsListResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="types:ticket" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <!--
    - - retrieveFullJobsList
  -->
  <xsd:element name="retrieveFullJobsListRequest">
    <xsd:complexType>
      <xsd:sequence />
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="retrieveFullJobsListResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="types:ticket" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <!--
    - - cancelJob
  -->
  <xsd:element name="cancelJobRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="cancelJobResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:succeeded" />
        <xsd:element ref="types:info" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="succeeded" type="xsd:boolean" />

  <!--
    - - suspendJob
  -->
  <xsd:element name="suspendJobRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="suspendJobResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:succeeded" />
        <xsd:element ref="types:info" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <!--
    - - resumeJob
  -->
  <xsd:element name="resumeJobRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="resumeJobResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:succeeded" />
        <xsd:element ref="types:info" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <!--
    - - associateResource
  -->
  <xsd:element name="associateResourceRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:resource" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="associateResourceResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:succeeded" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <!--
    - - disassociateResource
  -->
  <xsd:element name="disassociateResourceRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:resource" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="disassociateResourceResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:ticket" />
        <xsd:element ref="types:succeeded" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <!--
    - - retrieveJobListForResource
  -->
  <xsd:element name="retrieveJobListForResourceRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="types:resource" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="retrieveJobListForResourceResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="types:ticket" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</schema>