API Reference: Reserva de una Tarifa - Hoteles

De Wiki PriceSurfer
Saltar a: navegación, buscar

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="ARS"/>
 </GeneralParameters>
 <Products>
   <Hotels>
     <Hotel TripProductID="4a862d90-6fb5-42fe-87d0-910100f21d43">
       <Rooms>
         <Room RoomType="NMO.HTL.RMT.TPL">
           <Guests>
             <Guest PassengerSequence="1"/>
             <Guest PassengerSequence="3"/>
             <Guest PassengerSequence="4"/>
           </Guests>
         </Room>
         <Room RoomType="NMO.HTL.RMT.2ST">
           <Guests>
             <Guest PassengerSequence="2"/>
             <Guest PassengerSequence="5"/>
           </Guests>
         </Room>
       </Rooms>
     </Hotel>
   </Hotels>
   <Passengers>
     <Passenger AgeType="NMO.GBL.AGT.ADT" Sequence="1">
       <PersonNames>
         <PersonName NameType="NMO.GBL.PNT.FIR">Priotr</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>
     <Passenger AgeType="NMO.GBL.AGT.ADT" Sequence="3">
       <PersonNames>
         <PersonName NameType="NMO.GBL.PNT.FIR">NombreC</PersonName>
         <PersonName NameType="NMO.GBL.PNT.LAS">apellido</PersonName>
       </PersonNames>
     </Passenger>
     <Passenger AgeType="NMO.GBL.AGT.CHD" Sequence="4">
       <PersonNames>
         <PersonName NameType="NMO.GBL.PNT.FIR">Ninio</PersonName>
         <PersonName NameType="NMO.GBL.PNT.LAS">apellido</PersonName>
       </PersonNames>
       <BirthDate>2010-05-05</BirthDate>
     </Passenger>
     <Passenger AgeType="NMO.GBL.AGT.CHD" Sequence="5">
       <PersonNames>
         <PersonName NameType="NMO.GBL.PNT.FIR">NinioB</PersonName>
         <PersonName NameType="NMO.GBL.PNT.LAS">apellido</PersonName>
       </PersonNames>
       <BirthDate>2008-08-03</BirthDate>
     </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 Establece la moneda requerida para la respuesta.

Atributos:

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

Hoteles No
Hotel
Rate Tarifa a reservar, indicando con el atributo TripProductId el id del hotel a reservar.
Rooms No
Room
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.

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.

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 (INF/CHD/ADT).

El BirthDate debe ser coherente con la edad informada en la busqueda(para INF/CHD). 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. (Nota: no disponible en producción aún)

