TADC XML Schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- Date FORMAT YYYYMMDD -->
<xs:simpleType name="dateType">
<xs:restriction base="xs:string">
<xs:length value="8" />
<!-- This allows year between 2000 - 9999 , month 01 to 09, days 01 - 09 -->
<xs:pattern value="([2-9][0-9][0-9][0-9]0[1-9]0[1-9])" />
<!-- This allows year between 2000 - 9999 , month 01 to 09, days 10 - 19 -->
<xs:pattern value="([2-9][0-9][0-9][0-9]0[1-9]1[0-9])" />
<!-- This allows year between 2000 - 9999 , month 01 , days 20 - 29 -->
<xs:pattern value="([2-9][0-9][0-9][0-9]012[0-9])" />
<!-- This allows year between 2000 - 9999 , month 02 , days 20 - 28 -->
<xs:pattern value="([2-9][0-9][0-9][0-9]022[0-8])" />
<!-- This allows year between 2000 - 9999 , month 03 to 09 , days 20 - 29 -->
<xs:pattern value="([2-9][0-9][0-9][0-9]0[3-9]2[0-9])" />
<!-- This allows year between 2000 - 9999 , month 10-12 , days 01 - 09 -->
<xs:pattern value="([2-9][0-9][0-9][0-9]1[0-2]0[1-9])" />
<!-- This allows year between 2000 - 9999 , month 10-12 , days 10 - 19 -->
<xs:pattern value="([2-9][0-9][0-9][0-9]1[0-2]1[0-9])" />
<!-- This allows year between 2000 - 9999 , month 10-12 , days 20 - 29 -->
<xs:pattern value="([2-9][0-9][0-9][0-9]1[0-2]2[0-9])" />
<!-- This allows year between 2000 - 9999 , day 31 for the corresponding months -->
<xs:pattern value="([2-9][0-9][0-9][0-9](01|03|05|07|08|10|12)3[0-1])" />
<!-- This allows year between 2000 - 9999 , day 30 for the corresponding months -->
<xs:pattern value="([2-9][0-9][0-9][0-9](04|06|09|11)30)" />
<!-- This allows day 29 for feb for the corresponding years -->
<xs:pattern value="([2-9][0-9](00|04|08|12|16|20|24|28|32|36|40)0229)" />
<xs:pattern value="([2-9][0-9](44|48|52|56|60|64|68|72|76|80)0229)" />
<xs:pattern value="([2-9][0-9](84|88|92|96)0229)" />
</xs:restriction>
</xs:simpleType>
<!-- Time FORMAT HHMMSS -->
<xs:simpleType name="timeType">
<xs:restriction base="xs:string">
<xs:length value="6" />
<xs:pattern value="([0-1][0-9][0-5][0-9][0-5][0-9])" />
<xs:pattern value="(2[0-3][0-5][0-9][0-5][0-9])" />
</xs:restriction>
</xs:simpleType>
<!-- Y/N indicator -->
<xs:simpleType name="strYNindType">
<xs:restriction base="xs:string">
<xs:enumeration value="Y"/>
<xs:enumeration value="N"/>
<xs:enumeration value="y"/>
<xs:enumeration value="n"/>
</xs:restriction>
</xs:simpleType>
<!-- String FORMAT, up to 255 bytes -->
<xs:simpleType name="strMax255Type">
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
<!-- String FORMAT, up to 50 bytes -->
<xs:simpleType name="strMax50Type">
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
<!-- String FORMAT, up to 30 bytes -->
<xs:simpleType name="strMax30Type">
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
<!-- String FORMAT, up to 20 bytes -->
<xs:simpleType name="strMax20Type">
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
<!-- String FORMAT, 3 bytes -->
<xs:simpleType name="strFull3Type">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Za-z0-9]{0}|[A-Za-z0-9]{3}"/>
</xs:restriction>
</xs:simpleType>
<!-- String FORMAT, 5 bytes -->
<xs:simpleType name="strFull5Type">
<xs:restriction base="xs:string">
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
<!-- String FORMAT, max 3 bytes -->
<xs:simpleType name="strMax3Type">
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, 2 bytes -->
<xs:simpleType name="numFull2Type">
<xs:restriction base="xs:string">
<xs:length value="2" />
<xs:pattern value="([0-9]{2})" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, max 2 bytes -->
<xs:simpleType name="numMax2Type">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="2" />
<xs:pattern value="([0-9]*)" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, max 2 bytes, values 1 to 50 -->
<xs:simpleType name="numMax2Type2">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="2" />
<xs:pattern value="([0-9])" />
<xs:pattern value="([0-4][0-9])" />
<xs:pattern value="(50)" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, max 3 bytes -->
<xs:simpleType name="numMax3Type">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="3" />
<xs:pattern value="([0-9]*)" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, 4 bytes -->
<xs:simpleType name="numFull4Type">
<xs:restriction base="xs:string">
<xs:length value="4" />
<xs:pattern value="([0-9]{4})" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, max 5 bytes -->
<xs:simpleType name="numMax5Type">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="5" />
<xs:pattern value="([0-9]*)" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, max 8 bytes -->
<xs:simpleType name="numMax8Type">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="8" />
<xs:pattern value="([0-9]*)" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, 9 bytes -->
<xs:simpleType name="numFull9Type">
<xs:restriction base="xs:string">
<xs:length value="9" />
<xs:pattern value="([0-9]{9})" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, 9 bytes, non-zero -->
<xs:simpleType name="numFull9NonZeroType">
<xs:restriction base="xs:string">
<xs:length value="9" />
<xs:pattern value="(([0]{8}[1-9]))" />
<xs:pattern value="([1-9][0-9]{8})" />
<xs:pattern value="([0-9][1-9][0-9]{7})" />
<xs:pattern value="([0-9]{2}[1-9][0-9]{6})" />
<xs:pattern value="([0-9]{3}[1-9][0-9]{5})" />
<xs:pattern value="([0-9]{4}[1-9][0-9]{4})" />
<xs:pattern value="([0-9]{5}[1-9][0-9]{3})" />
<xs:pattern value="([0-9]{6}[1-9][0-9]{2})" />
<xs:pattern value="([0-9]{7}[1-9][0-9]{1})" />
<xs:pattern value="([1-9]{8}[0-9])" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, 8 bytes, non-zero -->
<xs:simpleType name="numFull8NonZeroType">
<xs:restriction base="xs:string">
<xs:length value="8" />
<xs:pattern value="(([0]{7}[1-9]))" />
<xs:pattern value="([1-9][0-9]{7})" />
<xs:pattern value="([0-9][1-9][0-9]{6})" />
<xs:pattern value="([0-9]{2}[1-9][0-9]{5})" />
<xs:pattern value="([0-9]{3}[1-9][0-9]{4})" />
<xs:pattern value="([0-9]{4}[1-9][0-9]{3})" />
<xs:pattern value="([0-9]{5}[1-9][0-9]{2})" />
<xs:pattern value="([0-9]{6}[1-9][0-9]{1})" />
<xs:pattern value="([1-9]{7}[0-9])" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, max 12 bytes -->
<xs:simpleType name="numMax12Type">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="12" />
<xs:pattern value="([0-9]*)" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, 13 bytes -->
<xs:simpleType name="numFull13Type">
<xs:restriction base="xs:string">
<xs:length value="13" />
<xs:pattern value="([0-9]{13})" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, max 15 bytes -->
<xs:simpleType name="numMax15Type">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="15" />
<xs:pattern value="([0-9]*)" />
</xs:restriction>
</xs:simpleType>
<!-- Number FORMAT, 15 bytes -->
<xs:simpleType name="numFull15Type">
<xs:restriction base="xs:string">
<xs:length value="15" />
<xs:pattern value="([0-9]{15})" />
</xs:restriction>
</xs:simpleType>
<!-- Debit/Credit FORMAT -->
<xs:simpleType name="dbCrType">
<xs:restriction base="xs:string">
<xs:enumeration value="C" />
<xs:enumeration value="D" />
</xs:restriction>
</xs:simpleType>
<!-- Message -->
<xs:element name="Message">
<xs:complexType>
<xs:sequence>
<xs:element ref="VersNbr" />
<xs:element ref="SubmrId" />
<xs:element ref="MsgSeqNbr" />
<xs:element ref="CreateDt" minOccurs="0" maxOccurs="1" />
<xs:element ref="CreateTm" minOccurs="0" maxOccurs="1" />
<xs:element ref="ExprDt" minOccurs="0" maxOccurs="1" />
<xs:element ref="TravelBatch" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="SettleBatch" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="MessageTrailer" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Version No -->
<xs:element name="VersNbr">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:enumeration value="201000001"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- submitter ID -->
<xs:element name="SubmrId">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="11" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Message Seq No -->
<xs:element name="MsgSeqNbr" type="numFull9NonZeroType" />
<!-- Create date -->
<xs:element name="CreateDt" type="dateType" />
<!-- Create Time -->
<xs:element name="CreateTm" type="timeType" />
<!-- Expiry date -->
<xs:element name="ExprDt" type="dateType" />
<!-- Travel Batch -->
<xs:element name="TravelBatch">
<xs:complexType>
<xs:sequence>
<xs:element ref="BtchSeqNbr" />
<xs:element ref="ProviderNm" />
<xs:element ref="TrvlBtchCurrCd"/>
<xs:element ref="TravelTran" minOccurs="1" maxOccurs="unbounded"/>
<xs:element ref="BatchTrailer" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Batch seq number -->
<xs:element name="BtchSeqNbr" type="numFull8NonZeroType" />
<!-- Provider name -->
<xs:element name="ProviderNm" type="xs:string" />
<!-- Currency code -->
<xs:element name="TrvlBtchCurrCd" type="strFull3Type" />
<!-- Travel Transaction -->
<xs:element name="TravelTran">
<xs:complexType>
<xs:sequence>
<xs:element ref="TransSeqNbr"/>
<xs:element ref="TransDt" />
<xs:element ref="TransTm" minOccurs="0" maxOccurs="1" />
<xs:element ref="CancRsnTx" minOccurs="0" maxOccurs="1" />
<xs:element ref="BkgSrceCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="MediaCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="TMCDossierNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="ProdDesc" minOccurs="0" maxOccurs="1" />
<xs:element ref="OrderNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="GDSCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="CommodityCd" />
<xs:element ref="Account" />
<xs:element ref="Amount"/>
<xs:element ref="Trip"/>
<!-- Supplier - This supplier is declared locally as the two tags SplrMtchCd and SplrMtchDa can present only for travel transactions -->
<xs:element name="Supplier">
<xs:complexType>
<xs:sequence>
<xs:element ref="SuplrNm"/>
<xs:element ref="VATNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="SplrMtchCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="SplrMtchDa" minOccurs="0" maxOccurs="1" />
<xs:element ref ="SuplrLegalNm" minOccurs="0" maxOccurs="1" />
<xs:element ref ="SuplrAddress" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="Provider" />
<xs:element ref="BookingSystem" minOccurs="0" maxOccurs="1" />
<xs:element ref="CustRefGrp" minOccurs="0" maxOccurs="1"/>
<xs:element ref="AddAmountGrp" minOccurs="0" maxOccurs="1"/>
<xs:element ref="ElementGrp" minOccurs="0" maxOccurs="1"/>
<xs:element ref="Commodity" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Transaction Seq No -->
<xs:element name="TransSeqNbr" type="numFull9NonZeroType" />
<!-- Transaction date -->
<xs:element name="TransDt" type="dateType" />
<!-- Transacton Time -->
<xs:element name="TransTm" type="timeType" />
<!-- Cancellation reason -->
<xs:element name="CancRsnTx" type="strMax255Type" />
<!-- Background Source Code -->
<xs:element name="BkgSrceCd" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="01"/>
<xs:enumeration value="02"/>
<xs:enumeration value="03"/>
<xs:enumeration value="04"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Media Code -->
<xs:element name="MediaCd" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="01"/>
<xs:enumeration value="02"/>
<xs:enumeration value="03"/>
<xs:enumeration value="04"/>
<xs:enumeration value="05"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Travel company dossier or folio number -->
<xs:element name="TMCDossierNbr" type="strMax30Type" />
<!-- Product Description -->
<xs:element name="ProdDesc" type="strMax255Type" />
<!-- Order Number -->
<xs:element name="OrderNbr" type="strMax30Type" />
<!-- GDSCd Number -->
<xs:element name="GDSCd" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Za-z0-9]{0}|[A-Za-z0-9]{4}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Commodity code -->
<xs:element name="CommodityCd" type="strFull3Type" />
<!-- Account -->
<xs:element name="Account">
<xs:complexType>
<xs:sequence>
<xs:element ref="AcctNbr"/>
<xs:element ref="CrdExpDt" minOccurs="0" maxOccurs="1" />
<xs:element ref="ClientLegalNm" minOccurs="0" maxOccurs="1" />
<xs:element ref="ClientTaxNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="ClientAddress" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Account Number -->
<xs:element name="AcctNbr" type="numFull15Type" />
<!-- Card Expiry Date -->
<xs:element name="CrdExpDt" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="(0[1-9][0-9][0-9])" />
<xs:pattern value="(1[0-2][0-9][0-9])" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Client Legal Name -->
<xs:element name="ClientLegalNm" type="strMax255Type" />
<!-- Client Legal Name -->
<xs:element name="ClientTaxNbr" type="strMax255Type" />
<!-- Client Legal Name -->
<xs:element name="ClientAddress" type="strMax255Type" />
<!-- Amount -->
<xs:element name="Amount">
<xs:complexType>
<xs:sequence>
<xs:element ref="TransAmt" />
<xs:element ref="DbCrInd" />
<xs:element ref="OrigAmt" minOccurs="0" maxOccurs="1" />
<xs:element ref="OrigCurrCd" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Transaction Amount -->
<xs:element name="TransAmt" type="numMax12Type" />
<!-- Debit Credit Indicator -->
<xs:element name="DbCrInd" type="dbCrType" />
<!-- Original Amount -->
<xs:element name="OrigAmt" type="numMax12Type" />
<!-- Original Currency code -->
<xs:element name="OrigCurrCd" type="strFull3Type" />
<!-- Trip -->
<xs:element name="Trip">
<xs:complexType>
<xs:sequence>
<xs:element ref="ConsultantNm" minOccurs="0" maxOccurs="1"/>
<xs:element ref="DestNm"/>
<xs:element ref="DprtDt"/>
<xs:element ref="TvlrFirstNm"/>
<xs:element ref="TvlrLastNm"/>
<xs:element ref="TvlrPartyCnt" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Consultant name -->
<xs:element name="ConsultantNm" type="strMax255Type" />
<!-- Destination name -->
<xs:element name="DestNm" type="strMax255Type" />
<!-- Destination date -->
<xs:element name="DprtDt" type="dateType" />
<!-- Traveller First name -->
<xs:element name="TvlrFirstNm" type="strMax255Type" />
<!-- Traveller Last name -->
<xs:element name="TvlrLastNm" type="strMax255Type" />
<!-- Traveller party count -->
<xs:element name="TvlrPartyCnt" type="numMax3Type" />
<!-- Supplier - This supplier declaration is used only for settle transactions -->
<xs:element name="Supplier">
<xs:complexType>
<xs:sequence>
<xs:element ref="SuplrNm"/>
<xs:element ref="VATNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref ="SuplrLegalNm" minOccurs="0" maxOccurs="1" />
<xs:element ref ="SuplrAddress" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Supplier Name -->
<xs:element name="SuplrNm" type="strMax255Type" />
<!-- VAT nbr -->
<xs:element name="VATNbr" type="strMax30Type" />
<!-- Supplier Matching Code -->
<xs:element name="SplrMtchCd" type="strMax20Type" />
<!-- Supplier Matching Data -->
<xs:element name="SplrMtchDa" type="strMax255Type" />
<!-- Supplier Legal Name -->
<xs:element name="SuplrLegalNm" type="strMax255Type" />
<!-- Supplier Address -->
<xs:element name="SuplrAddress" type="strMax255Type" />
<!-- Provider -->
<xs:element name="Provider">
<xs:complexType>
<xs:all>
<xs:element ref="IATANbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="AmexAgcyNbr" />
<xs:element ref="AmexOfcNbr" />
<xs:element ref="ServCtrCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="TrmnlId" minOccurs="0" maxOccurs="1" />
<xs:element ref="InvInd" />
<xs:element ref="InvNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="InvDt" minOccurs="0" maxOccurs="1" />
<xs:element ref="CrNoteNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="CrNoteDt" minOccurs="0" maxOccurs="1" />
<xs:element ref="ProviderTransRefDa" minOccurs="0" maxOccurs="1" />
<xs:element ref="ProviderClntRefDa" minOccurs="0" maxOccurs="1" />
<xs:element ref="EInvLocTxt" minOccurs="0" maxOccurs="1" />
<xs:element ref="AssocInvNbr" minOccurs="0" maxOccurs="1" />
</xs:all>
</xs:complexType>
</xs:element>
<!-- IATA no -->
<xs:element name="IATANbr" type="numMax8Type" />
<!-- AMEX Agency no -->
<xs:element name="AmexAgcyNbr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- AMEX Office no -->
<xs:element name="AmexOfcNbr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="9" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Service centr -->
<xs:element name="ServCtrCd" type="strMax30Type" />
<!-- Terminal no -->
<xs:element name="TrmnlId" type="strMax30Type" />
<!-- Invoice indicator -->
<xs:element name="InvInd">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y"/>
<xs:enumeration value="N"/>
<xs:enumeration value="y"/>
<xs:enumeration value="n"/>
<xs:enumeration value="R"/>
<xs:enumeration value="r"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Invoice number -->
<xs:element name="InvNbr" type="strMax30Type" />
<!-- Invoice Date -->
<xs:element name="InvDt" type="dateType" />
<!-- Credit note number -->
<xs:element name="CrNoteNbr" type="strMax30Type" />
<!-- Credit note date -->
<xs:element name="CrNoteDt" type="dateType" />
<!-- Associated Invoice number -->
<xs:element name="AssocInvNbr" type="strMax30Type" />
<!-- Provider transansaction referrence -->
<xs:element name="ProviderTransRefDa" type="strMax30Type" />
<!-- Provider referrence for their client -->
<xs:element name="ProviderClntRefDa" type="strMax30Type" />
<!-- E-Invoice location text -->
<xs:element name="EInvLocTxt" type="strMax255Type" />
<!-- Bookingsystem -->
<xs:element name="BookingSystem">
<xs:complexType>
<xs:all>
<xs:element ref="InvNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="InvDt" minOccurs="0" maxOccurs="1" />
<xs:element ref="CrNoteNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="CrNoteDt" minOccurs="0" maxOccurs="1" />
<xs:element ref="BkgRefDa" minOccurs="0" maxOccurs="1" />
<xs:element ref="AssocInvNbr" minOccurs="0" maxOccurs="1" />
</xs:all>
</xs:complexType>
</xs:element>
<!-- Bookingsystem booking referrence -->
<xs:element name="BkgRefDa" type="strMax30Type" />
<!-- Customer Reference Group -->
<xs:element name="CustRefGrp">
<xs:complexType>
<xs:sequence>
<xs:element ref="CustRef" minOccurs="0" maxOccurs="7"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Customer Reference -->
<xs:element name="CustRef">
<xs:complexType>
<xs:sequence>
<xs:element ref="CustRefNbr" />
<xs:element ref="CustRefTypeCd" />
<xs:element ref="CustRefTx" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Customer reference number -->
<xs:element name="CustRefNbr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="01"/>
<xs:enumeration value="02"/>
<xs:enumeration value="03"/>
<xs:enumeration value="04"/>
<xs:enumeration value="05"/>
<xs:enumeration value="06"/>
<xs:enumeration value="07"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Customer reference type cd -->
<xs:element name="CustRefTypeCd" type="numFull4Type" />
<!-- Customer reference data -->
<xs:element name="CustRefTx" type="strMax255Type" />
<!-- Add Amount group -->
<xs:element name="AddAmountGrp">
<xs:complexType>
<xs:sequence>
<xs:element ref="AddAmount" minOccurs="0" maxOccurs="30" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Add Amount -->
<xs:element name="AddAmount">
<xs:complexType>
<xs:all>
<xs:element ref="AmtTypeCd" />
<xs:element ref="AddAmt" />
<xs:element ref="DbCrInd" />
<xs:element ref="AddAmtRt" minOccurs="0" maxOccurs="1"/>
<xs:element ref="AddAmtNet" minOccurs="0" maxOccurs="1"/>
<xs:element ref="AddAmtTax" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<!-- Amount type code -->
<xs:element name="AmtTypeCd" type="strFull3Type" />
<!-- Add Amount -->
<xs:element name="AddAmt" type="numMax12Type" />
<!-- Add Amount Rate -->
<xs:element name="AddAmtRt">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="7" />
<xs:pattern value="([0-9])*" />
<xs:pattern value="([0-9])*[.]([0-9])*" />
<xs:pattern value="([0-9])*[,]([0-9])*" />
<xs:pattern value="[.]([0-9])*" />
<xs:pattern value="[,]([0-9])*" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Add Amount -->
<xs:element name="AddAmtNet" type="numMax12Type" />
<!-- Add Amount -->
<xs:element name="AddAmtTax" type="numMax12Type" />
<!-- Element group -->
<xs:element name="ElementGrp">
<xs:complexType>
<xs:sequence>
<xs:element ref="Element" minOccurs="0" maxOccurs="99"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Element -->
<xs:element name="Element">
<xs:complexType>
<xs:sequence>
<xs:element ref="ElemNbr"/>
<xs:element ref="ElemDesc"/>
<xs:element ref="ElemRefCd"/>
<xs:element ref="TourCd" minOccurs="0" maxOccurs="1"/>
<xs:element ref="StmtInd" minOccurs="0" maxOccurs="1"/>
<xs:element ref="TvlrFirstNm" minOccurs="0" maxOccurs="1"/>
<xs:element ref="TvlrLastNm" minOccurs="0" maxOccurs="1"/>
<xs:element ref="ElemAmount" />
<xs:element ref="ElemAddAmountGrp" minOccurs="0" maxOccurs="1" />
<xs:element ref="ElemCustRefGrp" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Element Number -->
<xs:element name="ElemNbr" type="numMax2Type" />
<!-- Element Desc -->
<xs:element name="ElemDesc" type="strMax255Type" />
<!-- Element Ref cd -->
<xs:element name="ElemRefCd" type="strMax30Type" />
<!-- Tour cd -->
<xs:element name="TourCd" type="strMax30Type" />
<!-- Statement Ind -->
<xs:element name="StmtInd" type="strYNindType" />
<!-- Element Amount -->
<xs:element name="ElemAmount">
<xs:complexType>
<xs:sequence>
<xs:element ref="ElemAmt" />
<xs:element ref="DbCrInd" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Element Amount -->
<xs:element name="ElemAmt" type="numMax12Type" />
<!-- Element Additional Amount Grp -->
<xs:element name="ElemAddAmountGrp">
<xs:complexType>
<xs:sequence>
<xs:element ref="ElemAddAmount" minOccurs = "0" maxOccurs="30"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Element Add Amount -->
<xs:element name="ElemAddAmount">
<xs:complexType>
<xs:all>
<xs:element ref="AmtTypeCd"/>
<xs:element ref="AddAmt"/>
<xs:element ref="DbCrInd"/>
<xs:element ref="AddAmtRt" minOccurs="0" maxOccurs="1"/>
<xs:element ref="AddAmtNet" minOccurs="0" maxOccurs="1"/>
<xs:element ref="AddAmtTax" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
<!--Element Cust Ref Grp -->
<xs:element name="ElemCustRefGrp">
<xs:complexType>
<xs:sequence>
<xs:element ref="ElemCustRef" minOccurs = "0" maxOccurs="7"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Customer Reference -->
<xs:element name="ElemCustRef">
<xs:complexType>
<xs:sequence>
<xs:element ref="CustRefNbr"/>
<xs:element ref="CustRefTypeCd"/>
<xs:element ref="CustRefTx"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Commodity starts -->
<xs:element name="Commodity">
<xs:complexType>
<xs:choice>
<xs:element ref="Air"/>
<xs:element ref="CarHire"/>
<xs:element ref="Hotel"/>
<xs:element ref="Rail"/>
</xs:choice>
</xs:complexType>
</xs:element>
<!-- Air -->
<xs:element name="Air">
<xs:complexType>
<xs:sequence>
<xs:element ref="TktNbr"/>
<xs:element ref="PNRLocCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="AirTransTypeCd"/>
<xs:element ref="ExchTktNbr" minOccurs="0" maxOccurs="1"/>
<xs:element ref="TktIssCityNm" minOccurs="0" maxOccurs="1"/>
<xs:element ref="TktIssDt"/>
<xs:element ref="ETktInd"/>
<xs:element ref="FreqFlyerNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="AirSectorGrp" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Ticket number -->
<xs:element name="TktNbr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="14" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- PNR location code -->
<xs:element name="PNRLocCd">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="11" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- AIR Transaction type code -->
<xs:element name="AirTransTypeCd">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="TKT"/>
<xs:enumeration value="REF"/>
<xs:enumeration value="EXC"/>
<xs:enumeration value="MSC"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Exchange Ticket number -->
<xs:element name="ExchTktNbr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="14" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Ticket issue city name -->
<xs:element name="TktIssCityNm" type="strMax30Type" />
<!-- Ticket issue date -->
<xs:element name="TktIssDt" type="dateType" />
<!-- E-Ticket indicator -->
<xs:element name="ETktInd" type="strYNindType" />
<!-- Freq flier number -->
<xs:element name="FreqFlyerNbr" type="strMax30Type" />
<!-- Air sector group -->
<xs:element name="AirSectorGrp">
<xs:complexType>
<xs:sequence>
<xs:element ref="AirSector" minOccurs="0" maxOccurs="50"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Air sector -->
<xs:element name="AirSector">
<xs:complexType>
<xs:sequence>
<xs:element ref="SctrNbr"/>
<xs:element ref="SctrTypeCd"/>
<xs:element ref="DprtAirCd"/>
<xs:element ref="ArrAirCd"/>
<xs:element ref="DprtDt"/>
<xs:element ref="DprtTm" minOccurs="0" maxOccurs="1" />
<xs:element ref="ArrDt" minOccurs="0" maxOccurs="1" />
<xs:element ref="ArrTm" minOccurs="0" maxOccurs="1" />
<xs:element ref="FlightNbr"/>
<xs:element ref="SctrClassCd"/>
<xs:element ref="SctrFareAmt" minOccurs="0" maxOccurs="1" />
<xs:element ref="SctrFareBasisCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="StopOvrInd" minOccurs="0" maxOccurs="1" />
<xs:element name="CarrierCd" minOccurs="0" maxOccurs="1" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="2" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element ref="DomesticInd"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Sector number -->
<xs:element name="SctrNbr" type="numMax2Type2" />
<!-- Sector type cd -->
<xs:element name="SctrTypeCd">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="A"/>
<xs:enumeration value="R"/>
<xs:enumeration value="S"/>
<xs:enumeration value="V"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Departure air cd -->
<xs:element name="DprtAirCd" type="strFull3Type" />
<!-- Arrival air cd -->
<xs:element name="ArrAirCd" type="strFull3Type" />
<!-- Depart time -->
<xs:element name="DprtTm" type="timeType" />
<!-- Arrival Date -->
<xs:element name="ArrDt" type="dateType" />
<!-- Arrival time -->
<xs:element name="ArrTm" type="timeType" />
<!-- flight number -->
<xs:element name="FlightNbr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Sector class code -->
<xs:element name="SctrClassCd">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="2" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Sector fare amount -->
<xs:element name="SctrFareAmt" type="numMax12Type" />
<!-- Sector fare basis code -->
<xs:element name="SctrFareBasisCd">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="15" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Stop over indicator -->
<xs:element name="StopOvrInd">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="X"/>
<xs:enumeration value="O"/>
<xs:enumeration value="x"/>
<xs:enumeration value="o"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Domestic Ind -->
<xs:element name="DomesticInd" type="strYNindType" />
<!-- Rail -->
<xs:element name="Rail">
<xs:complexType>
<xs:sequence>
<xs:element ref="TktNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="TktIssNm"/>
<xs:element ref="TktIssCityNm" minOccurs="0" maxOccurs="1" />
<xs:element ref="TktIssDt"/>
<xs:element ref="RailSectorGrp" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Ticket issuer name -->
<xs:element name="TktIssNm" type="strMax255Type" />
<!-- Rail Sector group -->
<xs:element name="RailSectorGrp">
<xs:complexType>
<xs:sequence>
<xs:element ref="RailSector" minOccurs="0" maxOccurs="50"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Rail Sector -->
<xs:element name="RailSector">
<xs:complexType>
<xs:sequence>
<xs:element ref="SctrNbr"/>
<xs:element ref="DprtPtCd" minOccurs="0" maxOccurs="1"/>
<xs:element ref="DprtPtNm" minOccurs="0" maxOccurs="1"/>
<xs:element ref="ArrPtCd" minOccurs="0" maxOccurs="1"/>
<xs:element ref="ArrPtNm" minOccurs="0" maxOccurs="1"/>
<xs:element ref="DprtDt"/>
<xs:element ref="ArrDt" minOccurs="0" maxOccurs="1"/>
<xs:element ref="TrvlClassCd" minOccurs="0" maxOccurs="1"/>
<xs:element ref="CarrierCd" minOccurs="0" maxOccurs="1"/>
<xs:element ref="CarrierNm" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Departure point cd -->
<xs:element name="DprtPtCd" type="strMax3Type" />
<!-- Departure Point name -->
<xs:element name="DprtPtNm" type="strMax50Type" />
<!-- Arrival point code -->
<xs:element name="ArrPtCd" type="strMax3Type" />
<!-- Arrival Point name -->
<xs:element name="ArrPtNm" type="strMax50Type" />
<!-- Travel class code -->
<xs:element name="TrvlClassCd" type="strMax30Type" />
<!-- Rail Carrier code, length 3 -->
<xs:element name="CarrierCd" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Rail carrier name -->
<xs:element name="CarrierNm" type="strMax255Type" />
<!-- Hotel -->
<xs:element name="Hotel">
<xs:complexType>
<xs:sequence>
<xs:element ref="ChkInDt"/>
<xs:element ref="ChkInTm" minOccurs="0" maxOccurs="1" />
<xs:element ref="ChkOutDt" minOccurs="0" maxOccurs="1" />
<xs:element ref="ChkOutTm" minOccurs="0" maxOccurs="1" />
<xs:element ref="FolioNbr"/>
<xs:element ref="HotelChrgTypeCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="HotelChrgTypeCat" minOccurs="0" maxOccurs="1" />
<xs:element ref="RoomRateGrp" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Check in date -->
<xs:element name="ChkInDt" type="dateType" />
<!-- check in time -->
<xs:element name="ChkInTm" type="timeType" />
<!-- check out date -->
<xs:element name="ChkOutDt" type="dateType" />
<!-- check out time -->
<xs:element name="ChkOutTm" type="timeType" />
<!-- Folio number -->
<xs:element name="FolioNbr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="12" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Hotel charge type code -->
<xs:element name="HotelChrgTypeCd" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
<xs:enumeration value="6"/>
<xs:enumeration value="7"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Hotel Charge type cat -->
<xs:element name="HotelChrgTypeCat">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Room Rate Group -->
<xs:element name="RoomRateGrp">
<xs:complexType>
<xs:sequence>
<xs:element ref="RoomRate" minOccurs="1" maxOccurs="50" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Room Rate -->
<xs:element name="RoomRate">
<xs:complexType>
<xs:sequence>
<xs:element ref="RateNbr"/>
<xs:element ref="DayRate"/>
<xs:element ref="NightCnt"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Rate Number -->
<xs:element name="RateNbr" type="numMax2Type2" />
<!-- Day Rate -->
<xs:element name="DayRate" type="numMax12Type" />
<!-- Night Count -->
<xs:element name="NightCnt" type="numMax2Type" />
<!-- Car Hire -->
<xs:element name="CarHire">
<xs:complexType>
<xs:sequence>
<xs:element ref="PickUpDt"/>
<xs:element ref="PickUpLocNm" minOccurs="0" maxOccurs="1" />
<xs:element ref="PickUpCityNm"/>
<xs:element ref="PickUpRgnCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="PickUpCtryCd" minOccurs="0" maxOccurs="1"/>
<xs:element ref="DropOffDt"/>
<xs:element ref="DropOffLocNm" minOccurs="0" maxOccurs="1" />
<xs:element ref="DropOffCityNm"/>
<xs:element ref="DropOffRgnCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="DropOffCtryCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="CarRentAgrNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="RentDistNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="RenDistUnitCd" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Pick up Date -->
<xs:element name="PickUpDt" type="dateType" />
<!-- Pick up location name -->
<xs:element name="PickUpLocNm" type="strMax50Type" />
<!-- Pick up city name -->
<xs:element name="PickUpCityNm" type="strMax50Type" />
<!-- Pick up Region cd -->
<xs:element name="PickUpRgnCd" type="strFull3Type" />
<!-- Pick up country cd -->
<xs:element name="PickUpCtryCd" type="strFull3Type" />
<!-- Drop off Date -->
<xs:element name="DropOffDt" type="dateType" />
<!-- Drop off location name -->
<xs:element name="DropOffLocNm" type="strMax50Type" />
<!-- Drop off city name -->
<xs:element name="DropOffCityNm" type="strMax50Type" />
<!-- Drop off Region cd -->
<xs:element name="DropOffRgnCd" type="strFull3Type" />
<!-- Drop off country cd -->
<xs:element name="DropOffCtryCd" type="strFull3Type" />
<!-- Car rent Agreement no -->
<xs:element name="CarRentAgrNbr" type="strMax30Type" />
<!-- Rent Dist number -->
<xs:element name="RentDistNbr" type="numMax5Type" />
<!-- Rent Dist Unit Cd -->
<xs:element name="RenDistUnitCd" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="K"/>
<xs:enumeration value="M"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Batch Trailer -->
<xs:element name="BatchTrailer">
<xs:complexType>
<xs:sequence>
<xs:element ref="BtchDbCnt"/>
<xs:element ref="BtchDbTot"/>
<xs:element ref="BtchCrCnt"/>
<xs:element ref="BtchCrTot"/>
<xs:element ref="BtchCnt"/>
<xs:element ref="BtchTot"/>
<xs:element ref="BtchDbCrInd"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Batch Debit count -->
<xs:element name="BtchDbCnt" type="numFull9Type" />
<!-- Batch Debit total -->
<xs:element name="BtchDbTot" type="numFull13Type" />
<!-- Batch credit count -->
<xs:element name="BtchCrCnt" type="numFull9Type" />
<!-- Batch credit total -->
<xs:element name="BtchCrTot" type="numFull13Type" />
<!-- Batch count -->
<xs:element name="BtchCnt" type="numFull9Type" />
<!-- Batch total -->
<xs:element name="BtchTot" type="numFull13Type" />
<!-- Batch Debit credit indicator -->
<xs:element name="BtchDbCrInd" type="dbCrType" />
<!-- Settle Batch -->
<xs:element name="SettleBatch">
<xs:complexType>
<xs:sequence>
<xs:element ref="BtchSeqNbr" />
<xs:element ref="ProviderNm" />
<xs:element ref="SENbr" />
<xs:element ref="SOCRefNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="SECurrCd" />
<xs:element ref="SettleTran" minOccurs="1" maxOccurs="unbounded"/>
<xs:element ref="BatchTrailer" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- SE number -->
<xs:element name="SENbr" type="numMax15Type" />
<!-- SOC Ref No -->
<xs:element name="SOCRefNbr" type="numMax15Type" />
<!-- Must be a valid ISO Currency Code. -->
<xs:element name="SECurrCd" type="strFull3Type" />
<!-- Settle Transaction -->
<xs:element name="SettleTran">
<xs:complexType>
<xs:sequence>
<xs:element ref="TransSeqNbr"/>
<xs:element ref="TransDt" />
<xs:element ref="TransTm" minOccurs="0" maxOccurs="1" />
<xs:element ref="CancRsnTx" minOccurs="0" maxOccurs="1" />
<xs:element ref="BkgSrceCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="MediaCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="TMCDossierNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="ProdDesc" minOccurs="0" maxOccurs="1" />
<xs:element ref="OrderNbr" minOccurs="0" maxOccurs="1" />
<xs:element ref="GDSCd" minOccurs="0" maxOccurs="1" />
<xs:element ref="CommodityCd" />
<xs:element ref="Account" />
<xs:element ref="Auth" minOccurs="0" maxOccurs="1" />
<xs:element ref="Amount" />
<xs:element ref="Trip" />
<xs:element ref="Supplier" />
<xs:element ref="Provider" />
<xs:element ref="BookingSystem" minOccurs="0" maxOccurs="1" />
<xs:element ref="CustRefGrp" minOccurs="0" maxOccurs="1"/>
<xs:element ref="AddAmountGrp" minOccurs="0" maxOccurs="1"/>
<xs:element ref="ElementGrp" minOccurs="0" maxOccurs="1"/>
<xs:element ref="TxnLinkGrp" minOccurs="0" maxOccurs="1" />
<xs:element ref="Commodity" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Auth -->
<xs:element name="Auth">
<xs:complexType>
<xs:sequence>
<xs:element ref="AuthCd" minOccurs="0" maxOccurs="1"/>
<xs:element ref="POSCd" minOccurs="0" maxOccurs="1"/>
<xs:element ref="SELocnId" minOccurs="0" maxOccurs="1"/>
<xs:element ref="SEContactDa" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Auth Code -->
<xs:element name="AuthCd">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="(([a-zA-Z0-9][a-zA-Z0-9])|[a-zA-Z0-9 ]{6})" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- POS Cd -->
<xs:element name="POSCd" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="12" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- SE Location ID -->
<xs:element name="SELocnId" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="15" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- SE Contact DA -->
<xs:element name="SEContactDa" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="40" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Transaction Link Ref Grp -->
<xs:element name="TxnLinkGrp">
<xs:complexType>
<xs:sequence>
<xs:element ref="TxnLink" minOccurs = "0" maxOccurs="99"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Transaction Link -->
<xs:element name="TxnLink">
<xs:complexType>
<xs:sequence>
<xs:element ref="TxnLinkSeqNbr"/>
<xs:element ref="TxnLinkRefCd"/>
<xs:element ref="TxnLinkRefDa"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Transaction Link Seq No -->
<xs:element name="TxnLinkSeqNbr" type="numFull9NonZeroType" />
<!-- Transaction Link Ref code -->
<xs:element name="TxnLinkRefCd" type="strFull5Type" />
<!-- Transaction Link Ref Data -->
<xs:element name="TxnLinkRefDa" type="strMax30Type" />
<!-- Message Trailer -->
<xs:element name="MessageTrailer">
<xs:complexType>
<xs:sequence>
<xs:element ref="SettleBtchCnt"/>
<xs:element ref="TrvlBtchCnt"/>
<xs:element ref="CurrencyTotGrp" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Settle batch count -->
<xs:element name="SettleBtchCnt" type="numFull9Type" />
<!-- Travel batch count -->
<xs:element name="TrvlBtchCnt" type="numFull9Type" />
<!-- Currency Total group -->
<xs:element name="CurrencyTotGrp">
<xs:complexType>
<xs:sequence>
<xs:element ref="CurrencyTot" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Currency total -->
<xs:element name="CurrencyTot">
<xs:complexType>
<xs:sequence>
<xs:element ref="CurrencyCd"/>
<xs:element ref="TravelTranDbCnt"/>
<xs:element ref="TravelTranDbTot"/>
<xs:element ref="TravelTranCrCnt"/>
<xs:element ref="TravelTranCrTot"/>
<xs:element ref="TravelTranCnt"/>
<xs:element ref="TravelTranTot"/>
<xs:element ref="TravelDbCrInd"/>
<xs:element ref="SettleTranDbCnt"/>
<xs:element ref="SettleTranDbTot"/>
<xs:element ref="SettleTranCrCnt"/>
<xs:element ref="SettleTranCrTot"/>
<xs:element ref="SettleTranCnt"/>
<xs:element ref="SettleTranTot"/>
<xs:element ref="SettleDbCrInd"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- Currency Code -->
<xs:element name="CurrencyCd" type="strFull3Type" />
<!-- Travel Tran Debit count -->
<xs:element name="TravelTranDbCnt" type="numFull9Type" />
<!-- Travel Tran Credit count -->
<xs:element name="TravelTranDbTot" type="numFull13Type" />
<!-- Travel tran credit total -->
<xs:element name="TravelTranCrCnt" type="numFull9Type" />
<!-- Travel tran total -->
<xs:element name="TravelTranCrTot" type="numFull13Type" />
<!-- Travel tran count -->
<xs:element name="TravelTranCnt" type="numFull9Type" />
<!-- Travel tran total -->
<xs:element name="TravelTranTot" type="numFull13Type" />
<!-- Travel debit credit indicator -->
<xs:element name="TravelDbCrInd" type="dbCrType" />
<!-- Settle Tran debit count -->
<xs:element name="SettleTranDbCnt" type="numFull9Type" />
<!-- settle tran debit total -->
<xs:element name="SettleTranDbTot" type="numFull13Type" />
<!-- settle tran credit count -->
<xs:element name="SettleTranCrCnt" type="numFull9Type" />
<!-- settle tran credit total -->
<xs:element name="SettleTranCrTot" type="numFull13Type" />
<!-- settle tran count -->
<xs:element name="SettleTranCnt" type="numFull9Type" />
<!-- settle tran total -->
<xs:element name="SettleTranTot" type="numFull13Type" />
<!-- settle debit credit ind -->
<xs:element name="SettleDbCrInd" type="dbCrType" />
</xs:schema>
Updated over 5 years ago