Integración Vuelos - Ofi

Protocolo público Core Ofi de reservas online de vuelos XML

V 2.0 Mayo 2019

Introducción y contacto

Esta documentación describe el conjunto de método del servicio web desarrollado por Ofimática Jaén SL con el objetivo de realizar reservas on-line de vuelos.

El objetivo de este servicio web, es el acceso vía XML, a disponibilidad de vuelos así como la posibilidad de hacer reservas y cancelaciones en el sistema.

En la siguiente documentación se describe la estructura de los mensajes a enviar en cada método, así como la respuesta obtenida en cada uno de ellos. Además se adjuntan ejemplo de cada uno de ellos.

Para cualquier duda y aspecto a comentar durante su uso, puede contactar con nosotros de Lunes a Viernes, desde las 09:00 hasta las 14:00 y de 16:00 a 19:00 en el siguiente número de teléfono 953 280 144.

Webservice

  • Métodos utilizados en el flujo de reservas
  • Las operaciones disponibles a fin de poder solicitar disponibilidad, generar una reserva y su posterior cancelación son los siguientes:

    Servicio Descripción
    Availability Búsqueda inicial de tarifas de vuelos por códigos iata de aeropuertos. Devolverá un listado de vuelos One-way, RoundTrip o Multidestinos según el nº de trayectos solicitados.
    FareFamilies Dado una tarifa de vuelos de disponibilidad, devuelve la lista de tarifas asociadas a esa tarifa, junto con los servicios que incluye cada uno y su precio.
    PreBooking Una vez que seleccionados los vuelos que se quieren reservar, se hace un bloqueo de las plazas y se obtiene el precio final junto con sus reglas
    BaggageList Método opcional para obtener maletas extras para añadir durante el flujo de reserva al crear el Pnr. Solo funciona con algunos proveedores.
    SeatAvailability Método opcional para obtener el mapa de asientos para añadir selección de asientos durante el flujo de reserva. Solo funciona con algunos proveedores.
    Booking Se confirma la reserva y se crea el Pnr con los vuelos seleccionados. Generará una reserva Pendiente de Emisión o Confirmada
    GetPNR Método para obtener la información de un PNR. Devolverá información relacionada con trayectos, pasajeros, billetes, etc.
    PreCancel Método para obtener los gastos de cancelación de una reserva.
    Cancel Método para cancelar una reserva Pendiente de Emisión.
    IssueTicket Método para solicitar la emisión de billetes de una reserva Pendiente de Emisión. La reserva pasará automaticamente a Confirmada.
    Requote Método para retarificar un Pnr. Imprescindible si se desea emitir un Pnr una vez pasada su fecha de creación. Devuelve el cambio de precio si lo hubiese.
  • Flujo de reservas

Flujo reservas vuelos

Entorno Url o "Endpoint"
TEST http://booking.ofi.es/Test/AirBookingService.svc?wsdl
LIVE http://booking.ofi.es/AirBookingService.svc?wsdl
  • Métodos adicionales al flujo de reservas
  • A continuación se describen las operaciones disponibles en el sistema que son adicionales al flujo de reserva. Estás se utilizarán para obtener información estática que será utilizada a fin de poder realizar una reserva.

    Servicio Descripción
    GetResidentCities Método opcional para obtener el listado de ciudades de residencia dado un código de residencia (PMI - Baleares, TCI Canarias, MLN Melilla). Este método se usa con la finalidad de aplicar el descuento de residente.

Availability

En este apartado se describe la petición y la respuesta de búsqueda de disponibilidad en el sistema a partir de uno o varios trayectos definidos por una pareja códigos Iata de aeropuertos y una fechas.

De manera que el sistema devolverá una lista de tarifas y vuelos disponibles para reservar que coincidan con los criterios de búsqueda seleccionados.

Request

Campo Cardinalidad Descripción
AirAvailabilityRequest 1 Elemento root de la petición de búsqueda de vuelos
1. ConsumerId 1 Identificar del consumidor
2. LanguageIsoCode 1 Código ISO del lenguaje
3. InternalAgencyData 0 Atributo interno Ofi. No se debe de enviar vía XML.
4. ProviderData 0 Atributo interno Ofi. No se debe de enviar vía XML.
5. Routes 1..N Lista de trayectos. Si se solicita solamente un trayecto se obtendrá una lista de vuelos One-Way. Si hay más de un trayecto se obtendrá una lista de tarifas (RoundTrip y Multidestinos)
5.1 Destiny 1 Código Iata del aeropuerto de destino
5.2 Origin 1 Código Iata del aeropuerto de origen
5.3 DepartureDate 1 Fecha de salida del trayecto (yyyy-MM-dd)
5.4 ArrivalDate 1 Fecha de salida del trayecto (yyyy-MM-dd)
5.5 PreferedAirlines 0..N Listado de aerolineas preferidas
5.6 ExcludedAirlines 0..N Listado de aerolineas excluidas
5.7 MaximumArrivalTime 0..1 Máxima fecha de llegada
5.8 MaximumDepartureTime 0..1 Máxima fecha de salida
5.9 MinimumArrivalTime 0..1 Minima fecha de llegada
5.10 MinimumDepartureTime 0..1 Minima fecha de salida
5.11 ArrivalFlexibilityDays 0..1 Días de flexibilidad en la llegada
5.12 DepartureFlexibilityDays 0..1 Días de flexibilidad en la salida
5.13 OnlyDirectFlights 0..1 Booleano. Será true si solo se quieren vuelos directos sin escalas.
6 Adults 1..N Listado de pasajeros adultos.
6.1 Id 1 Identificador autonumerico global del pasajero.
6.2 Age 1 Edad del pasajero.
7 Childrens 0..N Listado de pasajeros niños.
7.1 Id 1 Identificador autonumerico global del pasajero.
7.2 Age 1 Edad del pasajero.
8 Infants 0..N Listado de pasajeros infantes.
8.1 Id 1 Identificador autonumerico global del pasajero.
8.2 Age 1 Edad del pasajero.
9 MinimunHoursToEmision 0..1 Mínimo número de horas para la emisión de billetes.
10 ResidentFare 0..1 Código de residencia para dto residentes. TCI Canarias, PMI Baleares y MLN para Melilla.
11 SearchLowCost 0..1 Booleano para indicar la búsqueda de vuelos low cost
11 OnlyDirectFlights 0..1 Booleano para indicar que solo queremos vuelos directos sin escalas.

