Diferencia entre las páginas «Price Surfer - Export contable» y «Price Surfer - Configuración Autologin»

De Wiki PriceSurfer
(Diferencia entre las páginas)
Ir a la navegaciónIr a la búsqueda
 
 
Línea 1: Línea 1:
= Introducción = OPCIÓN RECOMENDADA (VEA SISTEMA PUSH)
+
= Autologin =
  
El Web Service permite al cliente conectarse de manera transparente a la aplicación a través de un conjunto  de funciones que pueden ser llamadas desde las páginas web de sus sitios.
+
Las plataformas Price Surfer y Price Navigator ofrecen a nuestros clientes la posibilidad de integrar nuestros productos a sus portales a través de una funcionalidad denominada “autologin”.
  
A través del servicio web un mayorista podrá buscar reservas de hoteles, aéreos o paquetes; solicitar información detallada de reservas, cambiar el estado del pago de reservas y consultar información de agencias. Todo a través de una interfaz única basada en el intercambio de documentos XML, que será descripta en esta guía de uso.
+
Este mecanismo es empleado por varios clientes para manejar la operatoria (o al menos parte de ella) directamente en sus portales embebiendo algunas secciones de nuestras plataformas.
  
 +
A partir del 31 de Marzo del 2023, ampliando nuestras políticas de ciberseguridad, se introducen 2 cambios principales:
  
== Interfaz Cliente Simplificada ==
+
La API espera ahora un token de usuario en lugar de usuario/contraseña. El token de usuario es un código que identifica unívocamente a un usuario y que se empleará para identificar al mismo
 +
Validación de la integridad de la petición empleando el protocolo HMAC (hash-based message authentication code). El protocolo lo empleamos a su vez para asignar validez temporal a una petición.
  
El API va a usar protocolos HTTP estandard. Lo único que se requiere es un pedido de POST del HTTP.
 
  
Esto le otorgará las siguientes ventajas:
+
= Autenticación por token de usuario =
  
* Protocolos estandards de su empresa
+
El cliente de autologin deberá almacenar en su sistema el token identificatorio para cada usuario, de manera análoga a como hoy almacena usuario/contraseña y deberá emplear dicho dato para autenticarse contra nuestra plataforma.
* No se requiere de ningún componente adicional
 
  
 +
Siguiendo el ejemplo de la sección anterior, la firma quedaría de la siguiente manera:
  
== Requisitos de los clientes ==
+
http://{cliente-base-url}.app.pricenavigator.net/security/autologin.html?apiKey={userToken}
  
* Los pedidos de los clientes deben ser hechos desde una dirección pública y estática que esté registrada con NEMO.
+
Para facilitar la implementación de este cambio, se incorporó en la exportación de usuarios de nuestro backoffice administrativo este dato.
* Los pedidos del  cliente deben ser hechos a través de un pedido POST de HTTP.
 
* Toda la información enviada y recibida a través de la interface va a ser guardada en UTF-8
 
  
 +
= Validación de petición a través de HMAC =
  
== Autenticación del Cliente ==
+
El protocolo HMAC(hash-based message authentication code) estipula el envío de un código generado a partir de cierta información de la petición, un algoritmo criptográfico y una clave secreta (compartida en este caso por Nemo y el cliente).
  
Actualmente existen dos modos de autenticación:
 
  
* '''Mediante Usuario y Password:''' Los headers del POST deben contener autenticación HTTP de tipo basic estandar, con nombre y usuario habilitado de Navigator (las mismas credenciales que se usan para ingresar en el backend).
+
= Cambios del lado del cliente: =
  
'''<pre style="color: #CC0000">ATENCIÓN: Este método será deprecado a la brevedad, se pide utilizar el siguiente método por Token</pre>'''
+
Para emplear esta funcionalidad el cliente deberá seguir los siguientes pasos:
  
* '''Mediante Token:''' Se requiere de un header "token" que llevará el del usuario. Es posible conocerlo ingresando a la pantalla "Mi usuario".
+
Solicitar el alta de la funcionalidad a Nemo.
 +
Nemo le proporcionará la clave secreta que empleará para generar el código de validación.
 +
El cliente deberá enviar 2 parámetros adicionales en su petición:
  
== Acceso ==
+
timestamp . Marca de tiempo de la petición en el formato especificado en RFC 2616: Hypertext Transfer Protocol — HTTP/1.1  (primer formato).
 +
signature. Código de autenticación generado por la función de hasheo SHA256 a partir de la clave secreta y la marca de tiempo indicada en el campo anterior.
 +
SHA256(clientSecretKey, timestamp) = signature
  
 +
La firma y la marca de tiempo deberán generarse para cada petición de autologin ya que tienen una validez temporal.
  
URL del servicio = <span style="color: red">API URL</span>  +  <span style="color: green">nombre del mensaje</span>
+
Si la marca de tiempo está expirada o la firma no se corresponde con dicha marca de tiempo y la clave secreta del cliente se rechazará la petición de autenticación.
  
 +
Siguiendo el ejemplo anterior, la petición de autenticación quedaría así:
  
'''API URL (según entorno):'''
+
http://{cliente-base-url}.app.pricenavigator.net/security/autologin.html?apiKey={userToken}&timestamp={timestamp}&signature={signature}
* Entorno de Test: <nowiki>https://backend-staging.psurfer.net/export_staging.php/api/</nowiki>
 
* Entorno de producción: <nowiki>http://backend.psurfer.net/export.php/api/</nowiki>
 
  
 +
Para ponerlo en valores de ejemplo
  
'''Nombre del mensaje:'''
+
clientSecretKey = qY8NxIDIjtVPWxsT
* ''BookingsQueryRQ'' : Búsqueda de reservas
 
* ''BookingsDetailsRQ'' : Pedido de detalle de reservas
 
* ''AgencyQueryRQ'' : Pedido de detalle de agencias
 
* ''BookingPaymentStatusRQ'' : Cambio de estado de reserva a pagado
 
  
 +
timestamp = Thu, 29 Dec 2022 18:06:37 GMT
  
== Ejemplo de acceso con token y RQ en el body (RECOMENDADO) ==
+
signature = f9f202bab9de55953a714ec69f218fd774d4433449a9f4ae09727362d623925d
  
<pre>
+
Nemo proveerá la clave secreta al cliente una vez que se habilite la funcionalidad.
<nowiki>
 
curl -d '<BookingsDetailsRQ><GeneralParameters><PreferedLanguage LanguageCode="es-AR"/></GeneralParameters><Details><Bookings ItemsCount="1"><Booking Sequence="1"><BookingReference ReferenceType="NMO.GLB.BRT.NAV">PH_0XXXX</BookingReference></Booking></Bookings><ProviderRQ>false</ProviderRQ></Details></BookingsDetailsRQ>' -H "Content-Type: application/xml" -H  "token: 7c6a36adecc22f35951386bb4d005b74" -X POST "http://qanav2.nemo.com.ar/export_qa.php/api/BookingsDetailsRQ"
 
</nowiki>
 
</pre>
 
  
== Ejemplo de acceso con user/password y RQ en el body ==
+
= Recursos =
  
<pre>
+
Colección Postman con ejemplos: https://api.postman.com/collections/1129077-e69b96e6-4c0e-4cef-8201-ca2bc9372a0b?access_key=PMAT-01GNHEXG4R9CDM3J62F6R5Q4QQ
<nowiki>
 
<?php
 
  
$backend_url = 'http://backend.psurfer.net/export.php/api/BookingsDetailsRQ';
+
HMAC Generator Online Tool: https://www.freeformatter.com/hmac-generator.html
  
$login = 'nombreDeUsuario';
+
Cualquier inquietud, podés escribirnos a support@nemogroup.net
$password = 'password';     
 
$booking_id = 'PH_0XXXX';
 
 
 
$input_xml = '<BookingsDetailsRQ>
 
    <GeneralParameters>
 
        <PreferedLanguage LanguageCode="es-AR"/>
 
    </GeneralParameters>
 
    <Details>
 
        <Bookings ItemsCount="1">
 
            <Booking Sequence="1">
 
                <BookingReference ReferenceType="NMO.GLB.BRT.NAV">'.$booking_id.'</BookingReference>
 
            </Booking>
 
        </Bookings>
 
        <ProviderRQ>false</ProviderRQ>
 
    </Details>
 
</BookingsDetailsRQ>';
 
 
 
$ch = curl_init();
 
curl_setopt($ch, CURLOPT_URL, $backend_url);
 
curl_setopt($ch, CURLOPT_HEADER, 0);
 
curl_setopt($ch, CURLOPT_USERPWD, $login . ":" . $password);
 
curl_setopt($ch, CURLOPT_POSTFIELDS, $input_xml);
 
$result = curl_exec($ch);
 
curl_close($ch);
 
 
 
?>
 
</nowiki>
 
</pre>
 
 
 
 
 
== Ejemplo de acceso con user/password y archivo adjunto ==
 
 
 
'''El POST debe llevar adjunto un archivo XML con igual nombre al mensaje (BookingsQueryRQ.xml) cuyo contenido será el de la consulta que se quiere hacer al WebService.'''
 
 
 
'''Script Bash'''
 
<pre>
 
<nowiki>
 
#!/bin/sh
 
 
 
URL='http://backend.psurfer.net/export.php/api/BookingsQueryRQ'
 
 
 
# credenciales
 
USER=nombreDeUsuario
 
PASS=password
 
 
 
# path del archivo RQ
 
FILE='/ruta/al/archivo/BookingsQueryRQ.xml'
 
 
 
# POST
 
curl -u $USER:$PASS -X POST -F 'BookingsQueryRQ=@'$FILE $URL
 
</nowiki>
 
</pre>
 
 
 
'''PHP'''
 
<pre>
 
<nowiki>
 
<?php
 
 
 
$backend_url = 'http://backend.psurfer.net/export.php/api/BookingsQueryRQ';
 
$login = 'nombreDeUsuario';
 
$password = 'password';     
 
$file_path = '/ruta/al/archivo/BookingsQueryRQ.xml';
 
 
 
$cfile = new CURLFile($file_path,'text/xml','BookingsQueryRQ');
 
$post = array('BookingsQueryRQ' => $cfile);
 
 
 
$ch = curl_init();
 
curl_setopt($ch, CURLOPT_URL, $backend_url);
 
curl_setopt($ch, CURLOPT_POST, 1);
 
curl_setopt($ch, CURLOPT_HEADER, 1);
 
curl_setopt($ch, CURLOPT_USERPWD, $login . ":" . $password);
 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
 
$result = curl_exec($ch);
 
curl_close($ch);
 
 
 
?>
 
</nowiki>
 
</pre>
 
