<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2026 (x64) (https://www.altova.com) by Verohallinto (Finnish Tax Administration) (Verohallinto) -->
<xsd:schema xmlns:ficarf="urn:oecd:ties:ficarf:v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:stf="urn:oecd:ties:ficarfstf:v5" xmlns:iso="urn:oecd:ties:isocarftypes:v1" targetNamespace="urn:oecd:ties:ficarf:v1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
	<xsd:import namespace="urn:oecd:ties:isocarftypes:v1" schemaLocation="isocarftypes_v1.1.xsd"/>
	<xsd:import namespace="urn:oecd:ties:ficarfstf:v5" schemaLocation="oecdficarftypes_v5.1.xsd"/>
	<!--+++++++++++++++++++++++  Reusable Simple types ++++++++++++++++++++++++++++++++++++++ -->
	<!-- Message type definitions -->
	<xsd:simpleType name="MessageType_EnumType">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Message type defines the type of reporting </xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="FICARF"/>
		</xsd:restriction>
	</xsd:simpleType>
	<!--  -->
	<!--Transfer Type - 401 to 405-->
	<xsd:simpleType name="ExchangeType_EnumType">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Transfer Type</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="FICARF401">
				<xsd:annotation>
					<xsd:documentation>Staking</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="FICARF402">
				<xsd:annotation>
					<xsd:documentation>Crypto Loan</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="FICARF403">
				<xsd:annotation>
					<xsd:documentation>Wrapping</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="FICARF404">
				<xsd:annotation>
					<xsd:documentation>Collateral</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="FICARF405">
				<xsd:annotation>
					<xsd:documentation>Other</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<!--  -->
	<!--Transfer Type - 501 to 509-->
	<xsd:simpleType name="TransferType_EnumType">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Transfer Type</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="CARF501">
				<xsd:annotation>
					<xsd:documentation>Airdrop</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF502">
				<xsd:annotation>
					<xsd:documentation>Staking income</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF503">
				<xsd:annotation>
					<xsd:documentation>Mining income</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF504">
				<xsd:annotation>
					<xsd:documentation>Crpyto loan</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF505">
				<xsd:annotation>
					<xsd:documentation>Transfer from another RCASP</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF506">
				<xsd:annotation>
					<xsd:documentation>Sale of goods or services</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF507">
				<xsd:annotation>
					<xsd:documentation>Collateral</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF508">
				<xsd:annotation>
					<xsd:documentation>Other</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF509">
				<xsd:annotation>
					<xsd:documentation>Unknown (to be selected as the default value where the Reporting Crypto-Asset Service Provider has no knowledge on the Transfer Type)</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<!--  -->
	<!--FITransfer Type - 01 to 02-->
	<xsd:simpleType name="FITransferType_EnumType">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">FI Transfer Type</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="FICARF101">
				<xsd:annotation>
					<xsd:documentation>Kryptovarallisuuden kerryttämä muu tuotto</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="FICARF102">
				<xsd:annotation>
					<xsd:documentation>Kryptovarallisuutena saatu muu suoritus</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<!--  -->
	<!-- Account Number Type - 601 to 604, usage 0-->
	<xsd:simpleType name="TransferOutType_EnumType">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Account Number Type</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="CARF601">
				<xsd:annotation>
					<xsd:documentation>Transfer to another RCASP</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF602">
				<xsd:annotation>
					<xsd:documentation>Crypto Loan</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF603">
				<xsd:annotation>
					<xsd:documentation>Purchase of goods or services, to be used in respect of transactions other than those already reported as Reportable Retail Payment Transactions</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF604">
				<xsd:annotation>
					<xsd:documentation>Collateral</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF605">
				<xsd:annotation>
					<xsd:documentation>Other</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF606">
				<xsd:annotation>
					<xsd:documentation>Unknown (to be selected as the default value where the Reporting Crypto-Asset Service Provider has no knowledge on the Transfer Type)</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<!--  -->
	<!-- MessageTypeIndic - 701 to 703 -->
	<xsd:simpleType name="FicarfMessageTypeIndic_EnumType">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">The MessageTypeIndic defines the type of message sent</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="FICARF701">
				<xsd:annotation>
					<xsd:documentation>The message contains new information</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="FICARF702">
				<xsd:annotation>
					<xsd:documentation>The message contains corrections/deletions for previously sent information. When the MesseageTypeIndic is FICARF702, the DocTypeIndic can contain either Corrections (OECD2) or Deletions (OECD3) or both, but new data (OECD1) cannot be contained. Note that OECD0 can be included for RCASP's DocTypeIndic.</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="FICARF703">
				<xsd:annotation>
					<xsd:documentation>The message advises there is no data to report</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<!--  -->
	<!--CARF Alt Valuation Type -  1001 to 1004, usage 0 -->
	<xsd:simpleType name="AltValuation_EnumType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="CARF1001">
				<xsd:annotation>
					<xsd:documentation>Book value</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF1002">
				<xsd:annotation>
					<xsd:documentation>Third-party value</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF1003">
				<xsd:annotation>
					<xsd:documentation>Recent RCASP valuation</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="CARF1004">
				<xsd:annotation>
					<xsd:documentation>Reasonable estimate by RCASP</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<!--  -->
	<xsd:simpleType name="TwoDigFract_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Data type for any kind of numeric data with two decimal fraction digits, especially monetary amounts.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:decimal">
			<xsd:fractionDigits value="2"/>
		</xsd:restriction>
	</xsd:simpleType>
	<!--  -->
	<xsd:simpleType name="SixDigFract_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Data type for any kind of numeric data with six decimal fraction digits, especially monetary amounts.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:decimal">
			<xsd:fractionDigits value="6"/>
		</xsd:restriction>
	</xsd:simpleType>
	<!--  -->
	<xsd:simpleType name="EightDigFract_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Data type for any kind of numeric data with eight decimal fraction digits, especially monetary amounts.
			</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:decimal">
			<xsd:fractionDigits value="8"/>
			<!--			<xsd:minExclusive value="0"/>-->
		</xsd:restriction>
	</xsd:simpleType>
	<!-- -->
	<xsd:simpleType name="LargeDecimalType">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Data type for any kind of numeric data with sixteen decimal fraction digits, especially monetary amounts.</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:decimal">
			<xsd:totalDigits value="100"/>
			<xsd:fractionDigits value="16"/>
		</xsd:restriction>
	</xsd:simpleType>
	<!--  -->
	<!--++++++++++++++++++ Reusable Complex types +++++++++++++++++++++++++++++++++++++ -->
	<!-- Message specification: Data identifying and describing the message as a whole -->
	<xsd:complexType name="RCASP_Type">
		<xsd:sequence>
			<xsd:element name="RCASP_ID">
				<xsd:complexType>
					<xsd:choice>
						<xsd:element name="Individual" type="ficarf:PersonParty_Type"/>
						<xsd:element name="Entity" type="ficarf:OrganisationParty_Type"/>
					</xsd:choice>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="DocSpec" type="stf:DocSpec_Type"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- -->
	<xsd:complexType name="CryptoUsers_Type">
		<xsd:sequence>
			<xsd:element name="UserID">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="Individual" type="ficarf:PersonParty_Type"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="RelevantTransactions" type="ficarf:RelevantTransactions_Type"/>
			<xsd:element name="DocSpec" type="stf:DocSpec_Type"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- -->
	<xsd:complexType name="RelevantTransactions_Type">
		<xsd:sequence>
			<xsd:element name="CryptoAsset" type="stf:StringMin1Max200_Type"/>
			<xsd:element name="CryptoAssetName" type="stf:StringMin1Max200_Type"/>
			<xsd:element name="AccountNumber" type="stf:StringMin1Max200_Type" minOccurs="0"/>
			<xsd:choice>
				<xsd:element name="CryptoToCryptoOut" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="ExchangeType" type="ficarf:ExchangeType_EnumType" minOccurs="0"/>
							<xsd:element name="ExchangeTypeOther" type="stf:StringMin1Max200_Type" minOccurs="0"/>
							<xsd:element name="SellingPrice" type="ficarf:MonAmnt_Type"/>
							<xsd:element name="SellingTime" type="xsd:dateTime"/>
							<xsd:element name="NumberofUnits" type="ficarf:MonUnits_Type"/>
							<xsd:element name="DisposalFee" type="ficarf:MonAmnt_Type"/>
							<xsd:element name="PurchaseTime" type="ficarf:PurchaseTime_Type"/>
							<xsd:element name="PurchasePrice" type="ficarf:MonAmnt_Type2"/>
							<xsd:element name="PurchaseFees" type="ficarf:MonAmnt_Type"/>
							<xsd:element name="Reference" type="stf:StringMin1Max200_Type"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="CryptoFiatOut" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="ExchangeType" type="ficarf:ExchangeType_EnumType" minOccurs="0"/>
							<xsd:element name="ExchangeTypeOther" type="stf:StringMin1Max200_Type" minOccurs="0"/>
							<xsd:element name="SellingPrice" type="ficarf:MonAmnt_Type"/>
							<xsd:element name="SellingTime" type="xsd:dateTime"/>
							<xsd:element name="NumberofUnits" type="ficarf:MonUnits_Type"/>
							<xsd:element name="DisposalFee" type="ficarf:MonAmnt_Type"/>
							<xsd:element name="PurchaseTime" type="ficarf:PurchaseTime_Type"/>
							<xsd:element name="PurchasePrice" type="ficarf:MonAmnt_Type2"/>
							<xsd:element name="PurchaseFees" type="ficarf:MonAmnt_Type"/>
							<xsd:element name="Reference" type="stf:StringMin1Max200_Type"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="CryptoTransferIn" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:sequence>
							<!--<xsd:element name="TransferType" type="ficarf:TransferType_EnumType"/> -->
							<xsd:element name="FITransferType" type="ficarf:FITransferType_EnumType"/>
							<xsd:element name="FITypeDescription" type="stf:StringMin1Max200_Type"/>
							<xsd:element name="ReceivingTime" type="xsd:dateTime"/>
							<xsd:element name="NumberofUnits" type="ficarf:MonUnits_Type"/>
							<xsd:element name="TransferValue" type="ficarf:MonAmnt_Type"/>
							<xsd:element name="Reference" type="stf:StringMin1Max200_Type"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:choice>
		</xsd:sequence>
	</xsd:complexType>
	<!--Message specification: Data identifying and describing the message as a whole-->
	<xsd:complexType name="MessageSpec_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Information in the message header identifies the Tax Administration that is sending the message.  It 
specifies when the message was created, what period (normally a year) the report is for, and the nature of the report (original, 
corrected, supplemental, etc).</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="SendingEntityIN" type="stf:StringMin1Max200_Type"/>
			<!-- modified for CARF  -->
			<xsd:element name="MessageType" type="ficarf:MessageType_EnumType"/>
			<xsd:element name="Contact" type="stf:StringMin1Max4000_Type"/>
			<xsd:element name="MessageRefId" type="stf:StringMin1Max80_Type"/>
			<xsd:element name="MessageTypeIndic" type="ficarf:FicarfMessageTypeIndic_EnumType"/>
			<xsd:element name="ReportingPeriod" type="xsd:date"/>
			<xsd:element name="Timestamp" type="xsd:dateTime"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- -->
	<!-- PurchaseTime -->
	<xsd:complexType name="PurchaseTime_Type">
		<xsd:sequence>
			<xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="unknown" type="xsd:boolean" use="optional"/>
	</xsd:complexType>
	<!-- -->
	<!-- The Name of a Party, given in fixed Form-->
	<xsd:complexType name="NamePerson_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">The user must spread the data about the name of a party over up to six elements. The container element for this will be 'NameFix'. </xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="FirstName">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="stf:StringMin1Max200_Type"/>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="MiddleName" minOccurs="0">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="stf:StringMin1Max200_Type"/>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="LastName">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:extension base="stf:StringMin1Max200_Type"/>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<!--		<xsd:attribute name="nameType" type="stf:OECDNameType_EnumType" use="optional"/>-->
	</xsd:complexType>
	<!-- -->
	<!-- Collection of all Data describing a person as a  Party -->
	<xsd:complexType name="PersonParty_Type">
		<xsd:sequence>
			<xsd:element name="ResCountryCode" type="iso:CountryCode_Type" maxOccurs="unbounded"/>
			<xsd:element name="TIN" type="ficarf:TIN_Type" maxOccurs="unbounded"/>
			<xsd:element name="Name" type="ficarf:NamePerson_Type"/>
			<xsd:element name="Address" type="ficarf:Address_Type" minOccurs="0"/>
			<xsd:element name="BirthInfo" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>.</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="BirthDate" type="xsd:date"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<!-- -->
	<!--General Type for Monetary Amounts -->
	<xsd:complexType name="MonAmnt_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">This data type is to be used whenever monetary amounts are to be communicated. Such amounts shall be given in full units, i.e. without decimals.  The code for the currency in which the value is expressed has to be taken from the ISO codelist 4217 and added in attribute currCode.
</xsd:documentation>
		</xsd:annotation>
		<xsd:simpleContent>
			<xsd:extension base="ficarf:TwoDigFract_Type">
				<xsd:attribute name="currCode" type="iso:currCode_Type" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<!--  -->
	<xsd:complexType name="MonAmnt_Type2">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">This data type is to be used whenever monetary amounts are to be communicated. Such amounts shall be given in full units, i.e. without decimals.  The code for the currency in which the value is expressed has to be taken from the ISO codelist 4217 and added in attribute currCode.
</xsd:documentation>
		</xsd:annotation>
		<xsd:simpleContent>
			<xsd:extension base="ficarf:TwoDigFract_Type">
				<xsd:attribute name="currCode" type="iso:currCode_Type" use="required"/>
				<xsd:attribute name="sourceType" use="required">
					<xsd:simpleType>
						<xsd:restriction base="stf:StringMin1Max200_Type">
							<xsd:enumeration value="FICARF1">
								<xsd:annotation>
									<xsd:documentation>Raportoivalta kryptovarapalvelun tarjoajalta</xsd:documentation>
								</xsd:annotation>
							</xsd:enumeration>
							<xsd:enumeration value="FICARF2">
								<xsd:annotation>
									<xsd:documentation>Kryptovarakäyttäjältä, tieto varmistettu</xsd:documentation>
								</xsd:annotation>
							</xsd:enumeration>
							<xsd:enumeration value="FICARF3">
								<xsd:annotation>
									<xsd:documentation>Kryptovarakäyttäjältä, tietoa ei varmistettu</xsd:documentation>
								</xsd:annotation>
							</xsd:enumeration>
							<xsd:enumeration value="FICARF4">
								<xsd:annotation>
									<xsd:documentation>Ei tiedossa</xsd:documentation>
								</xsd:annotation>
							</xsd:enumeration>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<!--  -->
	<!--General Type for Monetary Units -->
	<xsd:complexType name="MonUnits_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">This data type is to be used whenever monetary amounts are to be communicated. Such amounts shall be given in full units, i.e. without decimals.  The code for the currency in which the value is expressed has to be taken from the ISO codelist 4217 and added in attribute currCode.
</xsd:documentation>
		</xsd:annotation>
		<xsd:simpleContent>
			<xsd:extension base="ficarf:LargeDecimalType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<!--  -->
	<!-- Organisation Identification Number -->
	<xsd:complexType name="OrganisationIN_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">This is the identification number/identification code for the Entity in question. As the identifier may be not strictly numeric, it is just defined as a string of characters. Attribute 'issuedBy' is required to designate the issuer of the identifier.  Attribute 'INType' defines the type of identification number. </xsd:documentation>
		</xsd:annotation>
		<xsd:simpleContent>
			<xsd:extension base="stf:StringMin1Max200_Type">
				<xsd:attribute name="issuedBy" type="iso:CountryCode_Type" use="optional">
					<xsd:annotation>
						<xsd:documentation xml:lang="en">Country code of issuing country, indicating country of Residence (to taxes and other)</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="INType" use="optional">
					<xsd:annotation>
						<xsd:documentation xml:lang="en">Identification Number Type</xsd:documentation>
					</xsd:annotation>
					<xsd:simpleType>
						<xsd:restriction base="stf:StringMin1Max200_Type">
							<xsd:enumeration value="LEI"/>
							<xsd:enumeration value="EIN"/>
							<xsd:enumeration value="BRN"/>
							<xsd:enumeration value="Other"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<!-- -->
	<!-- Individual Identification Number -->
	<xsd:complexType name="IndividualIN_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">This is the identification number/identification code for the Entity in question. As the identifier may be not strictly numeric, it is just defined as a string of characters. Attribute 'issuedBy' is required to designate the issuer of the identifier.  Attribute 'INType' defines the type of identification number. </xsd:documentation>
		</xsd:annotation>
		<xsd:simpleContent>
			<xsd:extension base="stf:StringMin1Max200_Type">
				<xsd:attribute name="issuedBy" type="iso:CountryCode_Type" use="optional">
					<xsd:annotation>
						<xsd:documentation xml:lang="en">Country code of issuing country, indicating country of Residence (to taxes and other)</xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<!-- -->
	<!-- Collection of all Data describing an organisation as party-->
	<xsd:complexType name="OrganisationParty_Type">
		<xsd:sequence>
			<xsd:element name="TIN">
				<xsd:complexType>
					<xsd:simpleContent>
						<xsd:restriction base="ficarf:TIN_Type">
							<xsd:minLength value="1"/>
						</xsd:restriction>
					</xsd:simpleContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Name" type="ficarf:NameOrganisation_Type"/>
		</xsd:sequence>
	</xsd:complexType>
	<!-- -->
	<!-- Address Fix -->
	<xsd:complexType name="AddressFix_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en"/>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Street" type="stf:StringMin1Max200_Type" minOccurs="0"/>
			<xsd:element name="POB" type="stf:StringMin1Max200_Type" minOccurs="0"/>
			<xsd:element name="PostCode" type="stf:StringMin1Max200_Type"/>
			<xsd:element name="City" type="stf:StringMin1Max200_Type"/>
		</xsd:sequence>
	</xsd:complexType>
	<!--  -->
	<!--  The Address of a Party, given in fixed or free Form, possibly in both Forms -->
	<xsd:complexType name="Address_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en"/>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="CountryCode" type="iso:CountryCode_Type"/>
			<xsd:sequence>
				<xsd:element name="AddressFix" type="ficarf:AddressFix_Type"/>
				<xsd:element name="AdditionalAddressInfo" type="stf:StringMin1Max4000_Type" minOccurs="0"/>
			</xsd:sequence>
		</xsd:sequence>
		<!-- <xsd:attribute name="legalAddressType" type="stf:OECDLegalAddressType_EnumType" use="optional"/>  -->
	</xsd:complexType>
	<!--  -->
	<!-- Organisation name -->
	<xsd:complexType name="NameOrganisation_Type">
		<xsd:annotation>
			<xsd:documentation xml:lang="en">Name of organisation</xsd:documentation>
		</xsd:annotation>
		<xsd:simpleContent>
			<xsd:extension base="stf:StringMin1Max200_Type"/>
			<!--<xsd:attribute name="nameType" type="stf:OECDNameType_EnumType" use="optional"/> -->
		</xsd:simpleContent>
	</xsd:complexType>
	<!-- -->
	<!-- TIN -->
	<xsd:complexType name="TIN_Type">
		<xsd:simpleContent>
			<xsd:extension base="stf:StringMin0Max200_Type">
				<xsd:attribute name="issuedBy" type="iso:CountryCode_Type" use="optional"/>
				<xsd:attribute name="unknown" type="xsd:boolean" use="optional"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<!-- -->
	<!--The place of birth -->
	<xsd:complexType name="BirthPlace_Type">
		<xsd:annotation>
			<xsd:documentation>This element provides information about the place of birth. This element must be filled in at least with the city and the country of birth (either the current jurisdiction identified by 2-characters country code or a former jurisdiction identified by a name).</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="City" type="stf:StringMin1Max200_Type"/>
			<xsd:element name="CountryInfo">
				<xsd:complexType>
					<xsd:choice>
						<xsd:element name="CountryCode" type="iso:CountryCode_Type"/>
						<xsd:element name="FormerCountryName" type="stf:StringMin1Max200_Type"/>
					</xsd:choice>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<!-- -->
	<!-- CARF Body Type - CARF Report  -->
	<xsd:complexType name="CARFBody_Type">
		<xsd:sequence>
			<xsd:element name="RCASP" type="ficarf:RCASP_Type"/>
			<xsd:element name="CryptoUsers" type="ficarf:CryptoUsers_Type" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Schema  element ++++++++++++++++++++++++++++++++++++++++++++ -->
	<!-- CarfOECD File Message structure  -->
	<!-- -->
	<!-- CARF Message structure  -->
	<xsd:element name="FICARF">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="MessageSpec" type="ficarf:MessageSpec_Type"/>
				<xsd:element name="CARFBody" type="ficarf:CARFBody_Type"/>
			</xsd:sequence>
			<xsd:attribute name="version" type="stf:StringMin1Max10_Type">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">CARF Version</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>