Response

Campo Cardinalidad Descripción
AirAvailabilityResponse 1 Elemento root de la respuesta de búsqueda de vuelos
1. SessionId 1 Identificador único de la sesión
2. Success 1 True si OK, False si hay algún error
3. Message 0..1 En casos de error contiene la descripcion del mismo
4. Warnings 0 No se debe de tener en cuenta via XML
5. ProvidersErrors 0..N Listado de errores que devuelven los proveedores en la petición de disponibilidad
5.1 Time 0..N Hora del error
5.2 ProviderId 0..N Identificador del proveedor que devuelve el error
5.3 ProviderName 0..N Nombre del proveedor que devuelve el error
5.4 Message 0..N Mensaje de error que devuelve el proveedor
6 SessionId 1 Identificar único de la sesión. Necesario para lanzar las siguientes peticiones del flujo de reserva.
7 AirRates 0..N Listado de tarifas
7.1 RateId 1 Identificador único de la tarifa
7.2 RateId 1 Identificador único de la tarifa
7.3 ResidentRate 0..1 Código de residente si hay dto residente.
7.4 Constraints 1 Comentarios de la tarifa
7.5 Price 1 Valoración de la tarifa
7.5.1 Amount 1 Importe total
7.5.2 Cost 1 Importe base
7.5.3 Currency 1 Divisa
7.5.4 Taxes 1 Importe total de las tasas
7.5.5 Commission 1 Importe total de la comision
7.5.5 Mandatory 1 En este caso será siempre falso.
7.5.6 PriceLineThrough 1 En este caso será siempre 0.
7.5.7 PriceIsCalculatedInCore 1 En este caso será siempre 0.
7.5.8 FeeDetails 0..1 Detalles del fee de la agencia aplicado.
7.5.8.1 TotalFee 1 Importe total del fee aplicado
7.5.8.2 PerPax 1 Importe total del fee por persona aplicado
7.5.8.3 NumberOfPaxes 1 Nº de pasajeros
7.5.8.4 PerBooking 1 Importe total del fee aplicado por reserva
7.5.9 MarkupPercentageApplied 1 Detalles del % de markup aplicado. En este caso sera siempre 0.
7.5.10 MarkupAmountApplied 1 Detalles del importe de markup aplicado. En este caso sera siempre 0.
7.5.11 CommissionPercentageApplied 1 Detalles del % de comisión aplicado. En este caso sera siempre 0.
7.5.12 CommissionAmountApplied 1 Detalles del importe de comisión aplicado. En este caso sera siempre 0.
7.5.13 TaxesBreakdown 0..N Desglose de tasas.
7.5.13.1 TaxCode 1 Código de tasa.
7.5.13.2 TaxAmount 1 Importe de tasa.
7.6 Routes 1..N Rutas de la tarifa
7.6.1 OriginCity 1 Código Iata del aeropuerto origen de la ruta
7.6.2 DestinyCity 1 Código Iata del aeropuerto destino de la ruta
7.6.3 Flights 1..N Listado de opciones de vuelos de la ruta
7.6.3.1 FlightId 1 Identificador único del vuelo
7.6.3.2 FlightProviderId 1 Identificador único del proveedor vuelo
7.6.3.3 AvailablePalces 1 Plazas disponibles
7.6.3.4 FlightDuration 1 Duración del vuelo
7.6.3.5 Segments 1..N Lista de segmentos
7.6.3.5.1 SegmentId 1 Identificador del segmento
7.6.3.5.2 Operator 1 Identificador del segmento
7.6.3.5.3 Airline 1 Identificador del segmento
7.6.3.5.4 Origin 1 Origen del segmento
7.6.3.5.4.1 AirportCode 1 Código Aeropuerto
7.6.3.5.4.1 AirportName 1 Nombre del aeropuerto
7.6.3.5.4.1 AirportTerminal 1 Terminal del aeropuerto
7.6.3.5.4.1 City 1 Ciudad del aeropuerto
7.6.3.5.4.1 Country 1 Pais del aeropuerto
7.6.3.5.5 Destiny 1 Destino del segmento
7.6.3.5.6 DepartureDate 1 Fecha de salida del segmento
7.6.3.5.7 ArrivalDate 1 Fecha de llegada del segmento
7.6.3.5.8 FlightCode 1 Código del vuelo
7.6.3.5.10 FlightNumber 1 Nº del vuelo
7.6.3.5.11 Class 1 Clase de vuelo
7.6.3.5.11.1 Cabin 1 Código de cabina de la clase
7.6.3.5.11.2 Booking 1 Clase de booking de la clase
7.6.3.5.11.3 Code 1 Código de la clase del vuelo
7.6.3.5.11.4 Description 1 Descripción de la clase
7.6.3.5.12 AirlineCode 1 Código de la aerolinea
7.6.3.5.13 OperatorCode 1 Código del operador
7.6.3.5.14 FreeText 1 Texto libre
7.6.3.6 DepartureDate 1 Fecha de salida
7.6.3.7 ArrivalDate 1 Fecha de llegada
7.6.3.8 OriginSegment 1 Segmento origen
7.6.3.9 DestinySegment 1 Segmento destino
7.6.3.10 FlightDurationDescription 1 Descripción de la duración del vuelo en horas y minutos.
7.6.3.11 BaggagesIncluded 1 Maletas incluidas en el precio de la tarifa
7.6.3.11 BaggageWeight 1 Peso de las maletas incluidas en el precio de la tarifa
7.6.3.12 FareFamilyName 0..1 Nombre de la familia de tarifas en el caso de que tenga Fare Families
7.7 EmissionDeadline 1 Fecha límite de emisión
7.8 AirProviderId 1 Identificador del proveedor
7.9 IsMultiDestination 1 Será true si la tarifa es Multitrayecto
7.10 IsRoundTrip 1 Será true si la tarifa es Ida y Vuelta
7.11 PriceTicketing 1 Será L si la tarifa es Light Ticketing, vacio si no lo es
7.12 ProviderId 1 Identificador del proveedor
7.13 RealProviderId 1 Identificador del proveedor
7.14 ProviderName 1 Nombre del proveedor
7.15 FareType 1 Tipo Enumerado: Puede tomar los valores PublicFare y NegotiatedFare.
8 OneWayFlights 0..1 Resultados de vuelos de OneWay
8.1 OutwardFlights 1..N Resultados de vuelos de OneWay de ida
8.1.1 FlightId 1 Identificador del vuelo
8.1.2 ProviderFlightId 1 Identificador del proveedor del vuelo
8.1.3 SystemProviderId 1 Identificador del prestatario del vuelo
8.1.4 AvailSeats 1 Asientos disponibles
8.1.5 TravelDuration 1 Dureación del vuelo en minutos
8.1.6 AirClass 1 Clase del vuelo
8.1.7 Fares 1..N Tarifas del vuelo
8.1.7.1 Type 1 Tipo de la tarifa
8.1.7.2 Code 1 Código de la tarifa
8.1.7.3 Name 1 Nombre de la tarifa
8.1.7.4 Id 1 Identificador de la tarifa
8.1.7.5 ProviderFareId 1 Identificador del proveedor de la tarifa
8.1.7.6 ResidentFare 1 Código de residente. Será vacio o PMI, TCI y MLN
8.1.7.7 ConditionsRules 1 Reglas de la tarifa
8.1.7.8 EmissionDeadline 1 Fecha limite de emisión
8.1.7.9 Price 1 Precio de la tarifa
8.1.8 Segments 1..N Segmentos del vuelo
8.1.9 BaggageWeight 1 Peso de las maletas incluidas en el precio si las hay
8.1.10 FareFamilyName 0..1 Nombre de la familia de tarifas en el caso de que tenga Fare Families
8.1.10 BaggagesIncluded 1 Número de maletas incluidas
8.1.11 PriceTicketing 1 Será "L" si es Light Ticketing o vacio en otro caso
8.1.12 FareType 1 Enumerado. Posibles valores: PublicFare o NegotiatedFare
8.1.13 ProviderId 1 Identificador del proveedor del vuelo
8.1.14 RealProviderId 1 Identificador del proveedor del vuelo
8.1.15 ProviderName 1 Será "L" si es Light Ticketing o vacio en otro caso
8.2 ReturnFlights 0..N Resultados de vuelos de OneWay de vuelta