Respuesta: <BookingProductsRS>

  <Details>
     <BookingReference>QN_007GP</BookingReference>
     <BookingState>NMO.GBL.BST.CNF</BookingState>
     <Products>
        <Hotels>
           <Hotel HotelCode="2392" SupplierID="BOL" LogID="1">
              <BookingReferences>
                 <BookingReference ReferenceType="NMO.HTL.RPT.MPH">QN_007GP-1</BookingReference>
                 <BookingReference ReferenceType="NMO.HTL.RPT.PRS.PS1">249</BookingReference>
                 <BookingReference ReferenceType="NMO.HTL.RPT.PRS.PS2">278094</BookingReference>
              </BookingReferences>
              <BookingStatusList>
                 <BookingStatus>
                    <BookingStatusDescription BookingStatusCode="NMO.HTL.BST.CNF">Confirmado</BookingStatusDescription>
                    <BookingStatusActor BookingStatusActorType="???">???</BookingStatusActor>
                 </BookingStatus>
              </BookingStatusList>
              <Hotel SupplierID="BOL" HotelCode="2392">
                 <HotelName>Americas Towers</HotelName>
                 <HotelDescriptions>
                    <HotelDescription HotelDescriptionType="General">El hotel cuenta con 100 habitaciones espaciosas y lujosas, de las cuales 10 son suites; vestí­bulo con recepción 24 horas, caja fuerte, bar, restaurante, conexión a Internet, sala de conferencias moderna y decorada con paneles de madera y telas; servicio de habitaciones 24 horas, servicio de despertador y servicio de limpieza.</HotelDescription>
                    <HotelDescription HotelDescriptionType="General">La piscina del hotel permanece abierta de octubre a marzo.</HotelDescription>
                 </HotelDescriptions>
                 <LocationDetails ItemsCount="1">
                    <Location Sequence="1" LocationCode="G9">Cerca del centro</Location>
                 </LocationDetails>
                 <Amenities ItemsCount="50">
                    <Amenity Fee="No" Sequence="1">
                       <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC">Ubicación</AmenityGroup>
                       <Description AmenityCode="1">En la carretera principal</Description>
                    </Amenity>
                    ...
                 </Amenities>
                 <Addresses>
                    <Address>
                       <AddressLines>
                          <AddressLine>Libertad 1070</AddressLine>
                          <AddressLine>1012 - BUENOS AIRES</AddressLine>
                          <AddressLine>Buenos Aires</AddressLine>
                       </AddressLines>
                       <TelephoneNumbers>
                          <TelephoneNumber>
                             <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.TE1">phoneHotel</TelephoneNumberType>
                             <TelephoneNumberValue>5411 4129 0700</TelephoneNumberValue>
                          </TelephoneNumber>
                          <TelephoneNumber>
                             <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.OFF">phoneBooking</TelephoneNumberType>
                             <TelephoneNumberValue>5411 4129 0700</TelephoneNumberValue>
                          </TelephoneNumber>
                       </TelephoneNumbers>
                       <PostalCode CountryCode="AR">1012</PostalCode>
                       <Destinations>
                          <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="5694">Buenos Aires</Destination>
                          <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="202">Argentina</Destination>
                          <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="15">América del Sur</Destination>
                          <Destination DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
                       </Destinations>
                    </Address>
                 </Addresses>
                 <Position>
                    <Latitude>-34.595992</Latitude>
                    <Longitude>-58.384257</Longitude>
                 </Position>
                 <HotelRating HotelRatingCode="NMO.HTL.RTN.4ST" HotelRatingType="NMO.HTL.RTT.STR">
                    <RatingDescription>4 Estrellas</RatingDescription>
                    <RatingValue>4.0</RatingValue>
                 </HotelRating>
                 <ImageLinks ItemsCount="4">
                    <ImageLink Sequence="1">
                       <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">General</ImageDescription>
                       <DisplayOrder>1</DisplayOrder>
                       <ImageHeight UnitOfMeasureCode="9">52</ImageHeight>
                       <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
                       <ImageURL>1/6/169FECAA517308C6D670861605F22743.jpg</ImageURL>
                       <ThumbnailURL>9/8/98AE7381AF851A3631486502673653F2.jpg</ThumbnailURL>
                    </ImageLink>
                    <ImageLink Sequence="2">
                       <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Habitación</ImageDescription>
                       <DisplayOrder>2</DisplayOrder>
                       <ImageHeight UnitOfMeasureCode="9">51</ImageHeight>
                       <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
                       <ImageURL>6/0/60E1951BFA1D41836BCF1E8187675214.jpg</ImageURL>
                       <ThumbnailURL>5/0/5054FD9BAA428B52E49AD64DA800F23B.jpg</ThumbnailURL>
                    </ImageLink>
                    <ImageLink Sequence="3">
                       <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Piscina</ImageDescription>
                       <DisplayOrder>3</DisplayOrder>
                       <ImageHeight UnitOfMeasureCode="9">50</ImageHeight>
                       <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
                       <ImageURL>6/D/6DE26A3917736F13E0FD5E78DD5C9723.jpg</ImageURL>
                       <ThumbnailURL>C/A/CACCD17D7DC58DAB61148E5BD9451D99.jpg</ThumbnailURL>
                    </ImageLink>
                    <ImageLink Sequence="4">
                       <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Vestí­bulo</ImageDescription>
                       <DisplayOrder>4</DisplayOrder>
                       <ImageHeight UnitOfMeasureCode="9">46</ImageHeight>
                       <ImageWidth UnitOfMeasureCode="9">70</ImageWidth>
                       <ImageURL>1/3/136806D8E0E937AB37CF6644424DA587.jpg</ImageURL>
                       <ThumbnailURL>5/1/51927647FC24A445C17A1B5CF47EF5BC.jpg</ThumbnailURL>
                    </ImageLink>
                 </ImageLinks>
                 <HotelContracts ItemsCount="1">
                    <HotelContract>
                       <ContractName>CGW-TODOS</ContractName>
                       <IncomingOffice>
                          <IncomingOfficeCode>249</IncomingOfficeCode>
                       </IncomingOffice>
                    </HotelContract>
                 </HotelContracts>
              </Hotel>
              <DestinationDetails>
                 <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="5694">Buenos Aires</Destination>
                 <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="202">Argentina</Destination>
                 <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="15">América del Sur</Destination>
                 <Destination DestinationType="NMO.HTL.DST.ALL" DestinationCode="1">Planeta Tierra</Destination>
              </DestinationDetails>
              <CheckIn>2014-08-18</CheckIn>
              <CheckOut>2014-08-20</CheckOut>
              <Rate RateID="d8233eb837e1c0de093df4071da907cf@1" TripProductID="7b776d90-6fb5-42fe-87d0-910100f21d43">
                 <Rooms>
                    <Room>
                       <RoomDescription RoomType="NMO.HTL.RMT.SGL">INDIVIDUAL STANDARD</RoomDescription>
                       <Occupancy>
                          <AdultsCount>1</AdultsCount>
                          <ChildrenCount>0</ChildrenCount>
                          <InfantCount>0</InfantCount>
                          <RoomsCount>1</RoomsCount>
                          <Passengers>
                             <Passenger AgeType="NMO.GBL.AGT.ADT">
                                <PersonNames>
                                   <PersonName NameType="NMO.GBL.PNT.FIR">nombre</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="3">ALOJAMIENTO Y DESAYUNO</Board>
                 <RatePrices>
                    <RatePrice Currency="ARS" Type="NMO.HTL.RPT.NET">1082.651622002821</RatePrice>
                    <RatePrice Currency="ARS" Type="NMO.GBL.RPT.GRS">1082.651622002821</RatePrice>
                 </RatePrices>
              </Rate>
              <BookingCreationDT>2013-12-23T13:38:30.670Z</BookingCreationDT>
           </Hotel>
        </Hotels>
     </Products>
  </Details>
  <BookingComments>Comentarios varios</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. (Nota: no disponible en producción aún)

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="be34d4cd-98b3-40d9-8441-025ab7c7f837">
       <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>
       <Emails>
         <Email>test@test.com</Email>
       </Emails>
     </Passenger>
   </Passengers>
 </Products>

</BookingProductsRQ>