Common XSD definitions used in Incoming API calls
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
targetNamespace="http://api.globalpay.convera.com" xmlns:tns="http://api.globalpay.convera.com" elementFormDefault="qualified"
attributeFormDefault="unqualified" vc:minVersion="1.1">
<xs:complexType name="AbstractOutputType">
<xs:sequence>
<xs:element name="status" >
<xs:complexType>
<xs:sequence>
<xs:element name="error" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="code" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="success" type="xs:boolean" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AbstractInputType" abstract="true">
<xs:sequence>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Remitter">
<xs:sequence>
<xs:element name="name" type="tns:SwiftString140"/>
<xs:element name="address1" type="tns:SwiftString250"/>
<xs:element name="address2" type="tns:SwiftString40" minOccurs="0"/>
<xs:element name="city" type="tns:SwiftString40"/>
<xs:element name="state" type="tns:SwiftString40" minOccurs="0"/>
<xs:element name="zip" type="tns:SwiftString35" minOccurs="0"/>
<xs:element name="countryCode" type="tns:CountryCodeType"/>
<xs:element name="email" type="tns:EmailType" minOccurs="0"/>
<xs:element name="phone" type="tns:String255Type" minOccurs="0"/>
<xs:element name="remitterType" minOccurs="0">
<xs:complexType>
<xs:choice>
<xs:element name="individual" type="tns:IndividualRemitter"/>
<xs:element name="business" type="tns:BusinessRemitter"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RemitterBank" >
<xs:sequence>
<xs:element name="name" type="tns:SwiftString70"/>
<xs:element name="address1" type="tns:SwiftString60"/>
<xs:element name="address2" type="tns:SwiftString40" minOccurs="0"/>
<xs:element name="city" type="tns:SwiftString40"/>
<xs:element name="state" type="tns:SwiftString40"/>
<xs:element name="zip" type="tns:SwiftString40" minOccurs="0"/>
<xs:element name="countryCode" type="tns:CountryCodeType"/>
<xs:element name="routingCode" type="tns:String255Type" minOccurs="0"/>
<xs:element name="swiftCode" type="tns:String255Type" minOccurs="0"/>
<xs:element name="branchCode" type="tns:String255Type" minOccurs="0"/>
<xs:element name="account" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="tns:accTypeOptions" minOccurs="0"/>
<xs:element name="holders" type="tns:String255Type" minOccurs="0"/>
<xs:element name="currency" type="tns:CurrencyCodeType" minOccurs="0"/>
<xs:element name="openingDate" type="xs:date" minOccurs="0"/>
<xs:element name="accountNumber" type="tns:String255Type" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bankContact" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="tns:String255Type" minOccurs="0"/>
<xs:element name="email" type="tns:EmailType" minOccurs="0"/>
<xs:element name="phone" type="tns:String255Type" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="IndividualRemitter">
<xs:sequence>
<xs:element name="occupation" type="xs:string" minOccurs="0"/>
<xs:element name="identification" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="document" type="xs:string" minOccurs="0"/>
<xs:element name="documentRef" type="xs:string" minOccurs="0"/>
<xs:element name="documentCountry" type="tns:CountryCodeType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="alias" type="xs:string" minOccurs="0"/>
<xs:element name="dob" type="xs:date" minOccurs="0"/>
<xs:element name="residentCountry" type="tns:CountryCodeType" minOccurs="0"/>
<xs:element name="employerName" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BusinessRemitter">
<xs:sequence>
<xs:element name="principalBusiness" type="xs:string" minOccurs="0"/>
<xs:element name="authorisedUser" type="xs:string" minOccurs="0" maxOccurs="3"/>
<xs:element name="registrationNo" type="xs:string" minOccurs="0"/>
<xs:element name="jurisdiction" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="EmailType">
<xs:restriction base="xs:string">
<xs:maxLength value="150"/>
<xs:pattern value="[a-zA-Z0-9._%+\-\[\]!#$&()*/;=^`{|}~]+@([a-zA-Z0-9\-\^!#$%&*+/=_`{|}~]+\.)+[a-zA-Z0-9\-\^!#$%&*+/=_`{|}~]+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SwiftString">
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
<xs:pattern value="[ a-zA-Z0-9/\-:().,+]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SwiftString11">
<xs:restriction base="xs:string">
<xs:maxLength value="11"/>
<xs:pattern value="[ a-zA-Z0-9/\-:().,+]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SwiftString35">
<xs:restriction base="xs:string">
<xs:maxLength value="35"/>
<xs:pattern value="[ a-zA-Z0-9/\-:().,+]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SwiftString40">
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
<xs:pattern value="[ a-zA-Z0-9/\-:().,+]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SwiftString60">
<xs:restriction base="xs:string">
<xs:maxLength value="60"/>
<xs:pattern value="[ a-zA-Z0-9/\-:().,+]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SwiftString70">
<xs:restriction base="xs:string">
<xs:maxLength value="70"/>
<xs:pattern value="[ a-zA-Z0-9/\-:().,+]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SwiftString140">
<xs:restriction base="xs:string">
<xs:maxLength value="140"/>
<xs:pattern value="[ a-zA-Z0-9/\-:().,+]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SwiftString250">
<xs:restriction base="xs:string">
<xs:maxLength value="250"/>
<xs:pattern value="[ a-zA-Z0-9/\-:().,+]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="SwiftString255">
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
<xs:pattern value="[ a-zA-Z0-9/\-:().,+]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PaymentCodeType">
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CurrencyCodeType">
<xs:restriction base="xs:string">
<xs:maxLength value="3"/>
<xs:minLength value="3"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CountryCodeType">
<xs:restriction base="xs:string">
<xs:maxLength value="3"/>
<xs:minLength value="3"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String30Type">
<xs:restriction base="xs:string">
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String255Type">
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String1000Type">
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="accTypeOptions">
<xs:restriction base="xs:string">
<xs:enumeration value="checking"/>
<xs:enumeration value="current"/>
<xs:enumeration value="other"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="fieldsTypeRestriction">
<xs:restriction base="xs:string">
<xs:enumeration value="text"/>
<xs:enumeration value="email"/>
<xs:enumeration value="select"/>
<xs:enumeration value="check_box"/>
<xs:enumeration value="date"/>
<xs:enumeration value="radio_buttons"/>
<xs:enumeration value="country"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="actionType">
<xs:restriction base="xs:string">
<xs:enumeration value="deleted"/>
<xs:enumeration value="create"/>
<xs:enumeration value="update"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>