Ejemplo request

Ejemplo response

FareFamilies

En este apartado se describe la petición y la respuesta de la Familia de tarifas a partir de una tarifa seleccionada en disponibilidad en el caso de que el campo FareFamilyName este relleno. Si ese campo está relleno ese resultado tiene Fare Families, si no esta relleno no tiene. Además el dueño de CAU debe de ponerse en contacto con Amadeus para solicitar la activación de Fare Families por parte de Amadeus.

Request

Campo Cardinalidad Descripción
FareFamiliesRequest 1 Elemento root de la petición de Fare Families
1. ConsumerId 1 Identificar del consumidor
2. LanguageIsoCode 1 Código ISO del lenguaje
3. InternalAgencyData 0 Atributo interno Ofi. No se debe de enviar vía XML.
4. ProviderData 0 Atributo interno Ofi. No se debe de enviar vía XML.
5. RateId 1 Identificador de la tarifa seleccionada.
6. SelectedFlightsIds 1..N Lista de identificadores de los vuelos seleccionados. Enviar ordenados por trayecto. El primero de la lista debe ser el Id del vuelo seleccionado para el primer trayecto.
7. SessionId 1 Identificador único de la sesión. Hay que enviar el mismo sessionId de AirAvailabilityResponse

Response

Campo Cardinalidad Descripción
FareFamiliesResponse 1 Elemento root de la petición de Fare Families
1. SessionId 1 Identificador único de la sesión
2. Success 1 True si OK, False si hay algún error
3. Message 0..1 En casos de error contiene la descripcion del mismo
4. Fare 1..N Lista de tarifas
4.1 BookingClass 1..N Lista de clases de vuelos
4.2 FareFamilyname 1 Nombre de la familia
4.3 FareTerms 1 Terminos de la familia
4.4 Price 1 Precio de la familia
4.6 Services 1..N Lista de servicios de la familia
4.6.1 Description 1 Descripción del servicio
4.6.2 ServiceInfo 1 Descripción del servicio
4.6.2.1 Code 1 Codigo ATPCO del servicio
4.6.2.2 Group 1 Grupo ATPCO del servicio
4.6.2.3 GroupDescription 1 Descripción ATPCO del servicio
4.6.2.4 SubGroup 1 Subgrupo ATPCO del servicio
4.6.3 ApplicabilityIndicator 1 Tipo enumerado: AtACharge (disponible con cargo), Included (incluido con la tarifa), NotOffered (no se oferta en esta familia), Unknow (este servicio esta en otra familia, pero en esta familia Amadeus no lo informa)
4.7 FareBasisCodes 1..N Lista de FareBasis

PreBooking

En este apartado se describe la petición y la respuesta de la prereserva de vuelos a partir de una tarifa seleccionada en disponibilidad. Con este método se pretende realizar un bloqueo de las plazas y obtener el precio definitivo.

Request

Campo Cardinalidad Descripción
AirPreBookingRequest 1 Elemento root de la petición de preserva de vuelos
1. ConsumerId 1 Identificar del consumidor
2. LanguageIsoCode 1 Código ISO del lenguaje
3. InternalAgencyData 0 Atributo interno Ofi. No se debe de enviar vía XML.
4. ProviderData 0 Atributo interno Ofi. No se debe de enviar vía XML.
5. RateId 1 Identificador de la tarifa seleccionada.
6. RateIdReturn 0..1 Identificador de la tarifa del vuelo de vuelta. Solamente enviar en el caso de Ida/Vuelta OneWay.
7. SelectedFlightsIds 1..N Lista de identificadores de los vuelos seleccionados. Enviar ordenados por trayecto. El primero de la lista debe ser el Id del vuelo seleccionado para el primer trayecto.
8. SessionId 1 Identificador único de la sesión. Hay que enviar el mismo sessionId de AirAvailabilityResponse
9. FareFamilySelected 0..1 Identificador de la familia de tarifas en el caso de que se haya seleccionado un Fare Family