Para ver un ejemplo del archivo de consulta [[Price_Surfer_-_Export_contable#BookingsQueryRQ|BookingsQueryRQ]]
 
 
 
 
 
== Códigos de respuesta de la petición HTTP ==
 
 
 
La respuesta del WebService puede tomar diferentes códigos, a continuación se detalla el significado de cada una.
 
 
 
 
 
{| class="wikitable sortable"
 
|-
 
! Código !! Respuesta
 
|-
 
| 200 || OK
 
|-
 
| 400 || No valida el XML de la consulta
 
|-
 
| 401 || Fallo de autenticación
 
|-
 
| 404 || No se encontró el archivo XML de la consulta
 
|-
 
| 404 || No se encontraron agencias con los parámetros de búsqueda ingresados
 
|-
 
| 404 || No se encontraron reservas con los parámetros de búsqueda ingresados
 
|-
 
| 503 || Error interno
 
|}
 
 
 
== Productos Disponibles via Export Contable ==
 
 
 
* Actividades
 
* Circuitos
 
* Coches
 
* Hoteles
 
* Paquetes
 
* Traslados
 
* Vuelos
 
 
 
Por cualquier consulta recuerde dirigirse al mail de Soporte Técnico:
 
support@pricenavigator.net
 
 
 
= Mensajes soportados =
 
 
 
 
 
== Buscar reservas ('''BookingsQueryRQ''') ==
 
 
 
Búsqueda de reservas en un rango de fechas determinado. Retorna un listado de reservas correspondientes a las fechas ingresadas.
 
 
 
Recibe [[Price_Surfer_-_Export_contable#BookingsQueryRQ|BookingsQueryRQ]], retorna  [[Price_Surfer_-_Export_contable#BookingsQueryRS|BookingsQueryRS]].
 
 
 
La búsqueda incluye aéreos, hoteles y paquetes.
 
 
 
Se pueden ingresar como parámetros para la búsqueda:
 
 
 
* fecha de creación
 
* fecha de checkin
 
* identificador de la agencia
 
* nombre de pasajero
 
* nombre de cliente
 
* estado de la reserva
 
* estado del item de la reserva
 
* nivel de detalle de la respuesta
 
* fecha de último cambio de estado
 
 
 
== Solicitar información detallada de reservas ('''BookingsDetailsRQ''') ==
 
 
 
Consulta de información detallada de una reserva determinada especificando un identificador de la reserva.
 
 
 
 
 
Recibe [[Price_Surfer_-_Export_contable#BookingsDetailsRQ|BookingsDetailsRQ]], retorna [[Price_Surfer_-_Export_contable#BookingsDetailsRS|BookingsDetailsRS]].
 
 
 
 
 
== Cambiar estado del pago de reservas ('''BookingPaymentStatusRQ''') ==
 
 
 
Cambio de estado de pago de una reserva. Retorna el resultado de la transacción. Podrá indicar si el cambio fue realizado con éxito o en caso contrario notificar qué evento se produjo por el cual no pudo realizarse el cambio.
 
 
 
 
 
Recibe [[Price_Surfer_-_Export_contable#BookingPaymentStatusRQ|BookingPaymentStatusRQ]], retorna [[Price_Surfer_-_Export_contable#BookingPaymentStatusRS|BookingPaymentStatusRS]].
 
 
 
 
 
== Consultar info de agencia ('''AgencyQueryRQ''') ==
 
 
 
Consulta de información detallada de una agencia determinada especificando el ID de agencia o el nombre de la misma.
 
 
 
 
 
Recibe [[Price_Surfer_-_Export_contable#AgencyQueryRQ|AgencyQueryRQ]], retorna [[Price_Surfer_-_Export_contable#AgencyQueryRS|AgencyQueryRS]].
 
 
 
= Documentos XML =
 
 
 
 
 
== Mensaje BookingsQuery: Buscar reservas ==
 
 
 
La búsqueda de reservas permite obtener un listado de reservas con toda la información referida a cada reserva en particular.
 
 
 
El método BookingsQuery recibe un documento BookingsQueryRQ y retorna un documento  BookingsQueryRS.
 
 
 
 
 
=== BookingsQueryRQ ===
 
 
 
Ejemplo
 
 
 
<pre>
 
<nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<BookingsQueryRQ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='AEXCEV_Main.xsd'>
 
    <GeneralParameters>
 
        <PreferedLanguage LanguageCode="es-AR"/>
 
    </GeneralParameters>
 
    <Details>
 
        <Criterion>
 
            <AgencyId>12113</AgencyId>
 
            <CreationDate>
 
                <DateFrom>2013-11-03</DateFrom>
 
                <DateTo>2013-11-05</DateTo>
 
            </CreationDate>
 
            <CheckinDate>
 
                <DateFrom>2013-11-20</DateFrom>
 
                <DateTo>2013-11-22</DateTo>
 
            </CheckinDate>
 
            <GuestName>JUANA PEREZ</GuestName>
 
            <ClientName>juan perez</ClientName>
 
            <BookingState>
 
        <Code>NMO.GBL.BST.CNF</Code>
 
            </BookingState>
 
            <BookingItemState>
 
                <Code>NMO.HTL.BST.CNF</Code>               
 
            </BookingItemState>
 
            <DetailLevel>full</DetailLevel>
 
            <LastChangeDate>
 
        <DateFrom>2013-11-04T13:00:00</DateFrom>
 
        <DateTo>2013-12-06T14:00:00</DateTo>
 
            </LastChangeDate>
 
        </Criterion>
 
    </Details>
 
</BookingsQueryRQ>
 
</nowiki>
 
</pre>
 
 
 
==== Filtrar por más de un estado general de reserva ====
 
Se debe utilizar el nodo <BookingStates> en vez de <BookingState>, de la forma:
 
 
 
<pre>
 
<nowiki>
 
<BookingStates ItemsCount="2">
 
<BookingState>
 
<Code>NMO.HTL.BST.CNF</Code>
 
</BookingState>
 
<BookingState>
 
<Code>NMO.GBL.BST.CNF</Code>
 
</BookingState>
 
</BookingStates>
 
</nowiki>
 
</pre>
 
 
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| GeneralParameters || '''Si''' || Parámetros generales de configuración de la consulta.
 
|-
 
| PreferedLanguage || '''Si''' || Establece el lenguaje requerido para la respuesta.
 
Atributos:
 
LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Web Services.
 
|-
 
| Details || '''Si''' || Detalle del mensaje de búsqueda.
 
|-
 
| Criterion || '''Si''' || Indica los distintos parámetros de la búsqueda.
 
|-
 
| AgencyId || No || Indica el número de agencia para buscar.
 
|-
 
| CreationDate || No || Indica el rango de fechas de creación de la reserva.
 
|-
 
| DateFrom || No || Fecha de creación desde.
 
|-
 
| DateTo || No || Fecha de creación hasta.
 
|-
 
| CheckinDate || No || Indica el rango de las fechas de checkin de la reserva.
 
|-
 
| DateFrom || No || Fecha de checkin desde.
 
|-
 
| DateTo || No || Fecha de checkin hasta.
 
|-
 
| GuestName || No || Identifica el nombre del huésped para la habitación.
 
|-
 
| ClientName || No || Persona que realiza la reserva.
 
|-
 
| BookingState || No || Estado de la reserva.
 
|-
 
| Code || No || Código de estado de la reserva.
 
|-
 
| BookingItemState || No || Estado del item de reserva.
 
|-
 
| Code || No || Código de estado del item de la reserva.
 
|-
 
| DetailLevel || No || Indica el nivel de detalle de la respuesta. Opciones: '''basic''' y '''full'''.
 
|-
 
| LastChangeDate || No || Indica el rango de fecha y hora del último cambio de estado de la reserva.
 
|-
 
| DateFrom || No || Fecha del último cambio de estado de la reserva desde.
 
|-
 
| DateTo || No || Fecha del último cambio de estado de la reserva hasta.
 
|}
 
 
 
=== BookingsQueryRS ===
 
 
 
Ejemplo
 
 
 
<pre>
 
 
 
<?xml version="1.0" encoding="UTF-8"?>   
 
<BookingsQueryRS xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='AEXCEV_Main.xsd'>
 
    <Echo>
 
        <GeneralParameters>
 
            <PreferedLanguage LanguageCode="es-AR"/>
 
        </GeneralParameters>
 
        <Details>
 
            <Criterion>
 
                <AgencyId>12113</AgencyId>
 
                <CreationDate>
 
                    <DateFrom>2013-11-03</DateFrom>
 
                    <DateTo>2013-11-05</DateTo>
 
                </CreationDate>
 
                <CheckinDate>
 
                    <DateFrom>2013-11-20</DateFrom>
 
                    <DateTo>2013-11-22</DateTo>
 
                </CheckinDate>
 
                <GuestName>JUANA PEREZ</GuestName>
 
                <ClientName>juan perez</ClientName>
 
                <BookingState>
 
                    <Code>NMO.GBL.BST.CNF</Code>
 
                </BookingState>
 
                <BookingItemState>
 
                    <Code>NMO.HTL.BST.CNF</Code>               
 
                </BookingItemState>
 
                <DetailLevel>full</DetailLevel>
 
                <LastChangeDate>
 
                    <DateFrom>2013-11-04T13:00:00</DateFrom>
 
                    <DateTo>2013-12-06T14:00:00</DateTo>
 
                </LastChangeDate>
 
            </Criterion>
 
        </Details>
 
    </Echo>
 
    <Details>
 
        <Bookings ItemsCount="1">
 
            <Booking Sequence="1" ContractId="12221" AgencyId="12113">
 
                <BookingReferences ItemsCount="1">
 
                    <BookingReference ReferenceType="NMO.GBL.BRT.NAV">QN_0075J</BookingReference>
 
                </BookingReferences>                   
 
                <BookingState ItemsCount="1">
 
                    <BookingState>
 
                        <Code>NMO.GBL.BST.CNF</Code>
 
                        <Description>Confirmado</Description>                           
 
                        <StateDateTime>2013-12-05T13:42:51</StateDateTime>                   
 
                    </BookingState>
 
                </BookingState>
 
                <BookingCreationDate>2013-11-04</BookingCreationDate>
 
                <ClientName>juan perez</ClientName>           
 
                <Price PriceType="PVP">
 
                    <Amount CurrencyCode="USD">614.78</Amount>
 
                </Price>
 
                <Price PriceType="NMO.HTL.RPT.AFP">
 
                    <Amount CurrencyCode="USD">17.54</Amount>
 
                </Price>
 
                <Comments>Observaciones...</Comments>
 
                <BookingItems>     
 
                    <Hotels ItemsCount="1">
 
                        <Hotel Sequence="1">
 
                            <BookingReference ReferenceType="NMO.HTL.RPT.PRS.PS2">QN_0075J-1</BookingReference>
 
</pre>
 
Si el nodo DetailLevel es '''full''', se agrega lo siguiente al RS
 
<pre style="color:blue">
 
                            <BookingStates ItemsCount="1">                                               
 
                                <BookingState>
 
                                    <Code>NMO.HTL.BST.CNF</Code>
 
                                    <Description>Confirmado</Description>           
 
                                    <StateDateTime>2013-12-05T13:39:11</StateDateTime>
 
                                </BookingState>
 
                            </BookingStates>
 
                            <Prices ItemsCount="3">
 
                                <Price PriceType="NMO.GBL.RPT.GRS" Sequence="1">
 
                                    <Amount CurrencyCode="USD">614.78</Amount>
 
                                </Price>
 
                                <Price PriceType="NMO.HTL.RPT.NET" Sequence="2">
 
                                    <Amount CurrencyCode="USD">87.68</Amount>
 
                                </Price>
 
                                <Price PriceType="NMO.HTL.RPT.AFP" Sequence="3">
 
                                    <Amount CurrencyCode="USD">17.54</Amount>
 
                                </Price>
 
                            </Prices>
 
                            <Deadline>2013-11-18</Deadline>                                                                           
 
</pre>
 
<pre>
 
                        </Hotel>               
 
                    </Hotels>
 
                </BookingItems>   
 
            </Booking>
 
        </Bookings>
 
    </Details>
 
</BookingsQueryRS>
 
 
 
</pre>
 
 
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| GeneralParameters || '''Si''' || Parámetros generales de configuración de la consulta.
 
|-
 
| PreferedLanguage || '''Si''' || Establece el lenguaje requerido para la respuesta.
 
Atributos:
 
LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Web Services.
 
|-
 
| Details || '''Si''' || Detalle de la respuesta del mensaje de búsqueda.
 
|-
 
| Criterion || '''Si''' || Indica los distintos parámetros de la búsqueda.
 
|-
 
| AgencyId || No || Indica el número de agencia para buscar.
 
|-
 
| CreationDate || No || Indica el rango de las fechas de creación de la reserva.
 
|-
 
| DateFrom || No || Fecha de creación desde.
 
|-
 
| DateTo || No || Fecha de creación hasta.
 
|-
 
| CheckinDate || No || Indica el rango de las fechas de checkin de la reserva.
 
|-
 
| DateFrom || No || Fecha de checkin desde.
 
|-
 
| DateTo || No || Fecha de checkin hasta.
 
|-
 
| GuestName || No || Identifica el nombre del huésped para la habitación.
 
|-
 
| ClientName || No || Persona que realiza la reserva.
 
|-
 
| BookingState || No || Estado de la reserva.
 
|-
 
| Code || No || Código de estado de la reserva.
 
|-
 
| BookingItemState || No || Estado del item de reserva.
 
|-
 
| Code || No || Código de estado del item de la reserva.
 
|-
 
| DetailLevel || No || Indica el nivel de detalle de la respuesta. Opciones: '''basic''' y '''full'''.
 
|-
 
| LastChangeDate || No || Indica el rango de fecha y hora del último cambio de estado de la reserva.
 
|-
 
| DateFrom || No || Fecha del último cambio de estado de la reserva desde.
 
|-
 
| DateTo || No || Fecha del último cambio de estado de la reserva hasta.
 
|-
 
| Bookings || '''Si''' || Detalle de las reservas encontradas.
 
|-
 
| BookingReference || '''Si''' || Lista de referencias asociadas a la reserva.
 
|-
 
| BookingState || '''Si''' || Estado de la reserva.
 
|-
 
| Code || '''Si''' || Código de estado de la reserva.
 
|-
 
| Description || '''Si''' || Descripción del estado de la reserva.
 
|-
 
| StateDateTime || '''Si''' || Fecha del cambio de estado.
 
|-
 
| BookingCreationDate || '''Si''' || Fecha de creación de la reserva.
 
|-
 
| ClientName || '''Si''' || Nombre del cliente que realizó la reserva.
 
|-
 
| Price  || '''Si''' || Precio y tipo de precio de la reserva.
 
|-
 
| Amount || '''Si''' || Monto del precio de la reserva.
 
|-
 
| BookingItems || '''Si''' || Detalle de los items de la reserva.
 
|-
 
| Hotels || '''Si''' || Items de hoteles.
 
|-
 
| BookingReference || '''Si''' || Lista de referencias asociadas a la reserva.
 
|}
 
 
 
== Mensaje BookingsDetails: Solicitar información detallada de reservas ==
 
 
 
La solicitud de información detallada de reservas permite obtener detalles de los datos por cada reserva.
 
 
 
El método BookingsDetails recibe un documento BookingsDetailsRQ y retorna un documento  BookingsDetailsRS.
 
 
 
 
 
=== BookingsDetailsRQ ===
 
 
 
Ejemplo
 
<pre>
 
<nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<BookingsDetailsRQ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='AEXCEV_Main.xsd'>
 
    <GeneralParameters>
 
        <PreferedLanguage LanguageCode="es-AR"/>
 
    </GeneralParameters>
 
    <Details>
 
        <Bookings ItemsCount="1">
 
            <Booking Sequence="1">
 
                <BookingReference ReferenceType="NMO.GBL.BRT.NAV">QN_00787</BookingReference>
 
            </Booking> 
 
        </Bookings>
 
    </Details>
 
</BookingsDetailsRQ>
 
</nowiki>
 
</pre>
 
 
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !!Obligatorio !! Descripción
 
|-
 
| GeneralParameters || '''Si''' || Parámetros generales de configuración de la consulta.
 
|-
 
| PreferedLanguage || '''Si''' || Establece el lenguaje requerido para la respuesta.
 
Atributos:
 
LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Web Services.
 
|-
 
| Details || '''Si''' || Detalle del mensaje de pedido de reservas.
 
|-
 
| Bookings || '''Si''' || Reservas pedidas.
 
|-
 
| BookingReference || '''Si''' || Lista de referencias asociadas a la reserva.
 
|-
 
| ProviderRQ || '''No''' || Actualiza la información de la reserva desde el Proveedor.  Opciones: '''true''' y '''false'''.
 
|}
 
 
 
 
 
'''<pre style="color: #CC0000">ATENCIÓN: El uso del nodo <ProviderRQ> puede provocar lentitud en la respuesta y hasta errores por time out ya que requiere consultas a proveedores externos a NEMO.</pre>'''
 
 
 
=== BookingsDetailsRS ===
 
 
 
'''Ejemplo con item de hotel'''
 
<pre>
 
<nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<BookingsDetailsRS xsi:noNamespaceSchemaLocation="AEXCEV_Main.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
  <Echo>
 
      <GeneralParameters>
 
        <PreferedLanguage LanguageCode="es-AR"/>
 
      </GeneralParameters>
 
      <Details>
 
        <Bookings ItemsCount="1">
 
            <Booking Sequence="1">
 
              <BookingReference ReferenceType="NMO.GLB.BRT.NAV">QN_00JGZ</BookingReference>
 
            </Booking>
 
        </Bookings>
 
        <ProviderRQ>false</ProviderRQ>
 
      </Details>
 
  </Echo>
 
  <Details>
 
      <Bookings ItemsCount="1">
 
        <Booking Sequence="1" ContractId="3774">
 
            <BookingServiceId>QN_00JGZ</BookingServiceId>
 
            <BookingReferences ItemsCount="1">
 
              <BookingReference BookingServiceId="QN_00JGZ" ReferenceType="NMO.GBL.BRT.NAV" ReferenceName="Price Navigator">QN_00JGZ</BookingReference>
 
            </BookingReferences>
 
            <BookingCreationDate>2018-06-14T14:23:50</BookingCreationDate>
 
            <ClientName>NEMO NEMO</ClientName>
 
            <Agency AgencyId="3760">
 
              <Name>Hoteles</Name>
 
              <InvoiceCompanyName/>
 
              <CreationUser>ADMINISTRADOR NEMO PRODUCCION</CreationUser>
 
            </Agency>
 
            <User UserId="4135">
 
              <Name>hoteles nemo</Name>
 
              <Login>hoteles@nemogroup.net</Login>
 
            </User>
 
            <BookingState ItemsCount="1">
 
              <BookingState BookingServiceId="QN_00JGZ">
 
                  <Code>NMO.HTL.BST.CNF</Code>
 
                  <Description>Confirmado</Description>
 
                  <StateDateTime>2018-06-14T11:24:06</StateDateTime>
 
              </BookingState>
 
            </BookingState>
 
            <Payments ItemsCount="1">
 
              <Payment Sequence="1" Type="NMO.CTR.WKF.CAC" BookingServiceId="QN_00JGZ">
 
                  <Amount CurrencyCode="USD">238.87</Amount>
 
              </Payment>
 
            </Payments>
 
            <Comments/>
 
            <BookingItems>
 
              <Hotels ItemsCount="1">
 
                  <Hotel Sequence="1" HotelId="183881" HotelSupplierId="8|317528|0|" Name="Ramada Florida City" SupplierID="BTU" Supplier="BTU" BookingServiceItemId="QN_00JGZ-1">
 
                    <BookingReferences ItemsCount="3">
 
                        <BookingReference Sequence="1" BookingServiceItemId="QN_00JGZ-1" ReferenceType="NMO.HTL.RPT.MPH" ReferenceName="Price Surfer">QN_00JGZ-1</BookingReference>
 
                        <BookingReference Sequence="2" BookingServiceItemId="QN_00JGZ-1" ReferenceType="NMO.HTL.RPT.PRS.PS1" ReferenceName="Provider System1">118624</BookingReference>
 
                        <BookingReference Sequence="3" BookingServiceItemId="QN_00JGZ-1" ReferenceType="NMO.HTL.RPT.PRS.PS2" ReferenceName="Provider System2">253145</BookingReference>
 
                    </BookingReferences>
 
                    <DestinationDetails ItemsCount="2">
 
                        <Destination Sequence="1" DestinationType="NMO.HTL.DST.CTR" DestinationCode="174">Estados Unidos</Destination>
 
                        <Destination Sequence="2" DestinationType="NMO.HTL.DST.CTY" DestinationCode="4490">Miami</Destination>
 
                    </DestinationDetails>
 
                    <CheckIn>2018-07-20</CheckIn>
 
                    <CheckOut>2018-07-23</CheckOut>
 
                    <Deadline>2018-07-17</Deadline>
 
                    <Boards ItemsCount="1">
 
                        <Board Sequence="1" BoardCode="8">CONTINENTAL BREAKFAST</Board>
 
                    </Boards>
 
                    <Passengers ItemsCount="2">
 
                        <Passenger Sequence="1" PassengerCode="QN_00JGZ-1-1-1" AgeType="NMO.GBL.AGT.ADT" Identifier="341321" Nationality="Argentino" FirstName="NEMOS" LastName="NEMOSS">NEMOS NEMOSS</Passenger>
 
                        <Passenger Sequence="2" PassengerCode="QN_00JGZ-1-1-2" AgeType="NMO.GBL.AGT.ADT" Identifier="3213213" Nationality="Argentino" FirstName="NEMO" LastName="ASDSAD">NEMO ASDSAD</Passenger>
 
                    </Passengers>
 
                    <Rooms ItemsCount="1">
 
                        <Room Sequence="1" BookingServiceItemId="QN_00JGZ-1" RoomType="NMO.HTL.RMT.STA" RoomCount="1">DOUBLE 2 BEDS --Confirmed--</Room>
 
                    </Rooms>
 
                    <Description>Ramada Florida City checkin 2018-07-20 checkout 2018-07-23, 1 DOUBLE 2 BEDS --Confirmed--</Description>
 
                    <BookingStates ItemsCount="1">
 
                        <BookingState BookingServiceItemId="QN_00JGZ-1">
 
                          <Code>NMO.HTL.BST.CNF</Code>
 
                          <Description>Confirmado</Description>
 
                          <StateDateTime>2018-06-14T11:24:03</StateDateTime>
 
                        </BookingState>
 
                    </BookingStates>
 
                    <Prices ItemsCount="2">
 
                        <Price PriceType="NMO.GBL.RPT.GRS" PriceName="Bruto" Sequence="1" BookingServiceItemId="QN_00JGZ-1">
 
                          <Amount CurrencyCode="USD">238.87</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NET" PriceName="Neto" Sequence="2" BookingServiceItemId="QN_00JGZ-1">
 
                          <Amount CurrencyCode="USD">238.87</Amount>
 
                        </Price>
 
                    </Prices>
 
                    <Remarks>Cancelacion con cargo^..</Remarks>
 
                    <ChargeConditions>
 
                        <ChargeCondition Type="NMO.HTL.CHT.CAN" Name="Cancelación" DaysFrom="" DaysTo="" BeginD="2020-03-04" EndD="2037-12-31" NetBeforeCurrencyConversion="" Net="49" NettForMarketer="0" Gross="49" CurrencyId="USD" Remarks=""></ChargeCondition>
 
                    </ChargeConditions>
 
                  </Hotel>
 
              </Hotels>
 
            </BookingItems>
 
        </Booking>
 
      </Bookings>
 
  </Details>
 
</BookingsDetailsRS>
 
</nowiki>
 
</pre>
 
 
 
'''Ejemplo con items de hotel y aéreo'''
 
 
 
<pre>
 
<nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<BookingsDetailsRS xsi:noNamespaceSchemaLocation="AEXCEV_Main.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
  <Echo>
 
      <GeneralParameters>
 
        <PreferedLanguage LanguageCode="es-AR"/>
 
      </GeneralParameters>
 
      <Details>
 
        <Bookings ItemsCount="1">
 
            <Booking Sequence="1">
 
              <BookingReference ReferenceType="NMO.GLB.BRT.NAV">QN_008C5</BookingReference>
 
            </Booking>
 
        </Bookings>
 
        <ProviderRQ>false</ProviderRQ>
 
      </Details>
 
  </Echo>
 
  <Details>
 
      <Bookings ItemsCount="1">
 
        <Booking Sequence="1" ContractId="12221">
 
            <BookingServiceId>QN_008C5</BookingServiceId>
 
            <BookingReferences ItemsCount="1">
 
              <BookingReference BookingServiceId="QN_008C5" ReferenceType="NMO.GBL.BRT.NAV" ReferenceName="Price Navigator">QN_008C5</BookingReference>
 
            </BookingReferences>
 
            <BookingCreationDate>2014-08-12T18:23:34</BookingCreationDate>
 
            <ClientName>Prueba Nemo</ClientName>
 
            <Agency AgencyId="12113">
 
              <Name>Operador Veronica</Name>
 
              <InvoiceCompanyName>Razón Social</InvoiceCompanyName>
 
              <CreationUser>ADMINISTRADOR NEMO PRODUCCION</CreationUser>
 
            </Agency>
 
            <User UserId="16035">
 
              <Name>Veronica Vergara</Name>
 
              <Login>veronica.vergara</Login>
 
            </User>
 
            <BookingState ItemsCount="1">
 
              <BookingState BookingServiceId="QN_008C5">
 
                  <Code>NMO.HTL.BST.CNF</Code>
 
                  <Description>Confirmed</Description>
 
                  <StateDateTime>2015-02-05T14:30:38</StateDateTime>
 
              </BookingState>
 
            </BookingState>
 
            <Payments ItemsCount="1">
 
              <Payment Sequence="1" Type="NMO.CTR.WKF.CAC" BookingServiceId="QN_008C5">
 
                  <Amount CurrencyCode="USD">63.33</Amount>
 
              </Payment>
 
            </Payments>
 
            <Comments/>
 
            <BookingItems>
 
              <Flights ItemsCount="1">
 
                  <Flight Sequence="1" FlightType="NMO.FLT.FTT.OWY" FlightTypeName="Ida" SupplierID="GAL" Supplier="Galileo" BookingServiceItemId="QN_008C5-1">
 
                    <BookingReferences ItemsCount="1">
 
                        <BookingReference Sequence="1" ReferenceType="NMO.FLT.BRT.EXT" ReferenceName="Price Navigator for Flights" BookingServiceItemId="QN_008C5-1">QN_008C5-1</BookingReference>
 
                    </BookingReferences>
 
                    <Segment BookingServiceItemId="QN_008C5-1" Sequence="8086004" DepartureDateTime="2014-09-26T21:30:00" ArrivalDateTime="2014-09-28T13:45:00">
 
                        <Departure DestinationCode="8868" DestinationType="NMO.HTL.DST.AIR">Ministro Pistarini</Departure>
 
                        <Arrival DestinationCode="9795" DestinationType="NMO.HTL.DST.AIR">Aerop. Barajas</Arrival>
 
                    </Segment>
 
                    <ValidatingCarrierCode/>
 
                    <Passengers ItemsCount="1">
 
                        <Passenger Sequence="1" PassengerCode="QN_008C5-1-1" AgeType="NMO.GBL.AGT.ADT" FirstName="Prueba" LastName="Nemo">Prueba Nemo</Passenger>
 
                    </Passengers>
 
                    <Description>EZE MAD, 2014-09-26 2014-09-28, 1 Pax,</Description>
 
                    <BookingStates ItemsCount="1">
 
                        <BookingState BookingServiceItemId="QN_008C5-1">
 
                          <Code>NMO.FLT.BST.RQF</Code>
 
                          <Description>Fallo la solicitud</Description>
 
                          <StateDateTime>2014-08-12T18:23:35</StateDateTime>
 
                        </BookingState>
 
                    </BookingStates>
 
                    <Prices ItemsCount="7">
 
                        <Price PriceType="NMO.GBL.RPT.GRS" PriceName="Bruto" Sequence="1" BookingServiceItemId="QN_008C5-1">
 
                          <Amount CurrencyCode="USD">0</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.GBL.RPT.NBP" PriceName="Neto Proveedor" Sequence="2" BookingServiceItemId="QN_008C5-1">
 
                          <Amount CurrencyCode="USD">1137</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.GBL.RPT.TAX" PriceName="Tax" Sequence="3" BookingServiceItemId="QN_008C5-1">
 
                          <Amount CurrencyCode="USD">120.83</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.GBL.RPT.TBC" PriceName="Tasa Antes de la Conversión de Moneda" Sequence="4" BookingServiceItemId="QN_008C5-1">
 
                          <Amount CurrencyCode="USD">120.83</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NBC" PriceName="Neto antes de la conversión de moneda" Sequence="5" BookingServiceItemId="QN_008C5-1">
 
                          <Amount CurrencyCode="USD">1137</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NET" PriceName="Neto" Sequence="6" BookingServiceItemId="QN_008C5-1">
 
                          <Amount CurrencyCode="USD">1137</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NFM" PriceName="Neto para el Marketer" Sequence="7" BookingServiceItemId="QN_008C5-1">
 
                          <Amount CurrencyCode="USD">1137</Amount>
 
                        </Price>
 
                    </Prices>
 
                  </Flight>
 
              </Flights>
 
              <Hotels ItemsCount="1">
 
                  <Hotel Sequence="1" HotelId="57503" Name="Hostal Nuria" SupplierID="GTA" Supplier="Gullivers Travel Associated" BookingServiceItemId="QN_008C5-2">
 
                    <BookingReferences ItemsCount="5">
 
                        <BookingReference Sequence="1" BookingServiceItemId="QN_008C5-2" ReferenceType="NMO.HTL.RPT.MPH" ReferenceName="Price Surfer">QN_008C5-2</BookingReference>
 
                        <BookingReference Sequence="2" BookingServiceItemId="QN_008C5-2" ReferenceType="NMO.HTL.RPT.PRS.PS1" ReferenceName="Provider System1">REF_D_028_818-22433-143543551849034</BookingReference>
 
                        <BookingReference Sequence="3" BookingServiceItemId="QN_008C5-2" ReferenceType="NMO.HTL.RPT.PRS" ReferenceName="Provider System">674227</BookingReference>
 
                        <BookingReference Sequence="4" BookingServiceItemId="QN_008C5-2" ReferenceType="NMO.HTL.RPT.ICF" ReferenceName="Item Confirmation">LL7F420695</BookingReference>
 
                        <BookingReference Sequence="5" BookingServiceItemId="QN_008C5-2" ReferenceType="NMO.HTL.RPT.ICF" ReferenceName="Item Confirmation">LL7F420695 - 028/674227</BookingReference>
 
                    </BookingReferences>
 
                    <DestinationDetails ItemsCount="2">
 
                        <Destination Sequence="1" DestinationType="NMO.HTL.DST.CTR" DestinationCode="139">España</Destination>
 
                        <Destination Sequence="2" DestinationType="NMO.HTL.DST.CTY" DestinationCode="2262">Madrid</Destination>
 
                    </DestinationDetails>
 
                    <CheckIn>2014-08-26</CheckIn>
 
                    <CheckOut>2014-08-27</CheckOut>
 
                    <Deadline>2014-08-11</Deadline>
 
                    <Boards ItemsCount="1">
 
                        <Board Sequence="1" BoardCode="2">Breakfast included</Board>
 
                    </Boards>
 
                    <Passengers ItemsCount="1">
 
                        <Passenger Sequence="1" PassengerCode="QN_008C5-2-1-1" AgeType="NMO.GBL.AGT.ADT" Identifier="30123321" CountryOfResidence="Argentina" Nationality="Argentino" FirstName="" LastName="PRUEBA NEMO">PRUEBA NEMO</Passenger>
 
                    </Passengers>
 
                    <Rooms ItemsCount="1">
 
                        <Room Sequence="1" BookingServiceItemId="QN_008C5-2" RoomType="NMO.HTL.RMT.SGL" RoomCount="1">Single (Standard Single)</Room>
 
                    </Rooms>
 
                    <Description>Hostal Nuria checkin 2014-08-26 checkout 2014-08-27, 1 Single (Standard Single)</Description>
 
                    <BookingStates ItemsCount="1">
 
                        <BookingState BookingServiceItemId="QN_008C5-2">
 
                          <Code>NMO.HTL.BST.CNF</Code>
 
                          <Description>Confirmado</Description>
 
                          <StateDateTime>2014-08-12T18:23:52</StateDateTime>
 
                        </BookingState>
 
                    </BookingStates>
 
                    <Prices ItemsCount="3">
 
                        <Price PriceType="NMO.GBL.RPT.GRS" PriceName="Bruto" Sequence="1" BookingServiceItemId="QN_008C5-2">
 
                          <Amount CurrencyCode="USD">63.33</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NET" PriceName="Neto" Sequence="2" BookingServiceItemId="QN_008C5-2">
 
                          <Amount CurrencyCode="USD">47.50</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.AFP" PriceName="Resol/AFIP" Sequence="3" BookingServiceItemId="QN_008C5-2">
 
                          <Amount CurrencyCode="USD">9.50</Amount>
 
                        </Price>
 
                    </Prices>
 
                  </Hotel>
 
              </Hotels>
 
            </BookingItems>
 
        </Booking>
 
      </Bookings>
 
  </Details>
 
</BookingsDetailsRS>
 
</nowiki>
 
</pre>
 
 
 
'''Ejemplo con item de Paquetes'''
 
 
 
<pre>
 
<nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<BookingsDetailsRS xsi:noNamespaceSchemaLocation="AEXCEV_Main.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
  <Echo>
 
      <GeneralParameters>
 
        <PreferedLanguage LanguageCode="es-AR"/>
 
      </GeneralParameters>
 
      <Details>
 
        <Bookings ItemsCount="1">
 
            <Booking Sequence="1">
 
              <BookingReference ReferenceType="NMO.GLB.BRT.NAV">QN_007ZA</BookingReference>
 
            </Booking>
 
        </Bookings>
 
        <ProviderRQ>false</ProviderRQ>
 
      </Details>
 
  </Echo>
 
  <Details>
 
      <Bookings ItemsCount="1">
 
        <Booking Sequence="1" ContractId="12221">
 
            <BookingServiceId>QN_007ZA</BookingServiceId>
 
            <BookingReferences ItemsCount="1">
 
              <BookingReference BookingServiceId="QN_007ZA" ReferenceType="NMO.GBL.BRT.NAV" ReferenceName="Price Navigator">QN_007ZA</BookingReference>
 
            </BookingReferences>
 
            <BookingCreationDate>2014-04-08T17:33:40</BookingCreationDate>
 
            <ClientName>test tesq</ClientName>
 
            <Agency AgencyId="12113">
 
              <Name>Operador Veronica</Name>
 
              <InvoiceCompanyName>Razón Social</InvoiceCompanyName>
 
              <CreationUser>ADMINISTRADOR NEMO PRODUCCION</CreationUser>
 
            </Agency>
 
            <User UserId="16035">
 
              <Name>Veronica Vergara</Name>
 
              <Login>veronica.vergara</Login>
 
            </User>
 
            <BookingState ItemsCount="1">
 
              <BookingState BookingServiceId="QN_007ZA">
 
                  <Code>NMO.GBL.BST.CNF</Code>
 
                  <Description>Confirmado</Description>
 
                  <StateDateTime>2014-04-08T17:33:41</StateDateTime>
 
              </BookingState>
 
            </BookingState>
 
            <Payments ItemsCount="1">
 
              <Payment Sequence="1" Type="NMO.CTR.WKF.CAC" BookingServiceId="QN_007ZA">
 
                  <Amount CurrencyCode="USD">645.00</Amount>
 
              </Payment>
 
            </Payments>
 
            <Comments/>
 
            <BookingItems>
 
              <OwnProducts ItemsCount="1">
 
                  <OwnProduct Sequence="1" Supplier="Own Products" BookingServiceItemId="QN_007ZA-1-1">
 
                    <Name>BUENOS AIRES CLASICO VIA LAN  4D/3N</Name>
 
                    <Description>04 DIAS / 03 NOCHES
 
Para reservar hasta 31 Enero 2014
 
Para viajar de Enero a Febrero 2014
 
Programa incluye: Boleto Aereo+Hotel+City tours</Description>
 
                    <CheckIn>2014-04-27T00:00:00</CheckIn>
 
                    <CheckOut>2014-04-30T00:00:00</CheckOut>
 
                    <NightQuantity>3</NightQuantity>
 
                    <Products ItemsCount="3">
 
                        <Product Sequence="1">
 
                          <Name>Hotel UTHGRA de las Luces 3*</Name>
 
                          <BookingReferences ItemsCount="1">
 
                              <BookingReference Sequence="1" ReferenceType="NMO.GBL.BRT.NAV" ReferenceName="" BookingServiceItemId="QN_007ZA-1-1">QN_007ZA-1-1</BookingReference>
 
                          </BookingReferences>
 
                          <Description>Le ofrece el mas cálido servicio y la mejor atención en pleno Casco Histórico de la Ciudad de Buenos Aires. Con una inmejorable ubicación, muy próximo al distrito financiero y rodeado de los más importantes edificios públicos y atractivos de la ciudad: Plaza de Mayo, Casa Rosada, el Cabildo, Catedral Metropolitana, Puerto Madero y la Calle Florida.</Description>
 
                          <CategoryId>NMO.PCK.PCA.HTL</CategoryId>
 
                          <OpProviderId>GDGDGVT0D</OpProviderId>
 
                          <CheckIn>2014-04-27T00:00:00</CheckIn>
 
                          <CheckOut>2014-04-30T00:00:00</CheckOut>
 
                          <Origin>Buenos Aires - Argentina</Origin>
 
                          <Destination>Buenos Aires - Argentina</Destination>
 
                          <BookingStates ItemsCount="1">
 
                              <BookingState BookingServiceItemId="QN_007ZA-1-1">
 
                                <Code>NMO.PCK.BST.CNF</Code>
 
                                <Description>Confirmado</Description>
 
                                <StateDateTime>2014-04-08T17:33:40</StateDateTime>
 
                              </BookingState>
 
                          </BookingStates>
 
                          <Paxes ItemsCount="1">
 
                              <Pax Sequence="1" FirstName="garay" LastName="cacho" Age="1"></Pax>
 
                          </Paxes>
 
                          <Charges ItemsCount="0"></Charges>
 
                        </Product>
 
                        <Product Sequence="2">
 
                          <Name>LAN</Name>
 
                          <BookingReferences ItemsCount="1">
 
                              <BookingReference Sequence="1" ReferenceType="NMO.GBL.BRT.NAV" ReferenceName="" BookingServiceItemId="QN_007ZA-1-2">QN_007ZA-1-2</BookingReference>
 
                          </BookingReferences>
 
                          <Description>LAN Airlines, Ex-LAN Chile, es una aerolínea chilena que opera un grupo de compañías aéreas con sociedades en Chile, Argentina, Colombia, Ecuador y Perú. Ofrece destinos en Latinoamérica, Norteamérica, el Caribe, Oceanía y Europa</Description>
 
                          <CategoryId>NMO.PCK.PCA.AIR</CategoryId>
 
                          <OpProviderId>A2</OpProviderId>
 
                          <CheckIn>2014-04-27T00:00:00</CheckIn>
 
                          <CheckOut>2014-04-30T00:00:00</CheckOut>
 
                          <Origin>Lima - Perú</Origin>
 
                          <Destination>Buenos Aires - Argentina</Destination>
 
                          <BookingStates ItemsCount="1">
 
                              <BookingState BookingServiceItemId="QN_007ZA-1-2">
 
                                <Code>NMO.PCK.BST.CNF</Code>
 
                                <Description>Confirmado</Description>
 
                                <StateDateTime>2014-04-08T17:33:40</StateDateTime>
 
                              </BookingState>
 
                          </BookingStates>
 
                          <Paxes ItemsCount="1">
 
                              <Pax Sequence="1" FirstName="garay" LastName="cacho" Age="1"></Pax>
 
                          </Paxes>
 
                          <Charges ItemsCount="0"></Charges>
 
                        </Product>
 
                        <Product Sequence="3">
 
                          <Name>City Tours Buenos Aires</Name>
 
                          <BookingReferences ItemsCount="1">
 
                              <BookingReference Sequence="1" ReferenceType="NMO.GBL.BRT.NAV" ReferenceName="" BookingServiceItemId="QN_007ZA-1-3">QN_007ZA-1-3</BookingReference>
 
                          </BookingReferences>
 
                          <Description>City tours por la ciudad de Buenos Aires, duración 4 hrs</Description>
 
                          <CategoryId>NMO.PCK.PCA.CIR</CategoryId>
 
                          <OpProviderId>GDGDGVT0D</OpProviderId>
 
                          <CheckIn>2014-04-27T00:00:00</CheckIn>
 
                          <CheckOut>2014-04-30T00:00:00</CheckOut>
 
                          <Origin>Buenos Aires - Argentina</Origin>
 
                          <Destination>Buenos Aires - Argentina</Destination>
 
                          <BookingStates ItemsCount="1">
 
                              <BookingState BookingServiceItemId="QN_007ZA-1-3">
 
                                <Code>NMO.PCK.BST.CNF</Code>
 
                                <Description>Confirmado</Description>
 
                                <StateDateTime>2014-04-08T17:33:40</StateDateTime>
 
                              </BookingState>
 
                          </BookingStates>
 
                          <Paxes ItemsCount="1">
 
                              <Pax Sequence="1" FirstName="garay" LastName="cacho" Age="1"></Pax>
 
                          </Paxes>
 
                          <Charges ItemsCount="0"></Charges>
 
                        </Product>
 
                    </Products>
 
                  </OwnProduct>
 
              </OwnProducts>
 
            </BookingItems>
 
        </Booking>
 
      </Bookings>
 
  </Details>
 
</BookingsDetailsRS>
 
</nowiki>
 
</pre>
 
 
 
'''Ejemplo con item de Traslados'''
 
 
 
<pre>
 
<nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<BookingsDetailsRS xsi:noNamespaceSchemaLocation="AEXCEV_Main.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
  <Echo>
 
      <GeneralParameters>
 
        <PreferedLanguage LanguageCode="es-AR"/>
 
      </GeneralParameters>
 
      <Details>
 
        <Bookings ItemsCount="1">
 
            <Booking Sequence="1">
 
              <BookingReference ReferenceType="NMO.GLB.BRT.NAV">QN_0097C</BookingReference>
 
            </Booking>
 
        </Bookings>
 
        <ProviderRQ>false</ProviderRQ>
 
      </Details>
 
  </Echo>
 
  <Details>
 
      <Bookings ItemsCount="1">
 
        <Booking Sequence="1" ContractId="12221">
 
            <BookingServiceId>QN_0097C</BookingServiceId>
 
            <BookingReferences ItemsCount="1">
 
              <BookingReference BookingServiceId="QN_0097C" ReferenceType="NMO.GBL.BRT.NAV" ReferenceName="Price Navigator">QN_0097C</BookingReference>
 
            </BookingReferences>
 
            <BookingCreationDate>2015-06-01T17:23:41</BookingCreationDate>
 
            <ClientName>Nemo Nemo</ClientName>
 
            <Agency AgencyId="12113">
 
              <Name>Operador Veronica</Name>
 
              <InvoiceCompanyName>Razón Social</InvoiceCompanyName>
 
              <CreationUser>ADMINISTRADOR NEMO PRODUCCION</CreationUser>
 
            </Agency>
 
            <User UserId="16035">
 
              <Name>Veronica Vergara</Name>
 
              <Login>veronica.vergara</Login>
 
            </User>
 
            <BookingState ItemsCount="1">
 
              <BookingState BookingServiceId="QN_0097C">
 
                  <Code>NMO.GBL.BST.CNF</Code>
 
                  <Description>Confirmada</Description>
 
                  <StateDateTime>2015-07-10T09:02:19</StateDateTime>
 
              </BookingState>
 
            </BookingState>
 
            <Payments ItemsCount="1">
 
              <Payment Sequence="1" Type="NMO.CTR.WKF.CAC" BookingServiceId="QN_0097C">
 
                  <Amount CurrencyCode="USD">48.30</Amount>
 
              </Payment>
 
            </Payments>
 
            <Comments/>
 
            <BookingItems>
 
              <Transfers ItemsCount="1">
 
                  <Transfer Sequence="1" Origin="Aerop. Barajas" Destination="360 Hostel" SupplierID="HBT" Supplier="Hotel Beds Transfers" BookingServiceItemId="QN_0097C-1">
 
                    <BookingReferences ItemsCount="3">
 
                        <BookingReference Sequence="1" BookingServiceItemId="QN_0097C-1" ReferenceType="NMO.TRF.BRT.PCS" ReferenceName="">QN_0097C-1</BookingReference>
 
                        <BookingReference Sequence="2" BookingServiceItemId="QN_0097C-1" ReferenceType="NMO.TRF.BRT.TPS.PS1" ReferenceName="">5569862</BookingReference>
 
                        <BookingReference Sequence="3" BookingServiceItemId="QN_0097C-1" ReferenceType="NMO.TRF.BRT.TPS.PS2" ReferenceName="">102</BookingReference>
 
                    </BookingReferences>
 
                    <OriginDateTime>Información no proporcionada por el proveedor</OriginDateTime>
 
                    <DestinationDateTime>Información no proporcionada por el proveedor</DestinationDateTime>
 
                    <Deadline>10/07/15</Deadline>
 
                    <GoSegment BookingServiceItemId="QN_0097C-1">
 
                        <Description>Monovolumen Estándar Compartido</Description>
 
                        <PickUpInfo>
 
                          <TravelCompanyName>AA - American Airlines</TravelCompanyName>
 
                          <ArrivalTime>14/07/15 14:00 hs</ArrivalTime>
 
                          <FlightNumber>456</FlightNumber>
 
                          <Location>Aerop. Barajas</Location>
 
                          <City>Madrid</City>
 
                        </PickUpInfo>
 
                        <DropOffInfo>
 
                          <HotelAddress>CARMEN, 16</HotelAddress>
 
                          <Location>360 Hostel</Location>
 
                          <City>Madrid</City>
 
                        </DropOffInfo>
 
                        <PickupInformation>Cuando hayas recogido tu equipaje, dirígete al punto de información. En Terminal 1: punto de información del aeropuerto, en Terminal 2: punto de información cercano al Acuario o en Terminal 4: stand de "ONCE". Para más indicaciones, dirígete al mostrador de información más cercano.</PickupInformation>
 
                        <MaximumClientWaitingTime>60 minutos</MaximumClientWaitingTime>
 
                        <SupplierComment>Payable through HOTELBEDS SPAIN S.L.U. - VAT: B28916765, acting as agent for the service operating company, details of which can be provided upon request. Reference: 102/5569862-T1</SupplierComment>
 
                    </GoSegment>
 
                    <ReturnSegment BookingServiceItemId="QN_0097C-1">
 
                        <Description>Monovolumen Estándar Compartido</Description>
 
                        <PickUpInfo>
 
                          <HotelAddress>CARMEN, 16</HotelAddress>
 
                          <Location>360 Hostel</Location>
 
                          <City>Madrid</City>
 
                        </PickUpInfo>
 
                        <DropOffInfo>
 
                          <TravelCompanyName>AA - American Airlines</TravelCompanyName>
 
                          <DepartureTime>17/07/15 00:00 hs</DepartureTime>
 
                          <FlightNumber>756</FlightNumber>
 
                          <Location>Aerop. Barajas</Location>
 
                          <City>Madrid</City>
 
                        </DropOffInfo>
 
                        <PickupInformation>Te recogeremos en la recepción del hotel.</PickupInformation>
 
                        <MaximumClientWaitingTime>30 minutos</MaximumClientWaitingTime>
 
                        <SupplierComment>Payable through HOTELBEDS SPAIN S.L.U. - VAT: B28916765, acting as agent for the service operating company, details of which can be provided upon request. Reference: 102/5569862-T2</SupplierComment>
 
                    </ReturnSegment>
 
                    <Passengers ItemsCount="1">
 
                        <Passenger PassengerCode="QN_0097C-1-1" Sequence="1" Identifier="30123321" FirstName="Nemo" LastName="Nemo">Nemo Nemo</Passenger>
 
                    </Passengers>
 
                    <BookingStates ItemsCount="1">
 
                        <BookingState BookingServiceItemId="QN_0097C-1">
 
                          <Code>NMO.TRF.BST.CNF</Code>
 
                          <Description>Confirmada</Description>
 
                          <StateDateTime>2015-07-10T09:02:19</StateDateTime>
 
                        </BookingState>
 
                    </BookingStates>
 
                    <Prices ItemsCount="5">
 
                        <Price PriceType="NMO.GBL.RPT.GRS" PriceName="Bruto" Sequence="1" BookingServiceItemId="QN_0097C-1">
 
                          <Amount CurrencyCode="USD">48.30</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NET" PriceName="Neto" Sequence="2" BookingServiceItemId="QN_0097C-1">
 
                          <Amount CurrencyCode="USD">38.64</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NFM" PriceName="Neto para el Marketer" Sequence="3" BookingServiceItemId="QN_0097C-1">
 
                          <Amount CurrencyCode="USD">48.30</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NBC" PriceName="Neto antes de la conversión de moneda" Sequence="4" BookingServiceItemId="QN_0097C-1">
 
                          <Amount CurrencyCode="USD">38.64</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.AFP" PriceName="Resol/AFIP" Sequence="5" BookingServiceItemId="QN_0097C-1">
 
                          <Amount CurrencyCode="USD">9.66</Amount>
 
                        </Price>
 
                    </Prices>
 
                  </Transfer>
 
              </Transfers>
 
            </BookingItems>
 
        </Booking>
 
      </Bookings>
 
  </Details>
 
</BookingsDetailsRS>
 
</nowiki>
 
</pre>
 
 
 
'''El nodo PickUpInfo y DropOffInfo pueden venir con la siguiente información dependiendo del producto del traslado'''
 
 
 
Hotel:
 
<pre>
 
<nowiki>
 
<HotelAddress>[XXX]</HotelAddress>
 
<Location>[XXX]</Location>
 
<City>[XXX]</City>
 
</nowiki>
 
</pre>
 
 
 
Aeropuerto:
 
<pre>
 
<nowiki>
 
<TravelCompanyName>[XXX]</TravelCompanyName>
 
<ArrivalTime>[XXX]</ArrivalTime>
 
<DepartureTime>[XXX]</DepartureTime>
 
<FlightNumber>[XXX]</FlightNumber>
 
<Location>[XXX]</Location>
 
<City>[XXX]</City>
 
</nowiki>
 
</pre>
 
 
 
Estación de Trenes:
 
<pre>
 
<nowiki>
 
<TravelCompanyName>[XXX]</TravelCompanyName>
 
<ArrivalTime>[XXX]</ArrivalTime>
 
<DepartureTime>[XXX]</DepartureTime>
 
<TrainNumber>[XXX]</TrainNumber>
 
<Location>[XXX]</Location>
 
<City>[XXX]</City>
 
</nowiki>
 
</pre>
 
 
 
Puerto:
 
<pre>
 
<nowiki>
 
<TravelCompanyName>[XXX]</TravelCompanyName>
 
<ArrivalTime>[XXX]</ArrivalTime>
 
<DepartureTime>[XXX]</DepartureTime>
 
<VesselName>[XXX]</VesselName>
 
<Location>[XXX]</Location>
 
<City>[XXX]</City>
 
</nowiki>
 
</pre>
 
 
 
'''Ejemplo con item de Actividades'''
 
 
 
<pre>
 
<nowiki>
 
<BookingsDetailsRS xsi:noNamespaceSchemaLocation="AEXCEV_Main.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
  <Echo>
 
      <GeneralParameters>
 
        <PreferedLanguage LanguageCode="es-AR"/>
 
      </GeneralParameters>
 
      <Details>
 
        <Bookings ItemsCount="1">
 
            <Booking Sequence="1">
 
              <BookingReference ReferenceType="NMO.GLB.BRT.NAV">QN_009UI</BookingReference>
 
            </Booking>
 
        </Bookings>
 
        <ProviderRQ>false</ProviderRQ>
 
      </Details>
 
  </Echo>
 
  <Details>
 
      <Bookings ItemsCount="1">
 
        <Booking Sequence="1" ContractId="18694">
 
            <BookingServiceId>QN_009UI</BookingServiceId>
 
            <BookingReferences ItemsCount="1">
 
              <BookingReference BookingServiceId="QN_009UI" ReferenceType="NMO.GBL.BRT.NAV" ReferenceName="Price Navigator">QN_009UI</BookingReference>
 
            </BookingReferences>
 
            <BookingCreationDate>2015-12-17T14:41:07</BookingCreationDate>
 
            <ClientName>Estefania</ClientName>
 
            <Agency AgencyId="12338">
 
              <Name>Operador Estefania</Name>
 
              <InvoiceCompanyName>Razón Social</InvoiceCompanyName>
 
              <CreationUser>ADMINISTRADOR NEMO PRODUCCION</CreationUser>
 
            </Agency>
 
            <User UserId="16230">
 
              <Name>Estefania Tosoratti</Name>
 
              <Login>operador.estefania</Login>
 
            </User>
 
            <BookingState ItemsCount="1">
 
              <BookingState BookingServiceId="QN_009UI">
 
                  <Code>NMO.GBL.BST.CNF</Code>
 
                  <Description>Confirmado</Description>
 
                  <StateDateTime>2015-12-17T18:16:01</StateDateTime>
 
              </BookingState>
 
            </BookingState>
 
            <Payments ItemsCount="1">
 
              <Payment Sequence="1" Type="NMO.CTR.WKF.CAC" BookingServiceId="QN_009UI">
 
                  <Amount CurrencyCode="USD">1494.12</Amount>
 
              </Payment>
 
            </Payments>
 
            <Comments/>
 
            <BookingItems>             
 
              <Activities ItemsCount="1">
 
                  <Activity Sequence="1" Name="Miami Beach Bicycle Tour" SupplierID="TOA">
 
                    <BookingReferences ItemsCount="4">
 
                        <BookingReference Sequence="1" ReferenceType="NMO.ACT.BRT.PCS">QN_009UI-2</BookingReference>
 
                        <BookingReference Sequence="2" ReferenceType="NMO.ACT.BRT.APS">77002215</BookingReference>
 
                        <BookingReference Sequence="3" ReferenceType="NMO.ACT.BRT.APS.PS1">78277479</BookingReference>
 
                        <BookingReference Sequence="4" ReferenceType="NMO.ACT.BRT.APS.PS2">79249925</BookingReference>
 
                    </BookingReferences>
 
                    <Description>The best way to see Miami Beach!</Description>
 
                    <CheckinDate></CheckinDate>
 
                    <Location>Miami</Location>
 
                    <Passengers ItemsCount="1">
 
                        <Passenger Sequence="1">
 
                          <Name>Estefania</Name>
 
                        </Passenger>
 
                    </Passengers>
 
                    <BookingStates ItemsCount="1">
 
                        <BookingState>
 
                          <Code>NMO.ACT.BST.CNF</Code>
 
                          <Description>Confirmada</Description>
 
                          <StateDateTime>2015-12-17T14:41:12</StateDateTime>
 
                        </BookingState>
 
                    </BookingStates>
 
                    <Prices ItemsCount="4">
 
                        <Price PriceType="NMO.GBL.RPT.GRS" Sequence="1">
 
                          <Amount CurrencyCode="USD">135.56</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NBC" Sequence="2">
 
                          <Amount CurrencyCode="USD">35.56</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NET" Sequence="3">
 
                          <Amount CurrencyCode="USD">35.56</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NFM" Sequence="4">
 
                          <Amount CurrencyCode="USD">135.56</Amount>
 
                        </Price>
 
                    </Prices>
 
                  </Activity>
 
              </Activities>
 
            </BookingItems>
 
        </Booking>
 
      </Bookings>
 
  </Details>
 
</BookingsDetailsRS>
 
</nowiki>
 
</pre>
 
 
 
'''Ejemplo con item de Circuitos'''
 
 
 
<pre>
 
<nowiki>
 
<BookingsDetailsRS xsi:noNamespaceSchemaLocation="AEXCEV_Main.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
  <Echo>
 
      <GeneralParameters>
 
        <PreferedLanguage LanguageCode="es-AR"/>
 
      </GeneralParameters>
 
      <Details>
 
        <Bookings ItemsCount="1">
 
            <Booking Sequence="1">
 
              <BookingReference ReferenceType="NMO.GLB.BRT.NAV">QN_013SK</BookingReference>
 
            </Booking>
 
        </Bookings>
 
        <ProviderRQ>false</ProviderRQ>
 
      </Details>
 
  </Echo>
 
  <Details>
 
      <Bookings ItemsCount="1">
 
        <Booking Sequence="1" ContractId="18878">
 
            <BookingServiceId>QN_013SK</BookingServiceId>
 
            <BookingReferences ItemsCount="1">
 
              <BookingReference BookingServiceId="QN_013SK" ReferenceType="NMO.GBL.BRT.NAV" ReferenceName="Price Navigator">QN_013SK</BookingReference>
 
            </BookingReferences>
 
            <BookingCreationDate>2021-06-17T09:15:11</BookingCreationDate>
 
            <ClientName>rocio test</ClientName>
 
            <Email>rocicortese24@gmail.com</Email>
 
            <Agency AgencyId="12482">
 
              <Name>Operador White QA</Name>
 
              <InvoiceCompanyName/>
 
              <CreationUser>ADMINISTRADOR NEMO PRODUCCION</CreationUser>
 
            </Agency>
 
            <User UserId="16571">
 
              <Name>Usuario Operador White QA</Name>
 
              <Login>operador.whiteqa</Login>
 
            </User>
 
            <BookingState ItemsCount="1">
 
              <BookingState BookingServiceId="QN_013SK">
 
                  <Code>NMO.GBL.BST.CAN</Code>
 
                  <Description>Cancelada</Description>
 
                  <StateDateTime>2021-06-25T14:46:39</StateDateTime>
 
              </BookingState>
 
            </BookingState>
 
            <Payments ItemsCount="1">
 
              <Payment Sequence="1" Type="NMO.CTR.WKF.CAC" BookingServiceId="QN_013SK">
 
                  <Amount CurrencyCode="">0.00</Amount>
 
              </Payment>
 
            </Payments>
 
            <Comments/>
 
            <BookingItems>
 
              <Circuits ItemsCount="1">
 
                  <Circuit Sequence="1" Name="De Varsovia a Berlín +i" DurationDays="5" SupplierID="EUM" Supplier="Europamundo">
 
                    <BookingReferences ItemsCount="2">
 
                        <BookingReference Sequence="1" ReferenceType="NMO.CIR.BRT.PCS">QN_013SK-1</BookingReference>
 
                        <BookingReference Sequence="2" ReferenceType="NMO.CIR.BRT.APS">MI035104</BookingReference>
 
                    </BookingReferences>
 
                    <Origin City="VARSOVIA" Country="POLONIA"/>
 
                    <Description>De Varsovia a Berlín +i</Description>
 
                    <OriginalDepartureDate>2021-10-07</OriginalDepartureDate>
 
                    <RealDepartureDate>2021-10-07</RealDepartureDate>
 
                    <ArrivalDate>2021-10-11</ArrivalDate>
 
                    <Passengers ItemsCount="1">
 
                        <Passenger PassengerCode="QN_013SK-1-1" Sequence="1">
 
                          <FirstName>rocio</FirstName>
 
                          <LastName>test</LastName>
 
                          <Birthdate>06/10/1986</Birthdate>
 
                          <Age>35</Age>
 
                          <Dni>123456</Dni>
 
                          <Passport>123456</Passport>
 
                          <Nationality>Argentina</Nationality>
 
                          <isClub>0</isClub>
 
                        </Passenger>
 
                    </Passengers>
 
                    <Deadline>25/09/2021</Deadline>
 
                    <BookingStates ItemsCount="1">
 
                        <BookingState BookingServiceItemId="QN_013SK-1">
 
                          <Code>NMO.CIR.BST.CAN</Code>
 
                          <Description>Cancelada</Description>
 
                          <StateDateTime>2021-06-25T14:46:39</StateDateTime>
 
                        </BookingState>
 
                    </BookingStates>
 
                    <Prices ItemsCount="4">
 
                        <Price PriceType="NMO.GBL.RPT.GRS" Sequence="1" BookingServiceItemId="QN_013SK-1">
 
                          <Amount CurrencyCode="USD">0.00</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NBC" Sequence="2" BookingServiceItemId="QN_013SK-1">
 
                          <Amount CurrencyCode="EUR">0.00</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NET" Sequence="3" BookingServiceItemId="QN_013SK-1">
 
                          <Amount CurrencyCode="USD">0.00</Amount>
 
                        </Price>
 
                        <Price PriceType="NMO.HTL.RPT.NFM" Sequence="4" BookingServiceItemId="QN_013SK-1">
 
                          <Amount CurrencyCode="USD">0.00</Amount>
 
                        </Price>
 
                    </Prices>
 
                  </Circuit>
 
              </Circuits>
 
            </BookingItems>
 
        </Booking>
 
      </Bookings>
 
  </Details>
 
</BookingsDetailsRS>
 
</nowiki>
 
</pre>
 
 
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| GeneralParameters || '''Si''' || Parámetros generales de configuración de la consulta.
 
|-
 
| PreferedLanguage || '''Si''' || Establece el lenguaje requerido para la respuesta.
 
Atributos:
 
LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Web Services.
 
|-
 
| Details || '''Si''' || Detalle de la consulta de reservas.
 
|-
 
| Bookings || '''Si''' || Reservas de la consulta.
 
|-
 
| BookingReference || '''Si''' || Lista de referencias asociadas a la reserva que se consulta.
 
|-
 
| Details || '''Si''' || Detalle de la respuesta al mensaje de pedido de reservas.
 
|-
 
| Bookings  || '''Si''' || Detalle de las reservas encontradas.
 
|-
 
| BookingReference  || '''Si''' || Lista de referencias asociadas a la reserva.
 
|-
 
| BookingCreationDate || '''Si''' || Fecha de creación de la reserva.
 
|-
 
| ClientName || '''Si''' || Nombre del cliente de la reserva.
 
|-
 
| Agency  || '''Si''' || Agencia que realizó la reserva.
 
|-
 
| Name || '''Si''' || Nombre de la agencia que realizó la reserva.
 
|-
 
| CreationUser || '''Si''' || Usuario de la agencia que realizó la reserva.
 
|-
 
| User  || '''Si''' ||         Usuario que realizó la reserva.
 
|-
 
| Name || '''Si''' ||     Nombre del usuario que realizó la reserva.
 
|-
 
| Login || '''Si''' ||     Login del usuario que realizó la reserva.
 
|-
 
| BookingState  || '''Si''' || Estado de la reserva.
 
|-
 
| Code || '''Si''' || Código de estado de la reserva.
 
|-
 
| Description || '''Si''' || Descripción del estado de la reserva.
 
|-
 
| StateDateTime || '''Si''' || Fecha y hora del cambio de estado de la reserva.
 
|-
 
| Payments  || No || Pagos efectuados de la reserva.
 
|-
 
| Amount  || No || Monto del pago efectuado por la reserva.
 
|-
 
| BookingItems || '''Si''' || Detalle de los items de la reserva.
 
|-
 
| Hotels  || '''Si''' || Detalle de los items de hoteles de la reserva.
 
|-
 
| BookingReferences  || '''Si''' || Lista de referencias asociadas al item de la reserva.
 
|-
 
| DestinationDetails  || '''Si''' || Destino del item de la reserva.
 
|-
 
| Destination || '''Si''' || Detalle del destino del item de la reserva.
 
|-
 
| CheckIn || '''Si''' || Fecha de checkin del item de la reserva.
 
|-
 
| CheckOut || '''Si''' || Fecha de checkout del item de la reserva.
 
|-
 
| Boards  || '''Si''' || Regimenes del item de la reserva.
 
|-
 
| Passengers  || '''Si''' || Pasajeros del item de la reserva.
 
|-
 
| Rooms  || '''Si''' || Habitaciones del item de la reserva.
 
|-
 
| Description || '''Si''' || Descripción del item de la reserva.
 
|-
 
| BookingStates  || '''Si''' || Estados del item de la reserva.
 
|-
 
| Code || '''Si''' || Código de estado del item de la reserva.
 
|-
 
| Description || '''Si''' || Descripción del estado del item de la reserva.
 
|-
 
| StateDateTime || '''Si''' || Fecha y hora del cambio de estado del item de la reserva.
 
|-
 
| Prices  || '''Si''' || Precios del item de la reserva.
 
|-
 
| Amount  || '''Si''' || Monto del precio del item de la reserva.
 
|}
 
 
 
 
 
==== Resolución AFIP ====
 
 
 
El impuesto para destinos internacionales se muestra en la sección de precios con el código "NMO.HTL.RPT.AFP":
 
 
 
<pre>
 
<nowiki>
 
<Prices ItemsCount="3">
 
    <Price PriceType="NMO.GBL.RPT.GRS" Sequence="1">
 
        <Amount CurrencyCode="USD">384.10</Amount>
 
    </Price>
 
    <Price PriceType="NMO.HTL.RPT.NET" Sequence="2">
 
        <Amount CurrencyCode="USD">47.21</Amount>
 
    </Price>
 
    <Price PriceType="NMO.HTL.RPT.AFP" Sequence="3">
 
        <Amount CurrencyCode="USD">9.44</Amount>
 
    </Price>
 
</Prices>
 
</nowiki>
 
</pre>
 
 
 
 
 
==== Razones Sociales de proveedores ====
 
 
 
La información se encuentra en el nodo <ExtraInfos> de la siguiente manera:
 
 
 
<pre>
 
<nowiki>
 
<Hotel>
 
    ...
 
    <ExtraInfos>
 
        <ExtraInfo Type="Razón Social">Lunar Hotel Rooms II Corp</ExtraInfo>
 
    </ExtraInfos>
 
    ...
 
</Hotel>
 
</nowiki>
 
</pre>
 
 
 
 
 
==== Liquidación ====
 
 
 
La información se encuentra en el nodo <Settlements> de la siguiente manera:
 
 
 
<pre>
 
<nowiki>
 
<Hotel>
 
    ...
 
    <Settlements>
 
      <Settlement BookingServiceItemId="PH_12CU5-1" DisplayOrder="1" Description="Total Comisionable" CurrencyId="USD">85.0566</Settlement>
 
      <Settlement BookingServiceItemId="PH_12CU5-1" DisplayOrder="2" Description="- Comision (0%)" CurrencyId="USD">0</Settlement>
 
      <Settlement BookingServiceItemId="PH_12CU5-1" DisplayOrder="3" Description="+ IVA (0%)" CurrencyId="USD">0</Settlement>
 
      <Settlement BookingServiceItemId="PH_12CU5-1" DisplayOrder="4" Description="+ Gastos Administrativos (0%)" CurrencyId="USD">0</Settlement>
 
      <Settlement BookingServiceItemId="PH_12CU5-1" DisplayOrder="5" Description="Neto a depositar" CurrencyId="USD">85.0566</Settlement>
 
    </Settlements>
 
    ...
 
</Hotel>
 
</nowiki>
 
</pre>
 
 
 
 
 
==== Gastos de cancelación (Hoteles) ====
 
 
 
La información se encuentra en el nodo <ChargeConditions> de la siguiente manera:
 
 
 
<pre>
 
<nowiki>
 
<Hotel>
 
    ...
 
    <ChargeConditions>
 
      <ChargeCondition Type="NMO.HTL.CHT.CAN" Name="Cancelación" DaysFrom="" DaysTo="" BeginD="2020-03-04" EndD="2037-12-31"
 
                      NetBeforeCurrencyConversion="" Net="49" NettForMarketer="0" Gross="49" CurrencyId="USD" Remarks=""></ChargeCondition>
 
    </ChargeConditions>
 
    <ChargeCondition Type="NMO.HTL.CHT.NSW" Name="No Presentado" DaysFrom="0" DaysTo="0" BeginD="" EndD="" NetBeforeCurrencyConversion="" Net="543.62"
 
                      NettForMarketer="679.52" Gross="679.52" CurrencyId="USD" Remarks=""></ChargeCondition>
 
    ...
 
</Hotel>
 
</nowiki>
 
</pre>
 
 
 
'''<pre style="color: #CC0000">ATENCIÓN: La política de cancelación puede informarse de dos maneras:</pre>'''
 
 
 
 
 
==== Reserva Rebookeada ====
 
 
 
<pre>
 
<nowiki>
 
<Hotel>
 
    ...
 
    <BookingItemSubstitutions ItemsCount="1">
 
      <BookingItemSubstitution SustituteItemId="QN_00RLD-1" Status="NMO.RBK.SUB.FAI" Date="2019-09-25T07:59:43" OriginalRevenue="" CurrencyId="">
 
      </BookingItemSubstitution>
 
    </BookingItemSubstitutions>
 
    ...
 
</Hotel>
 
</nowiki>
 
</pre>
 
 
 
{| class="wikitable sortable"
 
|-
 
! Type !! Name
 
|-
 
| NMO.RBK.SUB.ACT || Activa
 
|-
 
| NMO.RBK.SUB.CAN || Cancelada
 
|-
 
| NMO.RBK.SUB.CNE || Error en la cancelacion
 
|-
 
| NMO.RBK.SUB.DCL || Declinado
 
|-
 
| NMO.RBK.SUB.DRP || Fallo Declinación
 
|-
 
| NMO.RBK.SUB.FAI || Fallo
 
|-
 
| NMO.RBK.SUB.RPN || Pendiente de Revisión
 
|-
 
| NMO.RBK.SUB.SUG || Sugerida
 
|-
 
| NMO.RBK.SUB.DIS || Desestimada
 
|-
 
|}
 
 
 
==== Referencia de reserva ingresada por cliente ====
 
Es posible asignar a la reserva una referencia arbitraria a través del Backoffice. Se ubica en el apartado “Nro Referencia:” de la pantalla de detalle (con un lápiz).
 
El valor se corresponderá a un <BookingReference> del servicio de detalle del tipo "NMO.HTL.RPT.CIN".
 
 
 
<pre>
 
<nowiki>
 
<BookingReferences ItemsCount="2">
 
  <BookingReference BookingServiceId="PH_1IOZK" ReferenceType="NMO.GBL.BRT.NAV" ReferenceName="Price Navigator">PH_1IOZK</BookingReference>
 
  <BookingReference BookingServiceId="PH_1IOZK" ReferenceType="NMO.HTL.RPT.CIN" ReferenceName="Client Invoicing Sys">test123</BookingReference>
 
</BookingReferences>
 
</nowiki>
 
</pre>
 
 
 
''Es necesario avisar a Nemo para habilitar esta característica''
 
 
 
===Mediante un rango basado en cantidad de días previos al checkin===
 
 
 
Rango de días antes de la fecha de Check-In en los que se aplica el Gasto de Cancelación. En este caso los atributos ''DaysFrom'' y ''DaysTo'' vendrán con sus respectivos valores de:
 
 
 
''DaysFrom:'' Cantidad de días antes del Check-In a partir de la cual la tarifa incurre en gastos. Sin presencia del atributo "DaysTo" implica que la tarifa es No Reembolsable al momento de la creación.
 
 
 
''DaysTo:'' Cantidad de días antes del Check-In hasta donde se cobra el Gasto de Cancelación. En caso de que no llegue éste atributo, se deberá tomar como Reserva No Reembolsable comprendiendo el período completo -> desde el DaysFrom hasta el día actual (día en que se está creando la reserva).
 
 
 
'''Ejemplo de dos tipos de Politicas de Gastos de Cancelacion:'''
 
 
 
a- Tarifa incurre en "Gastos de Cancelacion" hasta 1 dia previo al checkin. Si se cancela dentro de las 24h antes del checkin aplican "Gastos de Cancelacion" -> "DaysFrom= 0 y DaysTo=1"
 
 
 
b- Tarifa No Reembolsable -> "DaysFrom= 0"
 
 
 
===Mediante un rango en base a fechas===
 
 
 
El gasto de cancelación tiene un rango en base a fechas.
 
 
 
''BeginD:'' fecha a partir de la cual se cobra el Gasto de Cancelación
 
 
 
''EndD:'' fecha hasta la que se cobra el Gasto de Cancelación
 
 
 
 
 
{| class="wikitable sortable"
 
|-
 
! Type !! Name
 
|-
 
| NMO.HTL.CHT.CAN || Cancelación
 
|-
 
| NMO.HTL.CHT.NSW || No Presentado
 
|-
 
| NMO.HTL.CHT.AMD || Modificación
 
|-
 
|}
 
 
 
== Mensaje InventoryBookingsDetails: Solicitar información de Hotel Directo ==
 
 
 
Permite obtener detalle de la reserva de Hotel Directo.
 
 
 
El método InventoryBookingsDetails recibe un documento InventoryBookingsDetailsRQ y retorna un documento  InventoryBookingsDetailsRS.
 
 
 
 
 
=== InventoryBookingsDetailsRQ ===
 
 
 
Ejemplo
 
<pre>
 
<nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<InventoryBookingsDetailsRQ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='AEXCEV_Main.xsd'>
 
    <GeneralParameters>
 
        <PreferedLanguage LanguageCode="es-AR"/>
 
    </GeneralParameters>
 
    <Details>
 
        <Bookings ItemsCount="1">
 
            <Booking Sequence="1">
 
                <BookingReference ReferenceType="NMO.GBL.BRT.ALL">IQSU</BookingReference>
 
            </Booking> 
 
        </Bookings>
 
    </Details>
 
</InventoryBookingsDetailsRQ>
 
</nowiki>
 
</pre>
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !!Obligatorio !! Descripción
 
|-
 
| GeneralParameters || '''Si''' || Parámetros generales de configuración de la consulta.
 
|-
 
| PreferedLanguage || '''Si''' || Establece el lenguaje requerido para la respuesta.
 
Atributos:
 
LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Web Services.
 
|-
 
| Details || '''Si''' || Detalle del mensaje de pedido de reservas.
 
|-
 
| Bookings || '''Si''' || Reservas pedidas.
 
|-
 
| BookingReference || '''Si''' || Referencia de la reserva. Puede ser de PS (ReferenceType="NMO.GBL.BRT.NAV") o de Hotel Directo (ReferenceType="NMO.GBL.BRT.ALL").
 
|}
 
 
 
=== InventoryBookingsDetailsRS ===
 
 
 
Ejemplo
 
<pre>
 
<nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<InventoryBookingsDetailsRS xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='AEXCEV_Main.xsd'>       
 
    <Echo>
 
        <GeneralParameters>
 
            <PreferedLanguage LanguageCode="es-AR"/>
 
        </GeneralParameters>
 
        <Details>
 
            <Bookings ItemsCount="1">
 
                <Booking Sequence="1">
 
                    <BookingReference ReferenceType="NMO.GBL.BRT.ALL">WQSU</BookingReference>
 
                </Booking> 
 
            </Bookings>
 
        </Details>
 
    </Echo>
 
    <Details>
 
        <Bookings ItemsCount="1">
 
            <Booking Sequence="1" ContractId="18680">
 
                <BookingReferences ItemsCount="2">
 
                    <BookingReference ReferenceType="NMO.GBL.BRT.ALL">WQSU</BookingReference>
 
                    <BookingReference ReferenceType="NMO.GLB.BRT.NAV">QN_008PM-1</BookingReference>
 
                </BookingReferences>
 
                <BookingCreationDate>2015-01-22T18:18:29</BookingCreationDate>
 
                <Client>
 
                    <Name>Marcelo Aguero</Name>                       
 
                </Client>
 
                <Agency AgencyId="12324">
 
                    <Name>Allotment v3 agencia</Name>
 
                    <CreationUser>ADMINISTRADOR NEMO PRODUCCION</CreationUser>                   
 
                </Agency>
 
                <BookingState>
 
                    <Code>NMO.ALL.BST.PEN</Code>
 
                    <Description>Pendiente de Confirmación</Description>                                   
 
                </BookingState>
 
                <Hotel>
 
                    <HotelId>38</HotelId>
 
                    <Name>Kum King Kong</Name>
 
                    <Rating Value="1.5">1 Estrella y Media</Rating>
 
                    <Address>Av Mendoza 500 Rosario - Santa Fe - Argentina</Address>
 
                    <PostalCode>2000</PostalCode>
 
                    <City>Rosario</City>
 
                    <Provider Id="10">Mariana Martinez sa</Provider>
 
                </Hotel>
 
                <BookingItems ItemsCount="1">
 
                    <BookingItem>
 
                        <BookingItemId>WQSU-1</BookingItemId>
 
                        <RoomCategory>Estandar Simple</RoomCategory>
 
                        <Board>Desayuno Incluido</Board>
 
                        <BookingItemState>
 
                            <Code>NMO.ALL.BST.PEN</Code>
 
                            <Description>Pendiente de Confirmación</Description>                                   
 
                        </BookingItemState>
 
                        <CheckinD>2015-02-06T00:00:00</CheckinD>
 
                        <CheckoutD>2015-02-07T00:00:00</CheckoutD>
 
                        <NightsCount>1</NightsCount>
 
                        <AdultPassengers>1</AdultPassengers>
 
                        <Tariffs ItemsCount="1">
 
                            <Tariff>   
 
                                <Date>2015-02-06T00:00:00</Date>
 
                                <Contract>Ctr Kum King Kong</Contract>
 
                                <Cupo>Con cupo</Cupo>
 
                                <Price CurrencyId="USD">100</Price>
 
                            </Tariff>
 
                        </Tariffs>
 
                        <Taxes ItemsCount="1">                                           
 
                            <Tax>
 
                                <Value CurrencyId="USD">0</Value>
 
                            </Tax>                                           
 
                        </Taxes>
 
                    </BookingItem>
 
                </BookingItems>
 
            </Booking>
 
        </Bookings>
 
    </Details>
 
</InventoryBookingsDetailsRS>
 
</nowiki>
 
</pre>
 
 
 
== Mensaje BookingPaymentStatus: Cambiar estado del pago de reservas ==
 
 
 
El cambio de estado del pago de reservas permite obtener el resultado de la transacción. Si éste se realizó con éxito o, caso contrario, notificar porqué no pudo realizarse.
 
 
 
El método BookingPaymentStatus recibe un documento BookingPaymentStatusRQ y retorna un documento BookingPaymentStatusRS.
 
 
 
 
 
=== BookingPaymentStatusRQ ===
 
 
 
Ejemplo
 
<pre>
 
<nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<BookingPaymentStatusRQ  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='AEXCEV_Main.xsd'>
 
    <Details>
 
        <Bookings ItemsCount="1">
 
            <Booking Sequence="1">
 
                <BookingReference ReferenceType="NMO.GBL.BRT.NAV">DN_0000Y</BookingReference>
 
                <BookingItems>                   
 
                    <Hotels ItemsCount="1">
 
                        <Hotel Sequence="1">
 
                            <BookingReference ReferenceType="NMO.FLT.BRT.NAV">DN_0000Y-1</BookingReference>                           
 
                        </Hotel>
 
                    </Hotels>                               
 
                </BookingItems>
 
            </Booking>
 
        </Bookings>
 
    </Details>
 
</BookingPaymentStatusRQ>
 
</nowiki>
 
</pre>
 
 
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| Details || '''Si''' || Detalle del cambio de estado en las reservas.
 
|-
 
| Bookings || '''Si''' || Reservas con pedido de cambio de estado.
 
|-
 
| BookingReference || '''Si''' || Lista de referencias asociadas a la reserva.
 
|-
 
| Hotels || No || Detalle de los items de hoteles de la reserva.
 
|-
 
| BookingReference || '''Si''' || Lista de referencias asociadas al item de hotel de la reserva.
 
|-
 
| Flights || No || Detalle de los items de aéreos de la reserva.
 
|-
 
| BookingReference || '''Si''' || Lista de referencias asociadas al item de aéreos de la reserva.
 
|}
 
 
 
=== BookingPaymentStatusRS ===
 
 
 
Ejemplo
 
<pre>
 
<nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<BookingPaymentStatusRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="AEXCEV_Main.xsd">
 
    <Notifications ItemsCount="1">
 
        <Notification Sequence="1">
 
            <NotificationId>DN_0000Y-1</NotificationId>
 
            <NotificationType>Success</NotificationType>
 
            <NotificationMessage>Se informó el pago del item.</NotificationMessage>
 
        </Notification>
 
    </Notifications>
 
</BookingPaymentStatusRS>
 
</nowiki>
 
</pre>
 
 
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| Notifications || '''Si''' || Notificaciones del envío del mensaje.
 
|-
 
| NotificationId || '''Si''' || Id del item de la reserva que se envió el aviso de pago.
 
|-
 
| NotificationType || '''Si''' || Respuesta del envió del mensaje.
 
|-
 
| NotificationMessage || '''Si''' || Descripción de la respuesta al mensaje.
 
|}
 
 
 
== Mensaje AgencyQuery: Consultar info de agencia ==
 
 
 
La consulta de información de agencia permite obtener información detallada de una agencia en particular.
 
 
 
El método AgencyQuery recibe un documento AgencyQueryRQ y retorna un documento AgencyQueryRS.
 
 
 
 
 
=== AgencyQueryRQ ===
 
 
 
Ejemplo
 
<pre>
 
<nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<AgencyQueryRQ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='AEXCEV_Main.xsd'>
 
    <Details>
 
        <Agencies ItemsCount="1">
 
            <Agency Sequence="1" AgencyId="2">Operador Mariana Dos</Agency>
 
        </Agencies>
 
    </Details>
 
</AgencyQueryRQ>
 
</nowiki>
 
</pre>
 
 
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| Details || '''Si''' || Detalle de la consulta de agencias.
 
|-
 
| Agencies || '''Si'''  || Agencias de las que se quiere obtener información.
 
|}
 
 
 
=== AgencyQueryRS ===
 
 
 
Ejemplo
 
<pre>
 
<nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<AgencyQueryRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="AEXCEV_Main.xsd">
 
    <Echo>
 
        <Details>
 
            <Agencies ItemsCount="1">
 
                <Agency Sequence="1">Operador Mariana Dos</Agency>
 
            </Agencies>
 
        </Details>
 
    </Echo>
 
    <Details>
 
        <Agencies ItemsCount="1">
 
            <Agency AgencyId="11539">
 
                <Name>Operador Mariana Dos</Name>
 
                <InvoiceCompanyName>Razón Social</InvoiceCompanyName>
 
                <CreationUser>ADMINISTRADOR NEMO PRODUCCION</CreationUser>
 
                <Identifiers ItemsCount="1">
 
                    <Identifier Sequence="1" Type="NMO.PRS.IDT.CUI">0413641121</Identifier>
 
                </Identifiers>
 
                <Emails ItemsCount="2">
 
                    <Email Sequence="1" Value="nemo" />
 
                    <Email Sequence="2" Value="cesar.palmieri@nemogroup.net" />
 
                </Emails>
 
                <Addresses ItemsCount="1">
 
                    <Address Sequence="1">sarmiento</Address>
 
                </Addresses>
 
                <TelephoneNumbers ItemsCount="1">
 
                    <Telephone Sequence="1" TelephoneType="Teléfono Principal">4475869</Telephone>
 
                </TelephoneNumbers>
 
                <Destinations Sequence="1" DestinationType="NMO.HTL.DST.CTY" DestinationCode="5735">Rosario</Destinations>
 
                <PostalCode CountryCode="5735" />
 
            </Agency>
 
        </Agencies>
 
    </Details>
 
</AgencyQueryRS>
 
</nowiki>
 
</pre>
 
 
 
{| class="wikitable sortable"
 
|-
 
! Parámetro !! Obligatorio !! Descripción
 
|-
 
| Details || '''Si''' || Detalle de la respuesta a la consulta de agencias.
 
|-
 
| Agencies || '''Si''' || Agencias de las que se obtiene información.
 
|-
 
| Name || '''Si''' || Nombre de la agencia.
 
|-
 
| CreationUser || '''Si''' || Usuario que la creó.
 
|-
 
| Emails || '''Si''' || Emails de la agencia.
 
|-
 
| Addresses || '''Si''' || Direcciones de la agencia.
 
|-
 
| TelephoneNumbers || '''Si''' || Números telefónicos de la agencia.
 
|-
 
| Destinations || '''Si''' || Ciudad de la agencia.
 
|-
 
| PostalCode || '''Si''' || Código postal de la agencia.
 
|}
 
 
 
= Pruebas de implementación =
 
 
 
Para realizar pruebas pueden usar un plugin de Chrome que permite hacer Request con archivos atachados. El plugin se puede descargar desde:
 
 
 
https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo
 
 
 
Asimismo, pueden utilizar cualquier script que permita realizar un POST con headers y contenidos modificados.
 
 
 
Ejemplos de pasos para hacer una prueba:
 
 
 
 
 
'''* Como hacer una consulta de reservas:'''
 
 
 
* ''URL'': http://backend.psurfer.net/export.php/api/BookingsQueryRQ
 
 
 
* ''Method'': POST
 
 
 
* ''Headers'': Campo "Authorization" con user y password.
 
 
 
* ''Data (File)'':
 
 
 
File field name: BookingsQueryRQ
 
 
 
Archivo: (ver ejemplo de [[Price_Surfer_-_Export_contable#BookingsQueryRQ|BookingsQueryRQ]])
 
 
 
 
 
'''* Para los otros mensajes el procedimiento es el mismo, hay que adjuntar el archivo XML y setear el nombre (file field name) al mensaje que se esté llamando, estos son:'''
 
 
 
* Detalle de reserva:
 
http://backend.psurfer.net/export.php/api/BookingsDetailsRQ
 
 
 
* Aviso de pago de la reserva:
 
http://backend.psurfer.net/export.php/api/BookingPaymentStatusRQ
 
 
 
* Búsqueda de Agencia:
 
http://backend.psurfer.net/export.php/api/AgencyQueryRQ
 
 
 
 
 
'''Otra opción para probar el servicio es el software SoapUI (www.soapui.org). Adjuntamos un proyecto con varias pruebas en donde deberá indicar sus credenciales (usuario y password) en la solapa "custom properties":''' [https://wiki.psurfer.net/images/8/85/ExportContableProd.zip ExportContableProd.zip]
 
 
 
= Códigos y Descripciones =
 
 
 
== Precio ==
 
 
 
{| class="wikitable sortable"
 
|-
 
! Código !! Descripción
 
|-
 
| NMO.GBL.RPT.GRS || Bruto
 
|-
 
| NMO.GBL.RPT.NBP || Neto Proveedor
 
|-
 
| NMO.GBL.RPT.TAX || Tax
 
|-
 
| NMO.GBL.RPT.TBC || Tasa Antes de la Conversión de Moneda
 
|-
 
| NMO.HTL.RPT.ACH || Cargo adicional
 
|-
 
| NMO.HTL.RPT.CAN || Cancellation charges
 
|-
 
| NMO.HTL.RPT.CNB || Neto antes de la conversión, para cargos de cancelación
 
|-
 
| NMO.HTL.RPT.CNF || Neto para el marketer para cargos de cancelacion
 
|-
 
| NMO.HTL.RPT.CNG || Bruto para cargos de cancelacion
 
|- 
 
| NMO.HTL.RPT.CNN || Neto para cargos de cancelacion
 
|- 
 
| NMO.HTL.RPT.COM || Comision
 
|- 
 
| NMO.HTL.RPT.FEE || Honorario
 
|- 
 
| NMO.HTL.RPT.GWD || Bruto Sin Descuento
 
|- 
 
| NMO.HTL.RPT.IOD || Descuento ofrecido incluido
 
|- 
 
| NMO.HTL.RPT.MKP || Margen de beneficio
 
|-
 
| NMO.HTL.RPT.NBC || Neto antes de la conversión de moneda
 
|-
 
| NMO.HTL.RPT.NET || Neto
 
|-
 
| NMO.HTL.RPT.NFM || Neto para el Marketer
 
|-
 
| NMO.HTL.RPT.SFE || Honorario de Servicio
 
|-
 
| NMO.HTL.RPT.AFP || Percepción AFIP para destinos internacionales
 
|-
 
|}
 
 
 
== Código de Referencia ==
 
 
 
{| class="wikitable sortable"
 
|-
 
! Código !! Descripción
 
|-
 
|NMO.FLT.BRT.EXT ||    Price Surfer Vuelos
 
|-
 
|NMO.FLT.BRT.EXT.FLT ||    Referencia Externa
 
|-
 
|NMO.FLT.BRT.PRS ||    Proveedor de Aerolíneas
 
|-
 
|NMO.FLT.BRT.PRS.PS1 ||    Sistema Proveedor de Aerolineas 1
 
|-
 
|NMO.FLT.BRT.PRS.PS2 ||    Sistema Proveedor de Aerolineas 2
 
|-
 
|NMO.FLT.BRT.PRS.PS3 ||    Sistema Proveedor de Aerolineas 3
 
|-
 
|NMO.FLT.BRT.PRS.PS4 ||    Sistema Proveedor de Aerolineas 4
 
|-
 
|NMO.FLT.BRT.PRS.PS5 ||    Sistema Proveedor de Aerolineas 5
 
|-
 
|NMO.FLT.BRT.PRS.PS6 ||    Sistema Proveedor de Aerolineas 6
 
|-
 
|NMO.FLT.BRT.PRS.PS7 ||    Sistema Proveedor de Aerolineas 7
 
|-
 
|NMO.FLT.BRT.PRS.PS8 ||    Sistema Proveedor de Aerolineas 8
 
|-
 
|NMO.FLT.BRT.PRS.PS9 ||    Sistema Proveedor de Aerolineas 9
 
|-
 
|NMO.GBL.BRT.NAV ||    Price Surfer
 
|-
 
|NMO.HTL.RPT.AIS ||    Sistema de Facturación de agente
 
|-
 
|NMO.HTL.RPT.CIN ||    Sistema de Facturación de cliente
 
|-
 
|NMO.HTL.RPT.ICF ||    Confirmación de ítem
 
|-
 
|NMO.HTL.RPT.ISO ||    Iso
 
|-
 
|NMO.HTL.RPT.MPH ||    Price Surfer Hoteles
 
|-
 
|NMO.HTL.RPT.PRS ||    Sistema Proveedor
 
|-
 
|NMO.HTL.RPT.PRS.PS1 ||    Sistema Proveedor
 
|-
 
|NMO.HTL.RPT.PRS.PS2 ||    Sistema Proveedor
 
|-
 
|NMO.HTL.RPT.PSI ||    Sistema Facturación
 
|-
 
|}
 
 
 
== Estado de reserva ==
 
 
 
==== Reserva global ====
 
{| class="wikitable sortable"
 
|-
 
! Código !! Descripción
 
|-
 
|NMO.GBL.BST.CAN, NMO.HTL.BST.CAN ||    Cancelada
 
|-
 
|NMO.GBL.BST.CNE ||    Fallo en Cancelación
 
|-
 
|NMO.GBL.BST.CNF, NMO.HTL.BST.CNF ||    Confirmada
 
|-
 
|NMO.GBL.BST.CNP ||    Pendiente de cancelación
 
|-
 
|NMO.GBL.BST.INI ||    Inicial
 
|-
 
|NMO.GBL.BST.MIX ||    Mixto
 
|-
 
|NMO.GBL.BST.PEN ||    Pendiente de confirmación
 
|-
 
|NMO.GBL.BST.RJT ||    Confirmación Rechazada
 
|-
 
|NMO.GBL.BST.RQF ||    Fallo en confirmación
 
|-
 
|NMO.GBL.BST.COD ||    Denegada
 
|-
 
|}
 
 
 
==== Item hotel ====
 
{| class="wikitable sortable"
 
|-
 
! Código !! Descripción
 
|-
 
|NMO.HTL.BST.CAC ||    Cancelada con cargos adicionales
 
|-
 
|NMO.HTL.BST.CAN ||    Cancelado
 
|-
 
|NMO.HTL.BST.CNE ||    Error en la cancelación - Contacte Soporte
 
|-
 
|NMO.HTL.BST.CNF ||    Confirmado
 
|-
 
|NMO.HTL.BST.CNP ||    Pendiente de cancelacion
 
|-
 
|NMO.HTL.BST.CWE ||    Confirmada con errores
 
|-
 
|NMO.HTL.BST.DEL ||    Presupuesto eliminado
 
|-
 
|NMO.HTL.BST.DLL ||    Expiración levantada
 
|-
 
|NMO.HTL.BST.EFT ||    Listo para facturar
 
|-
 
|NMO.HTL.BST.EIS ||    Error en envio a Sistema de Facturacion
 
|-
 
|NMO.HTL.BST.FAT ||    Facturada
 
|-
 
|NMO.HTL.BST.MIX ||    Mixta
 
|-
 
|NMO.HTL.BST.NEF ||    No está listo para facturar
 
|-
 
|NMO.HTL.BST.NEW ||    Presupuesto nuevo
 
|-
 
|NMO.HTL.BST.NIS ||    No enviado a Sistema de Facturacion
 
|-
 
|NMO.HTL.BST.PCS ||    Pendiente
 
|-
 
|NMO.HTL.BST.PEN ||    Pendiente de confirmacion
 
|-
 
|NMO.HTL.BST.PRE ||    Pago realizado
 
|-
 
|NMO.HTL.BST.RFT ||    Error en facturacion
 
|-
 
|NMO.HTL.BST.RJT ||    Rechazado
 
|-
 
|NMO.HTL.BST.RQF ||    Fallo la solicitud
 
|-
 
|NMO.HTL.BST.SIS ||    Enviado a Sistema de Facturacion
 
|-
 
|NMO.HTL.BST.COD ||    Denegado
 
|-
 
|}
 
 
 
==== Item vuelo ====
 
{| class="wikitable sortable"
 
|-
 
! Código !! Descripción
 
|-
 
|NMO.FLT.BST.CAN ||    Cancelada
 
|-
 
|NMO.FLT.BST.CNE ||    Error en la cancelación - Contacte Soporte
 
|-
 
|NMO.FLT.BST.CNF ||    Confirmada
 
|-
 
|NMO.FLT.BST.CNP ||    Pendiente de cancelación
 
|-
 
|NMO.FLT.BST.PAI ||    Reserva de Aéreo Pagada
 
|-
 
|NMO.FLT.BST.PEN ||    Pendiente de confirmación
 
|-
 
|NMO.FLT.BST.RJT ||    Rechazado
 
|-
 
|NMO.FLT.BST.RQF ||    Fallo la solicitud
 
|-
 
|NMO.FLT.TKS.AVL ||    Disponible para emisión
 
|-
 
|NMO.FLT.TKS.MAN ||    Disponible para Emisión Manual
 
|-
 
|}
 
 
 
==== Item Paquete ====
 
{| class="wikitable sortable"
 
|-
 
! Código !! Descripción
 
|-
 
|NMO.PCK.BST.CAN ||    Cancelado
 
|-
 
|NMO.PCK.BST.CNF ||    Confirmado
 
|-
 
|NMO.PCK.BST.CNP ||    Pendiente de cancelación
 
|-
 
|NMO.PCK.BST.PEN ||    Pendiente de confirmación
 
|-
 
|NMO.PCK.OWP.CAN ||    Cancelado
 
|-
 
|NMO.PCK.OWP.CNF ||    Confirmado
 
|-
 
|NMO.PCK.OWP.CNP ||    Pendente de Cancelación
 
|-
 
|NMO.PCK.OWP.MIX ||    Mixta
 
|-
 
|NMO.PCK.OWP.PEN ||    Pendiente de Confirmación
 
|-
 
|NMO.PCK.OWP.RQF ||    Fallo la solicitud
 
|-
 
|}
 
 
 
 
 
 
 
== OTROS TIPOS DE DATOS ==
 
 
 
==== AgeType ====
 
{| class="wikitable sortable"
 
|-
 
! Código !! Descripción
 
|-
 
|NMO.GBL.AGT.ADT || Adulto
 
|-
 
|NMO.GBL.AGT.CHD || Child
 
|-
 
|NMO.GBL.AGT.INF || Infante
 
|-
 
|}
 
 
 
==== TypePayments ====
 
{| class="wikitable sortable"
 
|-
 
! Código !! Descripción
 
|-
 
|NMO.CTR.WKF.CAC || Cuenta corriente
 
|-
 
|NMO.CTR.WKF.PRE || Reserva pago previo emisión bono
 
|-
 
|}
 
 
 
==== FlightType ====
 
{| class="wikitable sortable"
 
|-
 
! Código !! Descripción
 
|-
 
|NMO.FLT.FLT.GOF || Go
 
|-
 
|NMO.FLT.FLT.RTF || Return
 
|-
 
|}
 
 
 
==== ProductCategory ====
 
{| class="wikitable sortable"
 
|-
 
! Código !! Descripción
 
|-
 
|NMO.PCK.PCA.ADJ || Ajuste
 
|-
 
|NMO.PCK.PCA.AIR || Aereo
 
|-
 
|NMO.PCK.PCA.CIR || Circuito
 
|-
 
|NMO.PCK.PCA.CRU || Crucero
 
|-
 
|NMO.PCK.PCA.HOU || Houses
 
|-
 
|NMO.PCK.PCA.HTL || Hotel
 
|-
 
|NMO.PCK.PCA.INS || Insurance
 
|-
 
|NMO.PCK.PCA.QUO || QuoteHotel
 
|-
 
|NMO.PCK.PCA.SHW || Show
 
|-
 
|NMO.PCK.PCA.TOU || Tour
 
|-
 
|NMO.PCK.PCA.TRA || Traslado
 
|-
 
|NMO.PCK.PCA.TRB || TRB
 
|-
 
|NMO.PCK.PCA.TRC || TRC
 
|-
 
|NMO.PCK.PCA.VEH || Vehiculo
 
|-
 
|}
 
 
 
= Mensaje especial para IST =
 
 
 
Permite obtener información específica de una agencia en particular.
 
[[Mensaje especial para IST]]
 
 
 
= Sistema PUSH =
 
 
 
Describe el sistema PUSH para envío de reservas.
 
[[Sistema PUSH]]
 
 
 
= Integración NEMO-YCIX =
 
 
 
Describe el envío de reservas al sistema YCIX.
 
[[Sistema YCIX]]
 

Revisión actual del 15:12 8 mar 2023

Autologin

Las plataformas Price Surfer y Price Navigator ofrecen a nuestros clientes la posibilidad de integrar nuestros productos a sus portales a través de una funcionalidad denominada “autologin”.

Este mecanismo es empleado por varios clientes para manejar la operatoria (o al menos parte de ella) directamente en sus portales embebiendo algunas secciones de nuestras plataformas.

A partir del 31 de Marzo del 2023, ampliando nuestras políticas de ciberseguridad, se introducen 2 cambios principales:

La API espera ahora un token de usuario en lugar de usuario/contraseña. El token de usuario es un código que identifica unívocamente a un usuario y que se empleará para identificar al mismo Validación de la integridad de la petición empleando el protocolo HMAC (hash-based message authentication code). El protocolo lo empleamos a su vez para asignar validez temporal a una petición.


Autenticación por token de usuario

El cliente de autologin deberá almacenar en su sistema el token identificatorio para cada usuario, de manera análoga a como hoy almacena usuario/contraseña y deberá emplear dicho dato para autenticarse contra nuestra plataforma.

Siguiendo el ejemplo de la sección anterior, la firma quedaría de la siguiente manera:

http://{cliente-base-url}.app.pricenavigator.net/security/autologin.html?apiKey={userToken}

Para facilitar la implementación de este cambio, se incorporó en la exportación de usuarios de nuestro backoffice administrativo este dato.

Validación de petición a través de HMAC

El protocolo HMAC(hash-based message authentication code) estipula el envío de un código generado a partir de cierta información de la petición, un algoritmo criptográfico y una clave secreta (compartida en este caso por Nemo y el cliente).


Cambios del lado del cliente:

Para emplear esta funcionalidad el cliente deberá seguir los siguientes pasos:

Solicitar el alta de la funcionalidad a Nemo. Nemo le proporcionará la clave secreta que empleará para generar el código de validación. El cliente deberá enviar 2 parámetros adicionales en su petición:

timestamp . Marca de tiempo de la petición en el formato especificado en RFC 2616: Hypertext Transfer Protocol — HTTP/1.1 (primer formato). signature. Código de autenticación generado por la función de hasheo SHA256 a partir de la clave secreta y la marca de tiempo indicada en el campo anterior. SHA256(clientSecretKey, timestamp) = signature

La firma y la marca de tiempo deberán generarse para cada petición de autologin ya que tienen una validez temporal.

Si la marca de tiempo está expirada o la firma no se corresponde con dicha marca de tiempo y la clave secreta del cliente se rechazará la petición de autenticación.

Siguiendo el ejemplo anterior, la petición de autenticación quedaría así:

http://{cliente-base-url}.app.pricenavigator.net/security/autologin.html?apiKey={userToken}&timestamp={timestamp}&signature={signature}

Para ponerlo en valores de ejemplo

clientSecretKey = qY8NxIDIjtVPWxsT

timestamp = Thu, 29 Dec 2022 18:06:37 GMT

signature = f9f202bab9de55953a714ec69f218fd774d4433449a9f4ae09727362d623925d

Nemo proveerá la clave secreta al cliente una vez que se habilite la funcionalidad.

Recursos

Colección Postman con ejemplos: https://api.postman.com/collections/1129077-e69b96e6-4c0e-4cef-8201-ca2bc9372a0b?access_key=PMAT-01GNHEXG4R9CDM3J62F6R5Q4QQ

HMAC Generator Online Tool: https://www.freeformatter.com/hmac-generator.html

Cualquier inquietud, podés escribirnos a support@nemogroup.net