XML y XSD – Boleto Aereo


Nombre Campo

Tipo Dato

Obligatorio

Consideraciones

CABECERA

nitEmisor

Numérico

Si

Máximo de 13 dígitos

numeroBoleto

Numérico

Si

Máximo de 13 dígitos

cuf

Alfanumérico

Si

Máximo de 100 caracteres

cufd

Alfanumérico

Si

Máximo de 100 caracteres

codigoSucursal

Numérico

Si

Máximo hasta la 9999, también puede ser 0 (casa matriz)

fechaEmision

Fecha

Si

Deberá estar en formato UTC Extendido, por ejemplo: “2019-02-13T08:32:12”

nombreRazonSocialEmisor

Alfanumérico

Si

Máximo de 200 caracteres

nombreRazonSocialBeneficiarioCreditoFiscal

Alfanumérico

No

Máximo de 50 caracteres

numeroDocumentoBeneficiarioCreditoFiscal

Alfanumérico

Si

Máximo de 20 caracteres

nombrePasajero

Alfanumérico

Si

Máximo de 300 caracteres

numeroDocumentoPasajero

Alfanumérico

No

Máximo de 20 caracteres

codigoIataLineaAerea

Numérico

Si

Máximo de 3 dígitos

codigoIataAgenteViajes

Numérico

No

Máximo de 20 dígitos

nitAgenteViajes

Numérico

No

Máximo de 13 dígitos

codigoOrigenServicio

Alfanumérico

Si

Máximo de 50 caracteres

codigoMoneda

Numérico

Si

Puede tener valores del 1 al 9999

tipoCambio

Numérico

Si

Decimal con hasta 20 dígitos en la parte entera y con hasta 5 decimales, deberá ser mayor a 0, si el código de moneda es Bolivianos (688) deberá ser igual a 1.

montoTarifa

Numérico

Si

Decimal con hasta 20 dígitos en la parte entera y con hasta 5 decimales, deberá ser mayor a 0

montoTotalBoleto

Numérico

Si

Decimal con hasta 20 dígitos en la parte entera y con hasta 5 decimales, deberá ser mayor a 0

montoSujetoIva

Numérico

Si

Decimal con hasta 20 dígitos en la parte entera y con hasta 5 decimales, deberá ser mayor a 0

codigoTipoTransaccion

Alfanumérico

Si

Máximo 10 caracteres

codigoDocumentoSector

Numérico

Si

Para el Boleto Aéreo deberá ser 22.

 

Nota

Los archivos XML generados deben estar en formato UTF-8, no en “UTF-8 BOM”, esta configuración debe realizarse antes de la generación del XML, por ejemplo, se tiene el siguiente código en lenguaje C#

xmlDocument doc = new xmlDocument();
XmlNode docNode = doc.CreateXMLDeclaration("1.0", "UTF-8", null);
doc.Appendchild(docNode);

 

Archivo XML de Boleto Aereo(Descargar)

<?xml version="1.0" encoding="UTF-8"?>

<facturaComputarizadaBoletoAereo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="facturaComputarizadaBoletoAereo.xsd">

   <cabecera>

      <nitEmisor>1003579016</nitEmisor>

      <numeroBoleto>9999999999</numeroBoleto>

      <cuf>1eecd7b50eef5e5bde755ca05f735</cuf>

      <cufd>4c4a63478ac61191d54b9c3774aa7ea1</cufd>

      <codigoSucursal>9999</codigoSucursal>

      <fechaEmision>2018-08-22T15:11:36.169</fechaEmision>

      <nombreRazonSocialEmisor>BOA</nombreRazonSocialEmisor>

      <nombreRazonSocialBeneficiarioCreditoFiscal>Nombre o Razon Social </nombreRazonSocialBeneficiarioCreditoFiscal>

      <numeroDocumentoBeneficiarioCreditoFiscal>312X32121 </numeroDocumentoBeneficiarioCreditoFiscal>

      <nombrePasajero>John Smith</nombrePasajero>

      <numeroDocumentoPasajero>X63726372</numeroDocumentoPasajero>

      <codigoIataLineaAerea>123</codigoIataLineaAerea>

      <codigoIataAgenteViajes>123</codigoIataAgenteViajes>

      <nitAgenteViajes xsi:nil="true"></nitAgenteViajes >

      <CodigoOrigenServicio>LPB</CodigoOrigenServicio>

      <codigoMoneda>689</codigoMoneda>

      <tipoCambio>1</tipoCambio>

      <montoTarifa>1500</montoTarifa>

      <montoTotalBoleto>1550</montoTotalBoleto>

      <montoSujetoIva>1305</montoSujetoIva>

      <codigoTipoTransaccion>ETKT</codigoTipoTransaccion>

      <codigoDocumentoSector>22</codigoDocumentoSector>

   </cabecera>