Response

Campo Cardinalidad Descripción
AirPreBookingResponse 1 Elemento root de la respuesta de prereserva de vuelos
1. SessionId 1 Identificador único de la sesión
2. Success 1 True si OK, False si hay algún error
3. Message 0..1 En casos de error contiene la descripcion del mismo
4. SessionId 1 Identificador único de la sesion
5. CompanyCode 1 Aerolinea de la tarifa seleccionada
6. Price 1 Precio de la tarifa seleccionada
7. IsLowCost 1 Será true si es LowCost
8. IsLightTicketing 0..1 Será true si es Light Ticketing
9. Rules 0..N Reglas/Condicionantes de la tarifa
10. IdJourney 0 No se debe de tener en cuenta via XML.
11. Discount 0 No se debe de tener en cuenta via XML.
12. EmissionDeadline 1 Fecha límite de emisión
13. ResidentDiscountCode 0..1 En casos de dto residente se devuelve el código de residente.

BaggageList

En este apartado se describe la petición y la respuesta del método para obtener las maletas adicionales que se pueden añadir en pre-venta. Este método no funciona con todos los proveedores. Actualmente solo está disponible en el NDC Iberia

Request

Campo Cardinalidad Descripción
BaggageListRequest 1 Elemento root de la petición para obtener maletas extra
1. ConsumerId 1 Identificar del consumidor
2. LanguageIsoCode 1 Código ISO del lenguaje
3. InternalAgencyData 0 Atributo interno Ofi. No se debe de enviar vía XML.
4. ProviderData 0 Atributo interno Ofi. No se debe de enviar vía XML.
5. ProviderData 1 Identificador de la sesión.

Response

Campo Cardinalidad Descripción
BaggageListResponse 1 Elemento root de la respuesta para obtener maletas extra
1. SessionId 1 Identificador único de la sesión
2. Success 1 True si OK, False si hay algún error
3. Message 0..1 En casos de error contiene la descripcion del mismo
4. SessionId 1 Identificador de la sesión
5. BagAllowanceList 0..N Listado de maletas extra que se pueden añadir en pre-venta
5.1 Id 1 Identificador de la maleta extra
5.2 Flights 1..N Vuelos a los que se aplica
5.3 TotalQuantity 1 Cantidad máxima
5.4 MaximumWeight 1 Peso máximo
5.5 Price 1 Precio extra de la maleta a añadir al precio de la prereserva.

SeatAvailability

En este apartado se describe la petición y la respuesta del mapa de asientos libres para la selección de asientos en pre-venta. Este método no está disponible para todos los proveedores. Actualmente solo está disponible para el NDC de Iberia y NDC de British Airways.

Request

Campo Cardinalidad Descripción
SeatAvailabilityRequest 1 Elemento root de la petición de selección de asientos
1. ConsumerId 1 Identificar del consumidor
2. LanguageIsoCode 1 Código ISO del lenguaje
3. InternalAgencyData 0 Atributo interno Ofi. No se debe de enviar vía XML.
4. ProviderData 0 Atributo interno Ofi. No se debe de enviar vía XML.
5. SessionId 1 Identificador único de la sesión.

Response

Campo Cardinalidad Descripción
SeatAvailabilityResponse 1 Elemento root de la respuesta de selección de asientos
1. SessionId 1 Identificador único de la sesión
2. Success 1 True si OK, False si hay algún error
3. Message 0..1 En casos de error contiene la descripcion del mismo
4. SessionId 1 Identificador único de la sesión
5. Flights 0..N Listado de vuelos prereservados dividos por cabinas
5.1 Origin 1 Origen del vuelo
5.2 Destination 1 Destino del vuelo
5.3 FlightSegmentReference 1 Código del vuelo
5.4 CabinCode 1 Código de la cabina
5.4 CabinDefinition 1 Descripción del código de cabina
5.5 SeatMapDisplay 1 Mapa de asientos para el vuelo y cabina
5.5.1 Columns 1..N Listado de columnas de asientos
5.5.1.1 Name 1 Nombre de la columna: A,B,C, etc...
5.5.1.2 Position 1 Puede ser Window si es ventanilla, Aisle si es pasillo o vacio
5.5.2 RowsFirst 1 Primera fila de la cabina
5.5.3 RowsLast 1 Ultima fila de la cabina
5.5.4 NotAvailableSeats 0..N Listado de asientos no disponibles
5.5.4.1 Row 1 Fila del asiento
5.5.4.2 Column 1 Columna del asiento
5.5.5 AvailableSeats 1..N Listado de asientos disponibles
5.5.4.1 Row 1 Fila del asiento
5.5.4.2 Column 1 Columna del asiento
5.5.5.3 Id 1 Identificador del asiento
5.5.5.4 ServiceId 1 Identificador del servicio
5.5.5.5 Characteristics 0..N Listado de caracteristicas del asiento
5.5.5.6 Price 1 Precio del asiento extra en pre-venta. A sumar al precio obtenido en la prereserva.

Booking

En este apartado se describe la petición y la respuesta de la petición de confirmación de reserva de vuelos.

Como resultado de este método se obtendrá una reserva "Pendiente de Emisión" o "Confirmada" según la siguiente lógica:

- Se obtendrá una reserva Pendiente de Emisión si:

      - Proveedor final Amadeus.

      - Proveedor final NDC Iberia o NDC British Airways y la agencia es Iata y no hay ancillaries services (maletas extras o selección de asientos).

      - Proveedor final Travelport Galileo.

      - Proveedor final CDV.

