Primeros Pasos
Visión de conjunto
Todos los mensajes hacia y desde IP-Connect deben ser mensajes no deseados. Incluyen un encabezado SOAP Security para fines de autenticación y contienen el cuerpo SOAP que contiene el mensaje OTA. El siguiente ejemplo es un mensaje SOAP completo (este muestra una carga útil del mensaje OTA_HotelAvailNotifRQ)
Encabezado de seguridad SOAP
La estructura del encabezado de seguridad transmite información de autenticación. Es obligatorio y los elementos / wsse: UsernameToken / wsse: Username y / wsse: UsernameToken / wsse: Password son obligatorios. El único valor aceptable para el atributo Password / @ Type es, por ejemplo, "<wsse: Password Type =" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile -1.0 # PasswordText "> SECRET </ wsse: Password>", que indica una contraseña de texto sin formato. La contraseña de texto simple es aceptable ya que todas las comunicaciones se realizan a través de HTTP cifrado.
Requisitos de credenciales
Los socios deberán proporcionar a IP-Connect un único nombre de usuario y contraseña para usar en la recuperación de habitaciones y la autenticación de inserción de inventario. Estas credenciales deben ser globales para todos los hoteles que usan la conexión, no para cada hotel en particular. Los socios deben tratar de proporcionar IP-Connect con un punto final URI chamuscado para todos los mensajes. Si esto no es posible, IP-Connect puede manejar un máximo de 2 URI (uno para la API Retrieve Rooms y otro para Inventory PUSH API).A los socios de IP-Connect se les proporcionará un único nombre de usuario y contraseña para la autenticación de reserva, una vez que se haya completado la API Retrieve Rooms.
Ejemplo XML
Leyenda O = Opcional
| O | Número | Elemento / @Atributo | Tipo de dato | Descripción |
|---|---|---|---|---|
| 1 | OTA_HotelAvailNotifRQ | Nodo raíz | ||
| 1 | @Version | Decimal | Versión.Actualmente 1.0. | |
| 1 | @TimeStamp | DateTime | Tiempo de transacción. | |
| 1 | @EchoToken | String | Identificador global único para la solicitud, esta debe ser reflejada como un EchoToken en la respuesta. | |
| Source | Nodo | Contenedor de fuente. | ||
| RequestorID | Nodo | Datos de origen. | ||
| @Type | Integer | Tipo de solicitud. | ||
| @ID | String | Identificador de origen para petición. | ||
| AvailStatusMessages | Nodo | Contenedor para mensajes de disponibilidad. | ||
| @HotelCode | String | Código de la propiedad. | ||
| AvailStatusMessage | Nodo | Contiene los mensajes de disponibilidad. Puede haber varios de estos nodos por solicitud. | ||
| @BookingLimit | Integer | Establece el numero de habitaciones disponibles para venta. | ||
| StatusApplicationControl | Nodo | Datos de estado por ratePlan. | ||
| @Start | Date | Fecha de inicio para disponibilidad. Esta es inclusiva. | ||
| @End | Date | Fecha de cierre para disponibilidad. Esta es inclusiva. | ||
| @RatePlanCode | String | Identifica la tarifa. RatePlanCode a usar en conjunto con InvTypeCode para identificar la habitación a actualizar. | ||
| @InvTypeCode | String | Identifica la habitación. InvTypeCode a usar en conjunto con RatePlanCode para identificar la habitación a actualizar. | ||
| RestrictionStatus | Nodo | Estado de disponibilidad. | ||
| @Status | String | Obligatorio si RestrictionStatus esta presente. Puede ser Open: para venta de habitación o Close: para detener la venta de habitación. |
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<Security xmlns="http://tempuri.org/">
<UsernameToken xmlns="">
<Username>UserMision</Username>
<Password>Un1v1s1t</Password>
</UsernameToken>
</Security>
</soap:Header>
<soap:Body>
<OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2005-08-01T09:30:47+08:00" EchoToken="abc123">
<POS xmlns="http://www.opentravel.org/OTA/2003/05">
<Source>
<RequestorID Type="22" ID="PMS1" />
</Source>
</POS>
<AvailStatusMessages HotelCode="6972" xmlns="http://www.opentravel.org/OTA/2003/05">
<AvailStatusMessage BookingLimit="50">
<StatusApplicationControl Start="20180901" End="20180930" RatePlanCode="BASE" InvTypeCode="D2D" />
<RestrictionStatus Status="Open" />
</AvailStatusMessage>
</AvailStatusMessages>
</OTA_HotelAvailNotifRQ>
</soap:Body>
</soap:Envelope>
Primeros Pasos
IP-Connect proporciona una interface electrónica para que sus afiliados dispongan de los siguientes servicios:
Actualización de disponibilidad y bloqueos: Esta transacción permite actualizar el numero de cuartos por fechas dadas, temporadas por ocupación y bloqueos en los diferentes niveles jerárquicos que se presenten para cada Plan Tarifario.
Leyenda O = Opcional
| O | Número | Elemento /@Atributo | Tipo de dato | Descripción |
|---|---|---|---|---|
| 1 | OTA_HotelAvailNotifR | Nodo raíz | ||
| 1 | @Version | Decimal | Versión.Actualmente 1.0. | |
| Source | Nodo | Contenedor de fuente. | ||
| RequestorID | Nodo | Datos de origen. | ||
| @ID | String | Identificador de origen para la petición. | ||
| @Type | Integer | Tipo de solicitud. | ||
| AvailStatusMessage | Nodo | Contiene los mensajes de disponibilidad. | ||
| @HotelCode | String | Código de la propiedad a la que se actualiza la disponibilidad. | ||
| AvailStatusMessage /StatusApplicationControl | Nodo | Contienen información de estados. | ||
| @End | Date | Fecha de cierre para disponibilidad. Esta es inclusiva. | ||
| @Start | Date | Fecha de inicio para disponibilidad. Esta es inclusiva. | ||
| RestrictionStatus | Nodo | Estado de disponibilidad. | ||
| @Status | String | Obligatorio si RestrictionStatus esta presente. Puede ser Open: para venta de habitación o Close: para detener la venta de habitación. |
<OTA_HotelAvailNotifRQ Version="0" >
<POS xmlns="http://www.opentravel.org/OTA/2003/05">
<Source>
<RequestorID ID="IP" Type="22"/>
</Source>
</POS>
<AvailStatusMessages HotelCode="6972" xmlns="http://www.opentravel.org/OTA/2003/05">
<AvailStatusMessage>
<StatusApplicationControl End="20170615" Start="20170601"/>
<RestrictionStatus Status="Close"/>
</AvailStatusMessage>
</AvailStatusMessages>
</OTA_HotelAvailNotifRQ>
Tarifas: Esta transacción permite actualizar los precios de las habitaciones en los diferentes niveles jerárquicos que se presenten para cada Plan Tarifario.
Leyenda O = Opcional
| O | Número | Elemento /@Atributo | Tipo de dato | Descripción |
|---|---|---|---|---|
| 1 | OTA_HotelRateAmountNotifRQ | Nodo raíz | ||
| 1 | @EchoToken | String | Identificador global único para la solicitud, esta debe ser reflejada como un EchoToken en la respuesta. | |
| 1 | @version | Decimal | Versión.Actualmente 1.0. | |
| RequestorID | Nodo | Datos de origen. | ||
| @ID | integer | Identificador de origen para petición. | ||
| @Type | Integer | Tipo de solicitud. | ||
| RateAmountMessages | Nodo | Contenedor de datos para tarifas. | ||
| @HotelCode | String | Código de la propiedad a la que se actualiza la disponibilidad. | ||
| RateAmountMessage | Nodo | Mensajes referentes a tarifas. | ||
| StatusApplicationControl | Nodo | Datos de estado por ratePlan. | ||
| @InvTypeCode | String | Identifica la habitación. InvTypeCode a usar en conjunto con RatePlanCode para identificar la habitación a actualizar. | ||
| @RatePlanCode | String | Identifica la tarifa. RatePlanCode a usar en conjunto con InvTypeCode para identificar la habitación a actualizar. | ||
| Rates /Rate | Nodo | Datos de tarifas. | ||
| @CurrencyCode | String | Moneda del cargo para huésped extra. | ||
| @End | Date | Fecha de cierre para disponibilidad. Esta es inclusiva. | ||
| @Start | Date | Fecha de inicio para disponibilidad. Esta es inclusiva. | ||
| BaseByGuestAmts /BaseByGuestAmt | Nodo | Datos de tarifa por huésped. | ||
| @AmountBeforeTax | Double | Tarifa con impuestos. |
<OTA_HotelRateAmountNotifRQ EchoToken="123sd" Version="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<POS xmlns="http://www.opentravel.org/OTA/2003/05">
<Source>
<RequestorID ID="IP" Type="22"/>
</Source>
</POS>
<RateAmountMessages HotelCode="6972" xmlns="http://www.opentravel.org/OTA/2003/05">
<RateAmountMessage>
<StatusApplicationControl InvTypeCode="D2D" RatePlanCode="PF2G"/>
<Rates>
<Rate CurrencyCode="MXN" End="20170831" Start="20170801">
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="1000"/>
</BaseByGuestAmts>
</Rate>
</Rates>
</RateAmountMessage>
<RateAmountMessage>
<StatusApplicationControl InvTypeCode="D2D" RatePlanCode="PF2G"/>
<Rates>
<Rate CurrencyCode="MXN" End="20170831" Start="20170801">
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="1000"/>
</BaseByGuestAmts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Booking Retrieval: Obtener las reservaciones creadas a través de cualquier canal de venta de IP-Connect.
Leyenda O = Opcional
| O | Número | Elemento /@Atributo | Tipo de dato | Descripción |
|---|---|---|---|---|
| 1 | OTA_ReadRQ | Nodo raíz | ||
| 1 | @EchoToken | String | Identificador global único para la solicitud, esta debe ser reflejada como un EchoToken en la respuesta. | |
| 1 | @TimeStamp | DateTime | Tiempo de transacción. | |
| 1 | @Version | Decimal | Versión.Actualmente 1.0. | |
| POS | Nodo | Información de origen de la petición. | ||
| Source | Nodo | Contenedor de fuente. | ||
| RequestorID | Nodo | Datos de origen. | ||
| @ID | String | Identificador de origen para petición. | ||
| @Type | Integer | Tipo de solicitud. | ||
| ReadRequests /HotelReadRequest | Nodo | Datos de selección para la petición. | ||
| @HotelCode | String | Código de la propiedad. | ||
| SelectionCriteria | Nodo | Criterio de selección. | ||
| @SelectionType | String | Tipo de selección. |
<OTA_ReadRQ EchoToken="bcad0d19-c300-45cc-a70b-040051d320d2" TimeStamp="2019-04-04T11:14:51.255217-07:00" Version="1" xmlns="http://tempuri.org/">
<POS xmlns="http://www.opentravel.org/OTA/2003/05">
<Source>
<RequestorID ID="" Type="22"/>
</Source>
</POS>
<ReadRequests xmlns="http://www.opentravel.org/OTA/2003/05">
<HotelReadRequest HotelCode="0000">
<SelectionCriteria SelectionType="Undelivered"/>
</HotelReadRequest>
</ReadRequests>
</OTA_ReadRQ>
Confirmación de reservaciónes: Realizar la confirmación de reservaciónes entrantes.
Leyenda O = Opcional
| O | Número | Elemento /@Atributo | Tipo de dato | Descripción |
|---|---|---|---|---|
| 1 | OTA_NotifReportRQ | Nodo raíz | ||
| 1 | @EchoToken | String | Identificador global único para la solicitud, esta debe ser reflejada como un EchoToken en la respuesta. | |
| 1 | @Version | Decimal | Versión.Actualmente 1.0. | |
| NotifDetails | Nodo | Contiene datos de notificación. | ||
| HotelNotifReport | Nodo | Notificación a hotel. | ||
| HotelReservations / HotelReservation | Nodo | Datos de reservaciónes. | ||
| @CreateDateTime | Date | La hora en que se creó la reserva en el PMS. Obligatorio si ResStatus es "Book". | ||
| @ResStatus | String | Los valores permitidos son "Book", "Modify" o "Cancel". | ||
| UniqueID | Nodo | Contenedor de identificadores. | ||
| @Type | Integer | Tipo de solicitud. | ||
| @ID | String | Identificador de origen para petición. | ||
| ResGlobalInfo | Nodo | información general de la reservación. | ||
| HotelReservationIDs /HotelReservationID | Nodo | Contenedor para el identificador de reserva de PMS. | ||
| @ResID_Type | Integer | Valor de '14' que se refiere a 'Reserva' en la tabla de códigos Tipo de Id. Único (UIT) de OTA. | ||
| @ResID_Value | String | Identificador de la reserva creada por el PMS. |
<OTA_NotifReportRQ EchoToken="3ea4d025-1564-42fc-bc67-b051a1c5a257" Version="1" xmlns="http://tempuri.org/">
<NotifDetails xmlns="http://www.opentravel.org/OTA/2003/05">
<HotelNotifReport>
<HotelReservations>
<HotelReservation CreateDateTime="2019-04-04T11:25:25.8932829-07:00" ResStatus="Book">
<UniqueID ID="1391004" Type="16"/>
<ResGlobalInfo>
<HotelReservationIDs>
<HotelReservationID ResID_Type="14" ResID_Value="000001"/>
</HotelReservationIDs>
</ResGlobalInfo>
</HotelReservation>
</HotelReservations>
</HotelNotifReport>
</NotifDetails>
</OTA_NotifReportRQ>
RESPUESTA
Leyenda O = Opcional
| O | Número | Elemento /@Atributo | Tipo de dato | Descripción |
|---|---|---|---|---|
| MessageAcknowledgementType | Nodo raíz | |||
| 1 | @Version | Decimal | Versión.Actualmente 1.0. | |
| Success | Nodo | Si esta presente, la petición es valida. |
<MessageAcknowledgementType Version="0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Success xmlns="http://www.opentravel.org/OTA/2003/05"/>
</MessageAcknowledgementType>
Catalogo de habitaciones:
Leyenda O = Opcional
| O | Número | Elemento /@Atributo | Tipo de dato | Descripción |
|---|---|---|---|---|
| 1 | OTA_HotelAvailRQ | Nodo raíz | ||
| 1 | @EchoToken | String | Identificador global único para la solicitud, esta debe ser reflejada como un EchoToken en la respuesta. | |
| 1 | @TimeStamp | DateTime | Tiempo de transacción. | |
| 1 | @Version | Decimal | Versión.Actualmente 1.0. | |
| @AvailRatesOnly | Bool | Permite filtrar solo tarifas disponibles. | ||
| AvailRequestSegments /AvailRequestSegment | Nodo | Contiene datos del segmento. | ||
| @AvailReqType | String | Tipo de petición para disponibilidad. | ||
| HotelSearchCriteria /Criterion | Nodo | Contienen criterios de búsqueda. | ||
| @HotelCode | String | Código de la propiedad a la que se actualiza la disponibilidad. |
<OTA_HotelAvailRQ EchoToken="asdasd" TimeStamp="2019-04-26T14:00:59.5545179-06:00" Version="1" AvailRatesOnly="true"
xmlns="http://tempuri.org/">
<AvailRequestSegments xmlns="http://www.opentravel.org/OTA/2003/05">
<AvailRequestSegment AvailReqType="Room">
<HotelSearchCriteria>
<Criterion HotelCode="6972" />
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
Leyenda O = Opcional
| O | Número | Elemento /@Atributo | Tipo de dato | Descripción |
|---|---|---|---|---|
| 1 | OTA_HotelAvailRS | Nodo raíz | ||
| 1 | @EchoToken | String | Identificador global único para la solicitud, esta debe ser reflejada como un EchoToken en la respuesta. | |
| 1 | @TimeStamp | DateTime | Tiempo de transacción. | |
| 1 | @Version | Decimal | Versión.Actualmente 1.0. | |
| Success | Nodo | Estado de petición. | ||
| RoomStays /RoomStay | Nodo | Contienen información de estancia. | ||
| 1:n | RoomTypes / RoomType | Nodo | Contienen formación referente a los tipos de habitación. | |
| @RoomType | String | Nombre de la habitación. | ||
| RoomDescription | Nodo | Descripción de la habitación. | ||
| @Name | String | Nombre de la habitación. | ||
| 1:n | RatePlans /RatePlan | Nodo | Contenedores para información de planes tarifarios. | |
| @RatePlanCode | String | Código de plan tarifa. | ||
| RatePlanDescription | Nodo | Descripción del plan de tarifas. | ||
| @Name | String | Nombre del plan de la tarifa. |
<?xml version="1.0" encoding="utf-16"?>
<OTA_HotelAvailRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" EchoToken="asdasd" TimeStamp="2019-04-26T10:42:48.3075866-06:00" Version="1">
<Success xmlns="http://www.opentravel.org/OTA/2003/05" />
<RoomStays xmlns="http://www.opentravel.org/OTA/2003/05">
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode="D2Q">
<RoomDescription Name="Habitación Doble 2 Camas Queen" />
</RoomType>
<RoomType RoomTypeCode="A0Q">
<RoomDescription Name="Double Standard" />
</RoomType>
</RoomTypes>
<RatePlans>
<RatePlan RatePlanCode="RAC">
<RatePlanDescription Name="Tarifa Estandar" />
</RatePlan>
<RatePlan RatePlanCode="NETR">
<RatePlanDescription Name="Tarifa Neta" />
</RatePlan>
<RatePlan RatePlanCode="CNV">
<RatePlanDescription Name="demo contrato" />
</RatePlan>
</RatePlans>
</RoomStay>
</RoomStays>
</OTA_HotelAvailRS>
