<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:bicws="http://www.bic.org.uk/webservices/financialDocumentList" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.bic.org.uk/webservices/financialDocumentList" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="FinancialDocumentListRequest">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="ClientID" type="xs:string"/>
				<xs:element name="ClientPassword" type="xs:string"/>
				<xs:element name="AccountIdentifier" type="bicws:AccountIdentifier"/>
				<xs:element name="RequestNumber" type="xs:string" minOccurs="0"/>
				<xs:element name="IssueDateTime" type="bicws:DateOrDateTime" minOccurs="0"/>
				<xs:element name="SupplierIdentifier" type="bicws:SupplierIdentifier" minOccurs="0"/>
				<xs:element name="ShipToPartyIdentifier" type="bicws:ShipToPartyIdentifier" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="PeriodStartDate" type="bicws:Date" minOccurs="0"/>
				<xs:element name="PeriodEndDate" type="bicws:Date" minOccurs="0"/>
				<xs:element name="SelectionType" type="bicws:SelectionTypeCode" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="version" type="xs:string" use="required" fixed="1.0"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="FinancialDocumentListResponse">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Header">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="IssueDateTime" type="bicws:DateOrDateTime"/>
							<xs:element name="SenderIdentifier">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="SenderIDType" type="bicws:SenderIDTypeCode"/>
										<xs:element name="IDTypeName" type="xs:string" minOccurs="0"/>
										<xs:element name="IDValue" type="xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ResponseNumber" type="xs:string" minOccurs="0"/>
							<xs:element name="AccountIdentifier" type="bicws:AccountIdentifier"/>
							<xs:element name="ReferenceCoded" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ReferenceTypeCode" type="bicws:ResponseReferenceTypeCode"/>
										<xs:element name="ReferenceNumber" type="xs:string"/>
										<xs:element name="ReferenceDateTime" type="bicws:DateOrDateTime" minOccurs="0"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="SupplierIdentifier" type="bicws:SupplierIdentifier" minOccurs="0"/>
							<xs:element name="ResponseCoded" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ResponseType" type="bicws:ResponseTypeCode"/>
										<xs:element name="ResponseTypeDescription" type="xs:string" minOccurs="0"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="CurrencyCode" type="bicws:CurrencyCode" minOccurs="0"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="ItemDetail" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="LineNumber" type="xs:int" minOccurs="0"/>
							<xs:element name="ShipToPartyIdentifier" type="bicws:ShipToPartyIdentifier" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="ReferenceCoded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ReferenceTypeCode" type="bicws:ResponseItemReferenceTypeCode"/>
										<xs:element name="ReferenceNumber" type="xs:string"/>
										<xs:element name="ReferenceDateTime" type="bicws:DateOrDateTime" minOccurs="0"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="DocumentType" type="bicws:DocumentTypeCode"/>
							<xs:element name="SettlementStatus" type="bicws:SettlementStatusCode"/>
							<xs:element name="SettlementDueDate" type="bicws:Date" minOccurs="0"/>
							<xs:element name="GrossValue" type="xs:decimal" minOccurs="0"/>
							<xs:element name="NetValue" type="xs:decimal" minOccurs="0"/>
							<xs:element name="CurrencyCode" type="bicws:CurrencyCode" minOccurs="0"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="version" type="xs:string" use="required" fixed="1.0"/>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="AccountIdentifier">
		<xs:sequence>
			<xs:element name="AccountIDType" type="bicws:AccountIDTypeCode"/>
			<xs:element name="IDValue" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ShipToPartyIdentifier">
		<xs:sequence>
			<xs:element name="PartyIDType" type="bicws:PartyIDTypeCode"/>
			<xs:element name="IDTypeName" type="xs:string" minOccurs="0"/>
			<xs:element name="IDValue" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SupplierIdentifier">
		<xs:sequence>
			<xs:element name="SupplierIDType" type="bicws:PartyIDTypeCode"/>
			<xs:element name="IDTypeName" type="xs:string" minOccurs="0"/>
			<xs:element name="IDValue" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="AccountIDTypeCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="02"/>
			<xs:enumeration value="06"/>
			<xs:enumeration value="07"/>
			<xs:enumeration value="11"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CurrencyCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="AED"/>
			<xs:enumeration value="AFA"/>
			<xs:enumeration value="AFN"/>
			<xs:enumeration value="ALL"/>
			<xs:enumeration value="AMD"/>
			<xs:enumeration value="ANG"/>
			<xs:enumeration value="AOA"/>
			<xs:enumeration value="ARS"/>
			<xs:enumeration value="AUD"/>
			<xs:enumeration value="AWG"/>
			<xs:enumeration value="AZM"/>
			<xs:enumeration value="BAM"/>
			<xs:enumeration value="BBD"/>
			<xs:enumeration value="BDT"/>
			<xs:enumeration value="BGL"/>
			<xs:enumeration value="BGN"/>
			<xs:enumeration value="BHD"/>
			<xs:enumeration value="BIF"/>
			<xs:enumeration value="BMD"/>
			<xs:enumeration value="BND"/>
			<xs:enumeration value="BOB"/>
			<xs:enumeration value="BRL"/>
			<xs:enumeration value="BSD"/>
			<xs:enumeration value="BTN"/>
			<xs:enumeration value="BWP"/>
			<xs:enumeration value="BYR"/>
			<xs:enumeration value="BZD"/>
			<xs:enumeration value="CAD"/>
			<xs:enumeration value="CDF"/>
			<xs:enumeration value="CHF"/>
			<xs:enumeration value="CLP"/>
			<xs:enumeration value="CNY"/>
			<xs:enumeration value="COP"/>
			<xs:enumeration value="CRC"/>
			<xs:enumeration value="CSD"/>
			<xs:enumeration value="CUC"/>
			<xs:enumeration value="CUP"/>
			<xs:enumeration value="CVE"/>
			<xs:enumeration value="CYP"/>
			<xs:enumeration value="CZK"/>
			<xs:enumeration value="DJF"/>
			<xs:enumeration value="DKK"/>
			<xs:enumeration value="DOP"/>
			<xs:enumeration value="DZD"/>
			<xs:enumeration value="EEK"/>
			<xs:enumeration value="EGP"/>
			<xs:enumeration value="ERN"/>
			<xs:enumeration value="ETB"/>
			<xs:enumeration value="EUR"/>
			<xs:enumeration value="FJD"/>
			<xs:enumeration value="FKP"/>
			<xs:enumeration value="GBP"/>
			<xs:enumeration value="GEL"/>
			<xs:enumeration value="GHC"/>
			<xs:enumeration value="GIP"/>
			<xs:enumeration value="GMD"/>
			<xs:enumeration value="GNF"/>
			<xs:enumeration value="GTQ"/>
			<xs:enumeration value="GWP"/>
			<xs:enumeration value="GYD"/>
			<xs:enumeration value="HKD"/>
			<xs:enumeration value="HNL"/>
			<xs:enumeration value="HRK"/>
			<xs:enumeration value="HTG"/>
			<xs:enumeration value="HUF"/>
			<xs:enumeration value="IDR"/>
			<xs:enumeration value="ILS"/>
			<xs:enumeration value="INR"/>
			<xs:enumeration value="IQD"/>
			<xs:enumeration value="IRR"/>
			<xs:enumeration value="ISK"/>
			<xs:enumeration value="JMD"/>
			<xs:enumeration value="JOD"/>
			<xs:enumeration value="JPY"/>
			<xs:enumeration value="KES"/>
			<xs:enumeration value="KGS"/>
			<xs:enumeration value="KHR"/>
			<xs:enumeration value="KMF"/>
			<xs:enumeration value="KPW"/>
			<xs:enumeration value="KRW"/>
			<xs:enumeration value="KWD"/>
			<xs:enumeration value="KYD"/>
			<xs:enumeration value="KZT"/>
			<xs:enumeration value="LAK"/>
			<xs:enumeration value="LBP"/>
			<xs:enumeration value="LKR"/>
			<xs:enumeration value="LRD"/>
			<xs:enumeration value="LSL"/>
			<xs:enumeration value="LTL"/>
			<xs:enumeration value="LVL"/>
			<xs:enumeration value="LYD"/>
			<xs:enumeration value="MAD"/>
			<xs:enumeration value="MDL"/>
			<xs:enumeration value="MGA"/>
			<xs:enumeration value="MGF"/>
			<xs:enumeration value="MKD"/>
			<xs:enumeration value="MMK"/>
			<xs:enumeration value="MNT"/>
			<xs:enumeration value="MOP"/>
			<xs:enumeration value="MRO"/>
			<xs:enumeration value="MTL"/>
			<xs:enumeration value="MUR"/>
			<xs:enumeration value="MVR"/>
			<xs:enumeration value="MWK"/>
			<xs:enumeration value="MXN"/>
			<xs:enumeration value="MYR"/>
			<xs:enumeration value="MZM"/>
			<xs:enumeration value="NAD"/>
			<xs:enumeration value="NGN"/>
			<xs:enumeration value="NIO"/>
			<xs:enumeration value="NOK"/>
			<xs:enumeration value="NPR"/>
			<xs:enumeration value="NZD"/>
			<xs:enumeration value="OMR"/>
			<xs:enumeration value="PAB"/>
			<xs:enumeration value="PEN"/>
			<xs:enumeration value="PGK"/>
			<xs:enumeration value="PHP"/>
			<xs:enumeration value="PKR"/>
			<xs:enumeration value="PLN"/>
			<xs:enumeration value="PYG"/>
			<xs:enumeration value="QAR"/>
			<xs:enumeration value="ROL"/>
			<xs:enumeration value="RUB"/>
			<xs:enumeration value="RUR"/>
			<xs:enumeration value="RWF"/>
			<xs:enumeration value="SAR"/>
			<xs:enumeration value="SBD"/>
			<xs:enumeration value="SCR"/>
			<xs:enumeration value="SDD"/>
			<xs:enumeration value="SEK"/>
			<xs:enumeration value="SGD"/>
			<xs:enumeration value="SHP"/>
			<xs:enumeration value="SIT"/>
			<xs:enumeration value="SKK"/>
			<xs:enumeration value="SLL"/>
			<xs:enumeration value="SOS"/>
			<xs:enumeration value="SRD"/>
			<xs:enumeration value="SRG"/>
			<xs:enumeration value="STD"/>
			<xs:enumeration value="SVC"/>
			<xs:enumeration value="SYP"/>
			<xs:enumeration value="SZL"/>
			<xs:enumeration value="THB"/>
			<xs:enumeration value="TJS"/>
			<xs:enumeration value="TMM"/>
			<xs:enumeration value="TND"/>
			<xs:enumeration value="TOP"/>
			<xs:enumeration value="TPE"/>
			<xs:enumeration value="TRL"/>
			<xs:enumeration value="TRY"/>
			<xs:enumeration value="TTD"/>
			<xs:enumeration value="TWD"/>
			<xs:enumeration value="TZS"/>
			<xs:enumeration value="UAH"/>
			<xs:enumeration value="UGX"/>
			<xs:enumeration value="USD"/>
			<xs:enumeration value="UYU"/>
			<xs:enumeration value="UZS"/>
			<xs:enumeration value="VEB"/>
			<xs:enumeration value="VND"/>
			<xs:enumeration value="VUV"/>
			<xs:enumeration value="WST"/>
			<xs:enumeration value="XAF"/>
			<xs:enumeration value="XCD"/>
			<xs:enumeration value="XOF"/>
			<xs:enumeration value="XPF"/>
			<xs:enumeration value="YER"/>
			<xs:enumeration value="YUM"/>
			<xs:enumeration value="ZAR"/>
			<xs:enumeration value="ZMK"/>
			<xs:enumeration value="ZWD"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Date">
		<xs:restriction base="xs:string">
			<xs:pattern value="2\d\d\d(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-8])"/>
			<xs:pattern value="200[048]0229"/>
			<xs:pattern value="2[1-9]0[48]0229"/>
			<xs:pattern value="2\d([2468][048]|[13579][26])0229"/>
			<xs:pattern value="2\d\d\d(0[13-9]|1[0-2])(29|30)"/>
			<xs:pattern value="2\d\d\d(0[13578]|1[02])31"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DateOrDateTime">
		<xs:restriction base="xs:string">
			<xs:pattern value="2\d\d\d(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-8])(T([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9](Z|[+\-](0[0-9]|1[0-2])(00|15|30|45))?)?"/>
			<xs:pattern value="200[048]0229(T([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9](Z|[+\-](0[0-9]|1[0-2])(00|15|30|45))?)?"/>
			<xs:pattern value="2[1-9]0[48]0229(T([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9](Z|[+\-](0[0-9]|1[0-2])(00|15|30|45))?)?"/>
			<xs:pattern value="2\d([2468][048]|[13579][26])0229(T([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9](Z|[+\-](0[0-9]|1[0-2])(00|15|30|45))?)?"/>
			<xs:pattern value="2\d\d\d(0[13-9]|1[0-2])(29|30)(T([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9](Z|[+\-](0[0-9]|1[0-2])(00|15|30|45))?)?"/>
			<xs:pattern value="2\d\d\d(0[13578]|1[02])31(T([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9](Z|[+\-](0[0-9]|1[0-2])(00|15|30|45))?)?"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DocumentTypeCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="01"/>
			<xs:enumeration value="02"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ItemResponseTypeCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="06"/>
			<xs:enumeration value="11"/>
			<xs:enumeration value="12"/>
			<xs:enumeration value="13"/>
			<xs:enumeration value="14"/>
			<xs:enumeration value="15"/>
			<xs:enumeration value="16"/>
			<xs:enumeration value="19"/>
			<xs:enumeration value="20"/>
			<xs:enumeration value="21"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PartyIDTypeCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="02"/>
			<xs:enumeration value="04"/>
			<xs:enumeration value="05"/>
			<xs:enumeration value="06"/>
			<xs:enumeration value="07"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="RequestItemReferenceTypeCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="11"/>
			<xs:enumeration value="12"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ResponseItemReferenceTypeCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="14"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ResponseReferenceTypeCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="01"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ResponseTypeCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="01"/>
			<xs:enumeration value="02"/>
			<xs:enumeration value="03"/>
			<xs:enumeration value="16"/>
			<xs:enumeration value="17"/>
			<xs:enumeration value="18"/>
			<xs:enumeration value="19"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="RequestTypeCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="01"/>
			<xs:enumeration value="02"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SelectionTypeCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="01"/>
			<xs:enumeration value="02"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SenderIDTypeCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="02"/>
			<xs:enumeration value="04"/>
			<xs:enumeration value="05"/>
			<xs:enumeration value="06"/>
			<xs:enumeration value="07"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SettlementStatusCode">
		<xs:restriction base="xs:string">
			<xs:enumeration value="01"/>
			<xs:enumeration value="02"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>