- Se obtendrá una reserva Confirmada (no hay que llamar a IssueTicket) si:

      - Proveedor final Traveloop/Pursuit

      - Proveedor final NDC Iberia o NDC British Airways y la agencia no es Iata. En este caso además el pago se realizará mediante tarjeta de crédito.

      - Proveedor final NDC Iberia o NDC British Airways y hay selección de ancillaries services (maletas extras o selección de asientos) o bien faltan pocas horas para la fecha límite de emisión.

      - Proveedor final Travelport ACH LC. En este caso además el pago se realizará mediante tarjeta de crédito.

Una reserva se podrá cancelar solamente si su estado es Pendiente de Emisión. Una reserva Confirmada no se puede cancelar.

Request

Campo Cardinalidad Descripción
AirAvailabilityRequest 1 Elemento root de la petición de reserva de vuelos
1. ConsumerId 1 Identificar del consumidor
2. LanguageIsoCode 1 Código ISO del lenguaje
3. InternalAgencyData 0 Atributo interno Ofi. No se debe de enviar vía XML.
4. ProviderData 0 Atributo interno Ofi. No se debe de enviar vía XML.
5. ProviderId 1 Identificador del proveedor de la tarifa seleccionada.
6. SessionId 1 Identificador de la sesión
7. ClientLocator 1 Localizador que la agencia le da a la reserva.
8. Passengers 1..N Listado de pasajeros de la reserva
8.1 Name 1 Nombre del pasajero
8.2 Surname 1 Apellidos del pasajero
8.3 Birthday 1 Fecha de nacimiento del pasajero
8.4 Passport 1 NIF del pasajero
8.5 Mail 1 Email del pasajero
8.6 PassengerType 1 Tipo de pasajero: Adult, Child o Baby
8.7 PostalCode 0..1 Código postal del pasajero
8.8 ResidentCityCode 0..1 Ciudad de residencia del pasajero residente. En el caso de pasajero residente será necesario indicar la ciudad de residencia obtenida de la respuesta de GetResidentCities
8.9 BaggagesId 0..N Listado de Identificadores de maletas extra. En el caso de trabajar con un proveedor que permita añadir maletas extra, se pueden añadir maletas a la reserva indicando los id obtenidos del método BaggageList
8.9 Seats 0..N Listado de asientos seleccionados. En el caso de trabajar con un proveedor que permita selección de asientos, se puede añadir selección de asientos mediante la llamada al método SeatAvailability
8.9.1 ServiceId 1 Identificador del servicio del asiento
8.9.2 SeatId 1 Identificador del asiento
8.9.3 Column 1 Columna del asiento
8.9.3 Row 1 Fila del asiento
9. AccountInformation 0 Atributo interno Ofi. No se debe de enviar vía XML.

Response

Campo Cardinalidad Descripción
AirBookingResponse 1 Elemento root de la respuesta de reserva de vuelos
1. SessionId 1 Identificador único de la sesión
2. Success 1 True si OK, False si hay algún error
3. Message 0..1 En casos de error contiene la descripcion del mismo
4. BookingId 1 Localizador del proveedor
5. Payable 1 Pagadero por. En el caso de vuelos será siempre vacio.
6. LightTicketing 1 Será true si es una reserva de vuelos Light Ticketing (solo Amadeus)
7. Price 1 Precio de la reserva
8. BookingStatus 1 Estado de la reserva. Posibles valores: Confirmada, PendienteEmision, Cancelada, BajoPeticion, Fallida

GetPNR

En este apartado se describe la petición y la respuesta del método para obtener la información de un PNR a partir del localizador de una reserva.

Request

Campo Cardinalidad Descripción
GetPnrRequest 1 Elemento root de la petición para obtener la información de un PNR
1. ConsumerId 1 Identificar del consumidor
2. Locata 1 Localizador del proveedor
3. ProviderId 1 Identificador del proveedor.
4. SessionId 0..1 SessionId de la reserva. No es obligatorio pero si recomendable.

Response