</facturaComputarizadaBoletoAereo>

 


Archivo XSD para Boleto Aereo (Descargar)

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified">

   <xs:element name="facturaComputarizadaBoletoAereo">

      <xs:complexType>

         <xs:sequence>

            <xs:element name="cabecera">

               <xs:complexType>

                  <xs:sequence>

                     <xs:element name="nitEmisor">

                        <xs:simpleType>

                           <xs:restriction base="xs:integer">

                              <xs:minInclusive value="1" />

                              <xs:maxInclusive value="9999999999999" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="numeroBoleto">

                        <xs:simpleType>

                           <xs:restriction base="xs:integer">

                              <xs:minInclusive value="1" />

                         <xs:maxInclusive value="9999999999999" />

                         </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="cuf">

                        <xs:simpleType>

                           <xs:restriction base="xs:string">

                              <xs:minLength value="1" />

                              <xs:maxLength value="100" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="cufd">

                        <xs:simpleType>

                           <xs:restriction base="xs:string">

                              <xs:minLength value="1" />

                              <xs:maxLength value="100" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="codigoSucursal">

                        <xs:simpleType>

                           <xs:restriction base="xs:integer">

                              <xs:minInclusive value="0" />

                              <xs:maxInclusive value="9999" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="fechaEmision" type="xs:dateTime" />

                     <xs:element name="nombreRazonSocialEmisor">

                        <xs:simpleType>

                           <xs:restriction base="xs:string">

                              <xs:minLength value="1" />

                              <xs:maxLength value="200" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="nombreRazonSocialBeneficiarioCreditoFiscal">

                        <xs:simpleType>

                           <xs:restriction base="xs:string">

                              <xs:minLength value="1" />

                              <xs:maxLength value="500" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="numeroDocumentoBeneficiarioCreditoFiscal">

                        <xs:simpleType>

                           <xs:restriction base="xs:string">

                              <xs:minLength value="1" />

                              <xs:maxLength value="20" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="nombrePasajero">

                        <xs:simpleType>

                           <xs:restriction base="xs:string">

                              <xs:minLength value="1" />

                              <xs:maxLength value="300" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="numeroDocumentoPasajero" nillable="true">

                        <xs:simpleType>

                           <xs:restriction base="xs:string">

                              <xs:minLength value="1" />

                              <xs:maxLength value="20" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                    <xs:element name="codigoIataLineaAerea">

                        <xs:simpleType>

                           <xs:restriction base="xs:integer">

                              <xs:minInclusive value="1" />

                              <xs:maxInclusive value="999" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="codigoIataAgenteViajes">

                        <xs:simpleType>

                           <xs:restriction base="xs:integer">

                              <xs:minInclusive value="1" />

                              <xs:maxInclusive value="99999999999999999999" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="nitAgenteViajes" nillable="true">

                        <xs:simpleType>

                           <xs:restriction base="xs:integer">

                              <xs:maxInclusive value="9999999999999" />

                              <xs:minExclusive value="0" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="CodigoOrigenServicio">

                        <xs:simpleType>

                           <xs:restriction base="xs:string">

                              <xs:minLength value="1" />

                              <xs:maxLength value="50" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="codigoMoneda">

                        <xs:simpleType>

                           <xs:restriction base="xs:integer">

                              <xs:maxInclusive value="9999" />

                              <xs:minExclusive value="0" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="tipoCambio">

                        <xs:simpleType>

                           <xs:restriction base="xs:decimal">

                              <xs:totalDigits value="20" />

                              <xs:fractionDigits value="5" />

                              <xs:minExclusive value="0" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="montoTarifa">

                        <xs:simpleType>

                           <xs:restriction base="xs:decimal">

                              <xs:totalDigits value="20" />

                              <xs:fractionDigits value="5" />

                              <xs:minExclusive value="0" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="montoTotalBoleto">

                        <xs:simpleType>

                           <xs:restriction base="xs:decimal">

                              <xs:totalDigits value="20" />

                              <xs:fractionDigits value="5" />

                              <xs:minExclusive value="0" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="montoSujetoIva">

                        <xs:simpleType>

                           <xs:restriction base="xs:decimal">

                              <xs:totalDigits value="20" />

                              <xs:fractionDigits value="5" />

                              <xs:minExclusive value="0" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="codigoTipoTransaccion">

                        <xs:simpleType>

                           <xs:restriction base="xs:string">

                              <xs:minLength value="1" />

                              <xs:maxLength value="10" />

                           </xs:restriction>

                        </xs:simpleType>

                     </xs:element>

                     <xs:element name="codigoDocumentoSector" type="xs:integer" fixed="22" />

                  </xs:sequence>

               </xs:complexType>

            </xs:element>

         </xs:sequence>

      </xs:complexType>

   </xs:element>

</xs:schema>