API Reference: Reserva de una Tarifa - Hoteles

De Wiki PriceSurfer
Revisión del 12:55 30 jul 2024 de Devs (discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegaciónIr a la búsqueda

Consideraciones generales

Atención: Para los productos hoteles, si su operador tiene el módulo de CANCELACION AUTOMATICA activado deberá disparar una Consulta de una Reserva inmediatamente luego de la reserva cuando ésta quede en estado Confirmada o Pendiente de Confirmación; de esta forma se creará correctamente la tarea de autocancelación para la reserva.

Ejemplos y descripción

Solicitud con varios pasajeros y habitaciones

<BookingProductsRQ>

   <GeneralParameters>
       <PreferedLanguage LanguageCode="es"/>
       <PreferedCurrency CurrencyCode="USD"/>
   </GeneralParameters>
   <Products>
   <Hotels>
      <Hotel TripProductID="o1RPSM0Ris0QJ.Y3MzAzMjOjMi0wwgIBDwEC.dO93ZZSv.L3HQ~:rFJBe3hGMmZ5.31TQw~" >
         <Rooms>
            <Room RoomType="NMO.HTL.RMT.DBL" >
               <Guests>
                  <Guest PassengerSequence="1"/>
                  <Guest PassengerSequence="2"/>
               </Guests>
            </Room>
         </Rooms>
      </Hotel>
   </Hotels>
   <Passengers>
      <Passenger AgeType="NMO.GBL.AGT.ADT" Sequence="1">
         <PersonNames>
            <PersonName NameType="NMO.GBL.PNT.FIR">NombreA</PersonName>
            <PersonName NameType="NMO.GBL.PNT.LAS">Apellido</PersonName>
         </PersonNames>                 
      </Passenger>         
      <Passenger AgeType="NMO.GBL.AGT.ADT" Sequence="2">
         <PersonNames>
            <PersonName NameType="NMO.GBL.PNT.FIR">NombreB</PersonName>
            <PersonName NameType="NMO.GBL.PNT.LAS">Apellido</PersonName>
         </PersonNames>
      </Passenger>         
   </Passengers>
   </Products>
   <BookingComments>Comentarios de la reserva</BookingComments>

</BookingProductsRQ>

Parámetro Obligatorio Descripción
GeneralParameters
PreferedLanguage Establece el lenguaje requerido para la respuesta.

Atributos:

LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Nemo.

PreferedCurrency No Establece la moneda requerida para la respuesta.

Atributos:

CurrencyCode: Código de moneda correspondiente a los códigos de moneda estándar provistos.

(Dicho nodo sera No Obligatorio ya que la moneda utilizada actualmente es la configurada en el contrato)

Hoteles No
Hotel
Rate Tarifa a reservar, indicando con el atributo TripProductId el id del hotel a reservar.
Rooms No
Room El atributo RoomType a usarse debe ser el "tipo de room" completo (ej: NMO.HTL.RMT.TPL)
Occupancy Indica la cantidad de adultos, niños e infantes por cada habitación.

En el nodo Guest se encuentra el identificador del pasajero, atributo PassengerSequence. Este dato se obtiene del Sequence del nodo Passenger.

Passengers Lista de pasajeros con su respectiva información. Sobre la Información de Pasajeros Requerida al Reservar
Passenger Información de un pasajero.

Atributos:

AgeType: Tipo de pasajero. Tabla de códigos. Importante: Se deben enviar los mismos tipos de pasajero que se solicitaron en la búsqueda, por ejemplo si en la búsqueda se solicitó 2 Adultos y 1 Infante, en la solicitud de reserva se debe enviar 2 Adultos y 1 Infante -por más que el proveedor haya respondido un Occupancy="2/1/0" (2 Adultos, 1 Child, 0 Infantes)

Sequence: Número secuencial comenzando en 1 para el primer pasajero. Este dato será el contrastado contra el valor del atributo PassengerSequence del nodo Guest del Room.

Nota: Reservas limitadas hasta 4 menores por room, con un maximo de 2 infantes (ej: 2 Adultos + 3 Child + 1 Infante)

PersonNames Sí* Nombres del pasajero.
PersonName Nombre del pasajero.

Atributos:

NameType: Tipo de Nombre. Tabla de códigos

Validacion en nombres y apellidos: No puede contener numeros ni caracteres especiales. No pueden repetirse los mismos Nombres y Apellidos

BirthDate No Fecha de Nacimiento con formato "YYYY-MM-DD". Suele ser obligatoria para pasajeros tipo Child e Infante. (Si se coloca este campo, respetar el formato YYYY-MM-DD y no agregue letras adicionales ni zona horaria)

Validacion en BirthDate: Del infante debe informarse menor o igual de 1 año. Para el child debera ser de 2 a 17 años inclusive. El BirthDate debe corresponder con el tipo de pasajero (ADT/CHD/INF).

El BirthDate debe ser coherente con la edad informada en la busqueda (para CHD/INF). La edad en la reserva se calcula en base al checkin y el birthDate.

Age No Edad del pasajero.
Identifiers No Documentos que identifican al pasajero
Identifier No Datos de un documentos que identifica al pasajero

Atributos: Type: Tipo de Identificador. Tabla de códigos

CountryOfResidence No Código de País del País de residencia del pasajero. Ver Resolución 3550 de la AFIP.

Atributos: CountryCode: Código de País. Códigos de país ISO - 2 letras

Nationality No Código de País de la Nacionalidad del pasajero. Ver Resolución 3550 de la AFIP.

Atributos: CountryCode: Código de País. Códigos de país ISO - 2 letras

BookingComments No Comentarios de la reserva.

Respuesta: <BookingProductsRS>

  <Details>
     <BookingReference>XX_13N4P</BookingReference>
     <BookingState>NMO.GBL.BST.CNF</BookingState>
     <Products>
        <Hotels>
           <Hotel HotelCode="730323" SupplierID="TOH" LogID="0">
              <BookingReferences>
                 <BookingReference ReferenceType="NMO.HTL.RPT.MPH">PH_13N4P-1</BookingReference>
                 <BookingReference ReferenceType="NMO.HTL.RPT.PRS.PS1">172404718</BookingReference>
                 <BookingReference ReferenceType="NMO.HTL.RPT.PRS.PS2">173874244</BookingReference>
              </BookingReferences>
              <BookingStatusList>
                 <BookingStatus>
                    <BookingStatusDescription BookingStatusCode="NMO.HTL.BST.CNF">Confirmado</BookingStatusDescription>
                    <BookingStatusTime>10:29:05.564-03:00</BookingStatusTime>
                 </BookingStatus>
              </BookingStatusList>
              <Hotel SupplierID="TOH" HotelCode="730323" UpdatedDt="2017-08-11-03:00">
                 <HotelName>Travelodge Fort Lauderdale</HotelName>
                 <AccomodationType AccomodationType=""/>
                 <HotelDescriptions>
                    <HotelDescription HotelDescriptionType="General">EL HOTEL OFRECE 50 HABITACIONES LOS HUESPEDES PUEDEN CONECTARSE A INTERNET EN LAS ZONAS PUBLICAS MEDIANTE WIFI AQUELLOS QUE VIAJEN CON VEHICULO PROPIO PUEDEN DEJARLO EN EL APARCAMIENTO DEL ESTABLECIMIENTO</HotelDescription>
                    ...
                 </HotelDescriptions>
                 <Amenities ItemsCount="3">
                    <Amenity Fee="No" Sequence="0">
                       <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                       <Description AmenityCode="666">pool</Description>
                    </Amenity>
                    ...
                 </Amenities>
                 <Addresses>
                    <Address>
                       <AddressLines>
                          <AddressLine>1251 EAST SUNRISE BOULEVA</AddressLine>
                          <AddressLine>FORT LAUDERDALE</AddressLine>
                          <AddressLine>FLORIDA</AddressLine>
                          <AddressLine>USA</AddressLine>
                       </AddressLines>
                       <TelephoneNumbers>
                          <TelephoneNumber>
                             <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.FAX"/>
                             <TelephoneNumberValue>1 954 5247583</TelephoneNumberValue>
                          </TelephoneNumber>
                       </TelephoneNumbers>
                       <PostalCode CountryCode="">33304</PostalCode>
                       <Destinations>
                          <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="4133">Fort Lauderdale</Destination>
                          <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="174">Estados Unidos</Destination>
                          <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="13">America del Norte</Destination>
                          <Destination DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
                       </Destinations>
                    </Address>
                 </Addresses>
                 <Position>
                    <Latitude>26.137627</Latitude>
                    <Longitude>-80.13089</Longitude>
                 </Position>
                 <HotelRating HotelRatingCode="NMO.HTL.RTN.2ST" HotelRatingType="NMO.HTL.RTT.STR">
                    <RatingDescription>2 Estrellas</RatingDescription>
                    <RatingValue>2.0</RatingValue>
                 </HotelRating>
                 <ImageLinks ItemsCount="16">
                    <ImageLink Sequence="1">
                       <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Pool view</ImageDescription>
                    ...
                 </ImageLinks>
              </Hotel>
              <DestinationDetails>
                 <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="4133">Fort Lauderdale</Destination>
                 <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="174">Estados Unidos</Destination>
                 <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="13">America del Norte</Destination>
                 <Destination DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
              </DestinationDetails>
              <CheckIn>2019-02-15</CheckIn>
              <CheckOut>2019-02-16</CheckOut>
              <Rate TripProductID="o1RPSM0Ris0QJ.Y3MzAzMjOjMi0wwgIBDwEC.dO93ZZSv.L3HQ~:rFJBe3hGMmZ5.31TQw~">
                 <Rooms>
                    <Room>
                       <RoomDescription RoomType="NMO.HTL.RMT.DBL">Estándar - 2 paxs in 1 beds</RoomDescription>
                       <Occupancy>
                          <AdultsCount>2</AdultsCount>
                          <ChildrenCount>0</ChildrenCount>
                          <InfantCount>0</InfantCount>
                          <RoomsCount>1</RoomsCount>
                          <Passengers>
                             <Passenger AgeType="NMO.GBL.AGT.ADT">
                                <PersonNames>
                                   <PersonName NameType="NMO.GBL.PNT.FIR">NombreA</PersonName>
                                   <PersonName NameType="NMO.GBL.PNT.LAS">Apellido</PersonName>
                                </PersonNames>       
                             </Passenger>
                             <Passenger AgeType="NMO.GBL.AGT.ADT">
                                <PersonNames>
                                   <PersonName NameType="NMO.GBL.PNT.FIR">NombreB</PersonName>
                                   <PersonName NameType="NMO.GBL.PNT.LAS">Apellido</PersonName>
                                </PersonNames>
                             </Passenger>
                          </Passengers>
                       </Occupancy>
                       <Availability AvailabilityCode="NMO.HTL.AVB.CNF">Confirmación Inmediata</Availability>
                    </Room>
                 </Rooms>
                 <Board Code="2">Breakfast</Board>
                 <RatePrices>
                    <RatePrice Currency="USD" Type="NMO.HTL.RPT.NET">105.58</RatePrice>
                    <RatePrice Currency="USD" Type="NMO.GBL.RPT.GRS">105.58</RatePrice>
                 </RatePrices>
                 <ChargeConditions>
                    <ChargeCondition Sequence="1">
                       <ChargeDescription ChargeType="NMO.HTL.CHT.NSW">No Show</ChargeDescription>
                       <RatePrices>
                          <RatePrice Currency="USD" Type="NMO.HTL.RPT.NET">105.58</RatePrice>
                          <RatePrice Currency="USD" Type="NMO.GBL.RPT.GRS">105.58</RatePrice>
                       </RatePrices>
                    </ChargeCondition>
                 </ChargeConditions>
                 <Deadline>
                    <Date>2019-02-15T00:00:00</Date>
                 </Deadline>                  
              </Rate>
              <BookingCreationDT>2018-09-27T10:28:45.044</BookingCreationDT>
           </Hotel>
        </Hotels>
     </Products>
  </Details>
  <BookingComments>Comentarios de la reserva</BookingComments>

</BookingProductsRS>

Parámetro Obligatorio Descripción
Notifications No
Notification Nodo que informa cuando ocurre algún error o excepción. En el atributo TripNumber se indica el trip al cual se refiere la notificación.
NotificationId Identificador de la notificación. Las mismas serán provistas por Nemo.
NotificationType Tipo de notificación.
NotificationMessage Mensaje de notificación.
Details
BookingReference Localizador (identificador) de la reserva en PriceSurfer.
BookingState Estado global de la reserva. Tabla de Códigos
Products Productos en la reserva
Hotels Items de la reserva, productos tipo Hoteles
Hotel Detalle del nodo Hotel
BookingComments No Comentarios de la reserva.

Solicitud con Campos Nacionalidad, País de Residencia, e-mail y DNI

<BookingProductsRQ>

 <GeneralParameters>
   <PreferedLanguage LanguageCode="es"/>
   <PreferedCurrency CurrencyCode="ARS"/>
 </GeneralParameters>
 <Products>
   <Hotels>
     <Hotel TripProductID="o1RPSM0RiqYxODcxNT.jMi0wwgEDBQQCzQHNzyNsjx82n2NI:q1JBe2JmeHNRfTF1zgHjL5r.">
       <Rooms>
         <Room RoomType="NMO.HTL.RMT.SGL">
           <Guests>
             <Guest PassengerSequence="1"/>
           </Guests>
         </Room>
       </Rooms>
     </Hotel>
   </Hotels>
   <Passengers>
     <Passenger Sequence="1" AgeType="NMO.GBL.AGT.ADT">
       <PersonNames>
         <PersonName NameType="NMO.GBL.PNT.FIR">NOMBRE</PersonName>
         <PersonName NameType="NMO.GBL.PNT.LAS">APELLIDO</PersonName>
       </PersonNames>
       <Identifiers>
         <Identifier CountryCode="AR" Type="NMO.HTL.RPT.DNI">12345678</Identifier>
       </Identifiers>
       <CountryOfResidence CountryCode="AR">AR</CountryOfResidence>
       <Nationality CountryCode="AR">AR</Nationality>       
     </Passenger>
   </Passengers>
 </Products>

</BookingProductsRQ>