Campo Cardinalidad Descripción
GetPnrResponse 1 Elemento root de la respuesta para obtener la información de un PNR<
1. Success 1 True si OK, False si hay algún error
2. Message 0..1 En casos de error contiene la descripcion del mismo
3. DataElements 0..N Especifica elementos varios del PNR, tales como SSRs
3.1 FreeText 0..1 Texto libre de información
3.2 LineNumber 0..1 Nº de linea segmento/elemento atribuido por el servidor de Amadeus
3.3 OptionCategory 0..1 Categoria del elemento opcional/td>
3.4 OptionDate 0..1 Fecha del elemento opcional
3.5 OptionFreeText 0..1 Texto libre del elemento opcional/td>
3.6 OptionMainOffice 0..1 Id de oficina del elemento opcional
3.7 OptionTime 0..1 Tiempo de espera o cancelación del elemento opcional
3.8 ReferenceForDataElements 0..N Listado de información de referencia
3.9 ReferenceQualifier 0..1 Id de Tatoo. Puede ser:
PT (Passenger Tatoo)
ST (SegmentTatoo)
OT (Other element Tatoo)
SS (Segment Tatoo+SubTatoo)
3.10 ReferenceNumber 0..1 LNúmero atribuido por el Servidor a referencia el segmento / elemento PNR
3.11 Remarks 0..N Observaciones
3.12 SegmentName 0..1 Segmento del PNR. Puede ser:
AB (Billing Address element)
AB/ (Structured Billing Address Element)
AI (Accounting Information element)
AIR (Air segment)
AK (Train Pending Acknowledgement element)
AM (Mailing Address Element)
AM/ (Structured Mailing Address Element)
AP (Contact element)
AQ (Address Verification element)
AU (ATX - Non-automated Air Taxi auxiliary segment)
AZ (Back-Office Information element)
CCR (Automated Car auxiliary segment)
CRU (CRUISE Distribution segment)
CU (Non-automated Car auxiliary segment)
ERR (Error Line)
ES (Individual PNR Security element)
FA (Ticket Number Automated Tickets element)
FB (AIR Sequence Number element)
FD (Fare Discount element)
FE (Endorsements / Restrictions element)
FG (Shadow AIR Sequence Number element)
FH (anual Document Registration element)
FHA (Manual Document Registration element - with Automated Ticket number)
FHE (Manual Document Registration element - with Eletronic Ticket number)
FHM (Manual Document Registration element - with Manual Ticket number)
FI (Automated Invoice Number element)
FM (Commission element)
FN (Transmission Control Number element)
FO (Original Issue / Issue in Exchange For element)
FP (Form of Payment element)
FRR (Ferry segment)
FS (Miscellaneous Ticketing Information element)
FT (Tour Code element)
FV (Ticketing Carrier Designator element)
FZ (Miscellaneous Information element)
HAY (Non-automated AY direct Access Hotel)
HHL (Automated Hotel auxiliary segment)
HU (Non-automated Hotel auxiliary segment)
INS (Insurance segments)
IU (Manual Auxiliary Service Segment)
NFP (Neutral Form of Payment element)
NG (Group Name element)
OP (Option element)
OS (Other Special Information element)
PL (Priority Line element)
RC (Confidential Remark element)
RF (Receive From element)
RIA (Invoice Adjustment Remark element)
RIB (Mini office profile invoice agency billing)
RIC (Mini office profile due date and agency)
RID (Mini office profile invoice due date)
RIF (Invoice Remark element)
RII (Invoice and itinerary Remark element)
RIM (Mini office profile itinerary Remark element)
RIO (Mini Office profile Itinerary and Invoice)
RIP (Mini office profile invoice remark element)
RIR (Itinerary Remark element)
RIS (Invoice service fee remark element)
RIT (Override Invoice total amount remark element)
RIU (Form of payment for auxiliary segments)
RIZ (Filler strip information remark element)
RM (General Remark elementt)
RQ (Quality control remark element)
RR (Assiciated cross reference record element)
RU (Non-automated Miscellaneous auxiliary segment)
SP (Split party element)
SSR (SSR element)
SUR (Ground transportation (surface) segment)
TK (Ticket element)
TRN (Train Amtrak segment)
TTO (Tour source segment)
TU (Non-automated Tour auxiliary segment)
WA (Warning Line)
3.13 SsrCompanyId 0..1 Código de la aerolinea del SSR (special requirements)
3.14 SsrFreeText 0..1 Texto del SSR (special requirements)
3.15 SsrQuantity 0..1 Cantidad de servicios del SSR (special requirements)
3.16 SsrStatus 0..1 Estado del SSR. Puede ser:
A (Add)
AC (Accrual)
AL (Aiport control)
B (Flown/used)
BD (Boarded)
C (Change)
CK (Checked in)
D (Reprint)
DB (Deboarded)
DN (Denied boarding)
E (Exchanged/reissued)
F (Critical free text)
G (Non air segment)
I (Original Issue)
IF (Information only)
IO (Irregular operations)
K (Confirmed, effective, working, firm, etc)
NC (Not checked in)
OF (Offloaded)
OK (Confirmed)
P (Provisional, draft proposed subject to change, etc)
PE (Print Exchange)
PR (Printed)
R (Request)
RD (Redemption)
RF (Refunded)
RQ (Requested)
S (Suspended)
SA (Space Available)
SB (Standby)
T (Ticketed)
V (Void)
WL (Waitlisted)
X (Cancel)
3.17 SsrType 0..1 Tipo del SSR (special requirements)
3.18 SubjectQualifier 0..1 Tipo de información. Puede ser:
1 (Coded free text)
3 (Literal text)
4 (Coded and literal text)
CHG (Change information)
PRD (Product information)
SAF (Safety information)
SIM (IATA SSIM defined information)
SPH (Special handling)
STN (Statutory notice)
TRA (Transportation information)
ZZZ (Mutually difined (bilateral or internal informatio)
3.19 TicketDate 0..1 Fecha de creación del ticket
3.20 TicketIndicator 0..1 Tipo de ticket: Puede ser: TL, OK, DO, IN, MA, TR, AT, PT, XL, ST, SS
3.21 TicketOfficeId 0..1 Office Id
3.22 Type 0..1 Tipo de información. Puede ser:
10 (Endorsement information)
11 (Commission information)
12 (Tour number)
16 (Form of payment information)
17 (Ticketing information)
2 (Address (home or hotel))
28 (Other service information (OSI))
3 (Business phone)
4 (Home phone number)
45 (Original issue information)
5 (Telephone nature not known)
6 (Travel agent telephone number)
60 (Manual Priority Line)
61 (Priority line transferred from Traveller profile)
62 (Priority line transferred from Company profile)
63 (Priority line transferred from Agency profile)
7 (Mobile phone number)
N (Notification element)
P01 (Fax number)
P02 (E-mail address)
P03 (Internet address)
P04 (Fare discount)
P05 (Fare print override)
P06 (Automated ticket)
P07 (AIR sequence number)
P08 (Mailing address)
P09 (Address verification)
P10 (AK-train pending information)
P11 (Temporary TAG line of the PNR header)
P12 (TAG line of the PNR header)
P13 (Retrieve options of the PNR header)
P14 (Shadow AIR sequence number)
P15 (Manual document)
P16 (Automated invoice number)
P17 (Control number)
P18 (Ticketing carrier)
P19 (Miscellaneous information)
P20 (Accounting information)
P21 (Option information)
P22 (Receive from)
P27 (Other special information element)
P28 (Seat Key Options (ADST))
4. DateTimeBooking 1 Fecha de creación del PNR
5. ItineraryInfo 1..N Información del itinerario. Listado de segmentos del PNR
5.1 ArrivalDate 1 Fecha de llegada
5.2 ArrivalTerminal 0..1 Terminal de llegada
5.3 CheckInTime 0..1 Hora del check-in
5.4 ClassOfService 1 Clase del vuelo
5.5 CompanyCode 1 Código de la aerolinea
5.6 ControlNumberReservation 0..1 Código de reserva
5.7 DepartureDate 1 Fecha de salida
5.8 Destination 1 Aeropuerto destino
5.9 Equipment 0..1 Modelo de avión
5.10 Identification 1 Nº de vuelo
5.11 NumOfStops 1 Nº de paradas
5.12 Origin 1 Aeropuerto de origen
5.13 Quantity 1 Cantidad
5.14 Status 0..1 Estado del segmento. Puede ser:
A (Add)
AC (Accrual)
AL (Aiport control)
ALL (Allocated)
AVA (Available)
B (Flown/used)
BD (Boarded)
C (Change)
CK (Checked in)
CLO (Closed)
D (Reprint)
DB (Deboarded)
DN (Denied boarding)
E (Exchanged/reissued)
F (Critical free text)
G (Non air segment)
HK (Holding Confirmed)
HL (Holding Wailist)
HN (Holding Need)
HX (Have Cancelled)
I (Original Issue)
IF (Information only)
INU (In use)
IO (Irregular operations)
K (Confirmed, effective, working, firm, etc)
KK (Confirming)
LIM (Limitations on use)
LK (Guaranteed Sell)
NAV (Not available)
NC (Not checked in)
NN (Need Segment)
NO (No Action taken)
NS (Infant no seat)
OF (Offloaded)
OK (Confirmed)
OLD (Replaced item)
OPE (Open)
P (Provisional, draft proposed subject to change, etc)
PAV (Partial availability)
PE (Print Exchange)
PR (Printed)
PRF (Preferred)
PRP (Proposed or intended allocation)
R (Request)
RD (Redemption)
REP (Replacement)
REV (Revised)
RF (Refunded)
RQ (Requested)
S (Suspended)
SA (Space Available)
SB (Standby)
T (Ticketed)
UC (Unable to accept request for sale)
UNS (Unserviceable)
UX (Have Cancelled)
V (Void)
WL (Waitlisted)
X (Cancel)
5.15 TypeDetail 0..1 Tipo segmento. Puede ser:
A (Codeshare service)
B (Bus)
BP (Specified fare break point)
BR (Booked reservations booking designator (RBD))
BUS (Bus)
C (Connection portion of journey)
CR (Car Rental)
CS (Cruise Ship)
D (Direct service)
E (End of journey)
EN (Not electronic ticket candidate)
ET (Electronic ticket candidate)
F (Charter Flight)
H (Hovercraft)
HT (Hotel)
I (Inbound flight)
IA (IATA (International Air Transport Association))
J (Stopover permitted)
K (Stopover not permitted)
L (Inclusive)
LX (Exclusive)
M (Marketing flight grouping indicator)
MC (Conditional marketing flight grouping indicator)
N (Non-stop service)
O (Operating flight)
P (Passenger's disposition, unknown)
Q (Last part)
RB (Specified fare break point-replacement break point)
RR (Recommended reservations booking designator (RBD))
S (Start of journey)
SHP (Ship)
SM (Smoking)
ST (Side trip)
T (Transfer)
TD (By departure time)
TE (By elapsed time)
TLA (Ticketless Access Carrier)
TN (In neutral order)
TR (Train)
TRN (Train)
TS (Three segment connection)
U (Stopover or connection unknown)
V (Stopover point)
X (Connect point)
5.16 DepartureTerminal 0..1 Terminal de salida
5.17 FlightMeal 0..1 Comida a bordo
6. Locata 1 Localizador del PNR
7. Passengers 1..N Listado de pasajeros de la reserva
7.1 DateOfBirthInfant 0 Siempre vacio
7.2 DisplayedName 0 Siempre vacio
7.3 Id 0 Siempre vacio
7.4 Infant 0 Siempre vacio
7.5 Name 1 Nombre del pasajero
7.6 NameType 0 Siempre vacio
7.7 ReferenceName 0 Siempre vacio
7.8 Surname 1 Apellidos del pasajero
7.9 Type 1 Tipo de pasajero: Puede ser: ADT, CHD, INF
8. PnrString 1 String en bruto de la respuesta de obtención del PNR del proveedor.
9. SecurityInfo 0..1 En casos de error contiene la descripcion del mismo
9.1 AgentId 0..1 Id agente que creó el Pnr
9.2 IataCode 0..1 Código Iata de la agencia
9.3 OfficeId 0..1 Id Oficina de Amadeus
9.4 TypeOfPnrElement 0..1 Tipo de Pnr: RR Associated Cross Reference Record, SP Split Party o RP PNR Header line.
10. Tickets 0..N Listado de billetes del PNR. Será vacio si la reserva esta pendiente de emisión. Contendrá billetes si está emitida.
10.1 CompanyCode 1 Es el prefijo de la aerolinea. En esta web puedes consultar el prefijo que tiene cada aerolínea. Por ejemplo Iberia IB es 075 (coindice tambien con los 3 primeros dígitos del número de billete) https://www.azfreight.com/airline_names_codes_results.html?type=awb
10.2 TicketNumber 1 Número de billete
10.3 Connected 1 Valor booleano que indica si el billete es conexionado o no. Por norma un billete no puede tener más de 10 trayectos. Si la reserva tiene más de 10 trayectos, por ejemplo 12, tendrás un billete con 10 trayectos y otro con 2 con conexionado true. Los billetes conexionados no tienen importes y deben de enviarse justo después del billete padre..
10.4 Journey 1 Descripción del itinerario del billete. Es un listado de códigos Iata de aeropuertos separados por ' - '. Por ejemplo: "MAD - BCN - MAD"
10.5 Valuation 1 Valoración del billete
10.5.1 Currency 1 Código de divisa del billete.
10.5.2 SaleCommissionable 1 Precio de venta del billete
10.5.3 CostCommissionable 1 Precio base del billete
10.5.4 TotalTaxes 1 Total tasas del billete.
10.5.5 TaxesBreakdown 0..N Desglose de tasas.
10.5.5.1 TaxCode 1 Código de la tasa.
10.5.5.2 TaxAmount 1 Importe de la tasa.
11. PurgeDateData 1 Fecha limite de emisión.

PreCancel

En este apartado se describe la petición y la respuesta del método para obtener los gastos de cancelación de una reserva.

Se recomienda llamar a este método antes realizar la llamada al método Cancel.

Request

Campo Cardinalidad Descripción
AirPreCancelRequest 1 Elemento root de la petición de pre cancelación de vuelos
1. ConsumerId 1 Identificar del consumidor
2. LanguageIsoCode 1 Código ISO del lenguaje
3. InternalAgencyData 0 Atributo interno Ofi. No se debe de enviar vía XML.
4. ProviderId 1 Identificador del proveedor de la reserva.
5. Locata 1 Localizador de la reserva.

Response

Campo Cardinalidad Descripción
AirPreCancelResponse 1 Elemento root de la respuesta de pre cancelación de una reserva de vuelos
1. Success 1 True si OK, False si hay algún error
2. Message 0..1 En casos de error contiene la descripcion del mismo
3. CancellationPolicyDescription 0..1 Descripción de la política de cancelación. Casí siempre llegará vacía
4. CancellationPrice 1 Precio de la cancelación

Cancel

En este apartado se describe la petición y la respuesta de cancelación de una reserva.

Solamente son susceptibles de cancelar las reservas cuyo estado es Pendiente de Emisión.

Request

Campo Cardinalidad Descripción
AirCancelRequest 1 Elemento root de la petición de cancelación de una reserva de vuelos
1. ConsumerId 1 Identificar del consumidor
2. LanguageIsoCode 1 Código ISO del lenguaje
3. InternalAgencyData 0 Atributo interno Ofi. No se debe de enviar vía XML.
4. ProviderId 1 Identificador del proveedor de la reserva.
5. Locata 1 Localizador de la reserva.

Response

Campo Cardinalidad Descripción
CancelResponse 1 Elemento root de la respuesta de cancelación de una reserva de vuelos
1. Success 1 True si OK, False si hay algún error
2. Message 0..1 En casos de error contiene la descripcion del mismo
3. IsCancel 1 True si la reserva se ha cancelado correctamente.
4. CancellationPrice 1 Precio de la cancelación.
5. Remark 0..1 Comentarios del proveedor en la cancelación. Puede ser vacio.
6. CancelLocata 0..1 Localizador del proveedor en la cancelación. Puede ser vacio.

IssueTicket

En este apartado se describe la petición y la respuesta de emisión de una reserva pendiente de emisión.

Como efecto a la llamada de este método, una reserva pendiente de emisión pasará a ser una reserva confirmada.

Request

Campo Cardinalidad Descripción
AirIssueTicketRequest 1 Elemento root de la petición de emisión de una reserva de vuelos
1. ConsumerId 1 Identificar del consumidor
2. LanguageIsoCode 1 Código ISO del lenguaje
3. ProviderId 1 Proveedor de la reserva.
4. Locata 1 Localizador del proveedor la reserva.
5. ClientLocator 1 Localizador del cliente de la reserva.
6. IsLowCost 0..1 Será True si la reserva es low cost, False en otro caso.
6. ResidentDiscount 0..1 Será True si la reserva es con dto residente, False en otro caso.
7. Commission 0..1 Para especificar el importe (en €) de la comisión del PNR, solo Amadeus. No obligatorio.
8. SessionId 0..1 Identificador de la sesión del proceso de reserva. No es obligatorio pero si recomendable.

Response

Campo Cardinalidad Descripción
AirIssueTicketResponse 1 Elemento root de la respuesta de emisión de una reserva de vuelos
1. Success 1 True si OK, False si hay algún error
2. Message 0..1 En casos de error contiene la descripcion del mismo
2. Code 1 Código de la emisión: 0 si OK, o 120 si Error.
3. Status 1 Estado de la emisión. Puede ser ISSUED si OK o ERROR_ISSUE si hay error al emitir.
4. ClientLocator 1 Localizador del cliente
5. ProviderLocator 1 Localizador del proveedor

Requote

Se describe la petición y la respuesta del método de recotización de un Pnr. Este método es necesario en el caso de querer emitir un Pnr del que ya ha pasado su fecha de creación. Es decir, que no se emite en el mismo día. Devuelve el cambio de precio de la reserva en el caso de que lo haya.

Request

Campo Cardinalidad Descripción
AirRequoteRequest 1 Elemento root de la petición de recotización de un PNR
1. ConsumerId 1 Identificar del consumidor
2. LanguageIsoCode 1 Código ISO del lenguaje
3. ProviderId 1 Identificador del proveedor.
4. Locata 1 Localizador externo del PNR.

Response

Campo Cardinalidad Descripción
AirRequoteResponse 1 Elemento root de la respuesta de recotización de un PNR
1. SessionId 1 Identificador único de la sesión
2. Success 1 True si OK, False si hay algún error
3. Message 0..1 En casos de error contiene la descripcion del mismo
4. OriginalPrice 1 Precio antes de recotizar
5. NewPrice 0..1 Precio después de recotizar
6. OriginalEmissionDeadline 1 Fecha límite de emisión antes de recotizar
7. NewEmissionDeadline 0..1 Fecha límite de emisión antes de recotizar
8. PnrRetrieve 1 Respuesta de GetPNR. Misma estructura que GetPnrResponse
9. PnrProviderString 1 Respuesta en texto sin normalizar que devuelve el proveedor al obtener la info del Pnr

GetResidentCities

En este apartado se describe la petición y la respuesta para obtener las ciudades asociadas a un código de residente.

Request

Campo Cardinalidad Descripción
GetResidentCitiesRequest 1 Elemento root de la petición para obtener las ciudades de residencia
1. ConsumerId 1 Identificar del consumidor
2. LanguageIsoCode 1 Código ISO del lenguaje
3. ResidentCode 1 Código de residencia: TCI canarias, PMI baleares o MLN melilla.

Response

Campo Cardinalidad Descripción
GetResidentCitiesResponse 1 Elemento root de la respuesta de obtención de ciudades de residencia
1. Success 1 True si OK, False si hay algún error
2. Message 0..1 En casos de error contiene la descripcion del mismo
3. Cities 1..N Listado de ciudades asociadas al código de residente.
3.1 Code 1 Código de ciudad.
3.2 City 1 Nombre de ciudad.
3.3 Resident 1 Código de residente.