﻿<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

	<xsd:element name="root" type="rootType" />

	<xsd:complexType name="rootType">
		<xsd:sequence>
			<xsd:element name="FWB" type="tcFWB" />
			<xsd:element name="SHP" type="tcPessoasSHPCNE" />
			<xsd:element name="CNE" type="tcPessoasSHPCNE" />
			<xsd:element name="NFY" type="tcPessoasNFYAGT" minOccurs="0" maxOccurs="1" />
			<xsd:element name="AGT" type="tcAGT" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ACC" type="tcLine" minOccurs="0" maxOccurs="1" />
			<xsd:element name="SSR" type="tcLine" minOccurs="0" maxOccurs="1" />
			<xsd:element name="RTG" type="xsd:string" minOccurs="0" maxOccurs="1" />
			<xsd:element name="FLT" type="tcFLT" minOccurs="0" maxOccurs="2" />
			<xsd:element name="CVD" type="tcCVD" />
			<xsd:element name="MC" type="tcMC" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="RTD" type="tcRTD" />
			<xsd:element name="OTH" type="tcLineOTH" minOccurs="0" maxOccurs="1" />
			<xsd:element name="PPD" type="tcPPD" minOccurs="0" maxOccurs="1" />
			<xsd:element name="COL" type="tcCOL" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ISU" type="tcISU" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcFWB">
		<xsd:sequence>
			<xsd:element name="master" type="tsMaster" />
			<xsd:element name="airportdeparture" type="tsAirportdeparture" />
			<xsd:element name="airportdestination" type="tsAirportdestination" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcPessoasSHPCNE">
		<xsd:sequence>
			<xsd:element name="razaosocial" type="tsRazaoSocial" />
			<xsd:element name="iatacode" type="tsIataCode" minOccurs="0" maxOccurs="1" />
			<xsd:element name="cnpj" type="tsCnpj" />
			<xsd:element name="cnpjtipo" type="tsCnpjTipo" />
			<xsd:element name="cidade" type="tsCidade" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="uf" type="tsUf" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="endereco" type="tcEndereco" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcPessoasNFYAGT">
		<xsd:sequence>
			<xsd:element name="razaosocial" type="tsRazaoSocial" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="iatacode" type="tsIataCode"  minOccurs="0" maxOccurs="1"/>
			<xsd:element name="cnpj" type="tsCnpj" minOccurs="0" maxOccurs="1" />
			<xsd:element name="cidade" type="tsCidade"  minOccurs="0" maxOccurs="1"/>
			<xsd:element name="uf" type="tsUf"  minOccurs="0" maxOccurs="1"/>
			<xsd:element name="endereco" type="tcEndereco"  minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcAGT">
		<xsd:sequence>
			<xsd:element name="razaosocial" type="tsRazaoSocial" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="iatacode" type="tsIataCode"/>
			<xsd:element name="cnpj" type="tsCnpj" minOccurs="0" maxOccurs="1" />
			<xsd:element name="cidade" type="tsCidade"  minOccurs="0" maxOccurs="1"/>
			<xsd:element name="uf" type="tsUf"  minOccurs="0" maxOccurs="1"/>
			<xsd:element name="endereco" type="tcEndereco"  minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcLine">
		<xsd:sequence>
			<xsd:element name="line" type="tsLine" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcFLT">
		<xsd:sequence>
			<xsd:element name="iataprefixo" type="tsIataprefixo" />
			<xsd:element name="voo" type="xsd:string" />
			<xsd:element name="date" type="xsd:date" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcCVD">
		<xsd:sequence>
			<xsd:element name="freighttype" type="tsFreighttype" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcMC">
		<xsd:sequence>
			<xsd:element name="totalcubic" type="tsTotalcubic" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcEndereco">
		<xsd:sequence>
			<xsd:element name="logradouro" type="tsLogradouro" />
			<xsd:element name="numero" type="tsNumero" />
			<xsd:element name="bairro" type="tsBairo" />
			<xsd:element name="cidade" type="tsCidade" />
			<xsd:element name="cep" type="tsCep" />
			<xsd:element name="uf" type="tsUf" />
			<xsd:element name="estado" type="tsEstado" />
			<xsd:element name="pais" type="tsPais" />
			<xsd:element name="paissigla" type="tsPaissigla" />
			<xsd:element name="telefone" type="tsTelefone"  minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcRTD">
		<xsd:sequence>
			<xsd:element name="numberofpieces" type="xsd:string" />
			<xsd:element name="grossweight" type="xsd:string" />
			<xsd:element name="chargeableweight" type="xsd:string" />
			<xsd:element name="chargedetails" type="xsd:string" />
			<xsd:element name="total" type="xsd:string" />
			<xsd:element name="contractnumber" type="xsd:string" minOccurs="0" maxOccurs="1" />
			<xsd:element name="NV" type="tcLine" minOccurs="0" maxOccurs="1" />
			<xsd:element name="ND" type="tcNDLine" minOccurs="0" maxOccurs="1" />
			<xsd:element name="NC" type="tcLine" minOccurs="0" maxOccurs="1" />
			<xsd:element name="NH" type="tcLine" minOccurs="0" maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tsNDLine">
		<xsd:sequence>
			<xsd:element name="lenght" type="xsd:string" />
			<xsd:element name="width" type="xsd:string" />
			<xsd:element name="height" type="xsd:string" />
			<xsd:element name="pieces" type="xsd:string" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcPPD">
		<xsd:sequence>
			<xsd:element name="WT" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="OC" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="OA" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="VC" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="TX" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="CT" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcOTH">
		<xsd:sequence>
			<xsd:element name="description" type="xsd:string" />
			<xsd:element name="value" type="xsd:string" />
			<xsd:element name="indicator" type="xsd:string" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcLineOTH">
		<xsd:sequence>
			<xsd:element name="line" type="tcOTH" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcCOL">
		<xsd:sequence>
			<xsd:element name="WT" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="OC" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="OA" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="VC" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="TX" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="CT" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcNDLine">
		<xsd:sequence>
			<xsd:element name="line" type="tsNDLine" minOccurs="1" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="tcISU">
		<xsd:sequence>
			<xsd:element name="date" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="local" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="signature" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:simpleType name="tsMaster">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsAirportdeparture">
		<xsd:restriction base="xsd:string">
			<xsd:length value="3" fixed="true" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsAirportdestination">
		<xsd:restriction base="xsd:string">
			<xsd:length value="3" fixed="true" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsRazaoSocial">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsIataCode">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="0" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCnpj">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCnpjTipo">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCidade">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsLogradouro">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsNumero">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsEstado">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsCep">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsBairo">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsPais">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsTelefone">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsUf">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="0" />
			<xsd:maxLength value="2" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsPaissigla">
		<xsd:restriction base="xsd:string">
			<xsd:length value="2" fixed="true" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsIataprefixo">
		<xsd:restriction base="xsd:string">
			<xsd:length value="2" fixed="true" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsFreighttype">
		<xsd:restriction base="xsd:string">
			<xsd:length value="2" fixed="true" />
			<xsd:enumeration value="PP" />
			<xsd:enumeration value="CC" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsTotalcubic">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

	<xsd:simpleType name="tsLine">
		<xsd:restriction base="xsd:string">
			<xsd:minLength value="1" />
		</xsd:restriction>
	</xsd:simpleType>

</xsd:schema>