sabre-client 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.es.md +202 -21
- package/README.md +202 -21
- package/dist/index.d.ts +2726 -693
- package/dist/index.js +495 -115
- package/dist/index.js.map +1 -1
- package/dist/reservation-history-bKDqkf8T.d.ts +788 -0
- package/dist/testing.d.ts +129 -7
- package/dist/testing.js +475 -57
- package/dist/testing.js.map +1 -1
- package/package.json +1 -1
- package/dist/queue-ref-BDGh8FrV.d.ts +0 -11
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Q as QueueRef } from './
|
|
1
|
+
import { R as RetryOptions, S as SabreError, a as SabreRawResponseCallback, b as SabreRawRequestCallback, c as SabreWarning, d as SabreBusinessError, O as OtaAirLowFareSearchRq, G as GroupedItineraryResponse, B as BargainFinderMaxRequest, I as ItineraryGroup, e as Itinerary, f as RequestOptions, g as BargainFinderMaxResponse, Q as QueueRef, h as QueueActivityRequest, i as QueueActivityOptions, j as QueueActivityResponse, k as ReservationHistoryOptions, l as ReservationHistoryResponse } from './reservation-history-bKDqkf8T.js';
|
|
2
|
+
export { m as BaggageAllowanceDesc, n as BaggageInformation, C as CurrencyConversion, F as Fare, o as FareComponent, p as FareComponentDesc, q as FareComponentDescSegment, r as FareComponentSegment, s as FareComponentSegmentDetail, t as FareMessage, u as ItineraryMessage, L as Leg, v as LegDesc, w as LegDescription, x as LegSchedule, y as LegScheduleRef, z as LowFareSearchFlight, A as LowFareSearchLocation, D as LowFareSearchOriginDestination, E as LowFareSearchPassengerTypeQuantity, H as LowFareSearchRequestorId, J as LowFareSearchSource, K as LowFareSearchTpaExtensions, M as LowFareSearchTravelPreferences, N as LowFareSearchTravelerInfoSummary, P as ObFeeDesc, T as PassengerInfo, U as PassengerTotalFare, V as PricingInformation, W as QueueActivity, X as QueueActivityCounters, Y as Ref, Z as ReservationHistoryAccounting, _ as ReservationHistoryFlightSegment, $ as ReservationHistoryText, a0 as ReservationHistoryTransaction, a1 as SabreBusinessErrorOptions, a2 as SabreErrorOptions, a3 as SabreGatewayError, a4 as SabreGatewayErrorOptions, a5 as SabreOrchestrationError, a6 as SabreOrchestrationErrorOptions, a7 as SabreProtocol, a8 as SabreRawRequest, a9 as SabreRawResponse, aa as SabreServiceErrorOptions, ab as SabreSessionError, ac as SabreSessionErrorKind, ad as SabreSessionErrorOptions, ae as ScheduleCarrier, af as ScheduleDesc, ag as ScheduleEndpoint, ah as ScheduleEquipment, ai as TaxDesc, aj as TaxSummaryDesc, ak as TotalFare, al as ValidatingCarrierDesc } from './reservation-history-bKDqkf8T.js';
|
|
2
3
|
|
|
3
4
|
/** Token ATK tal cual se guarda: tiempos absolutos, para que otro proceso sepa cuánto le queda. */
|
|
4
5
|
interface StoredToken {
|
|
@@ -22,13 +23,6 @@ interface SabreTokenStore {
|
|
|
22
23
|
set(key: string, token: StoredToken): Promise<void>;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
interface RetryOptions {
|
|
26
|
-
/** Reintentos después de la primera llamada (3 → hasta 4 llamadas en total). */
|
|
27
|
-
maxRetries: number;
|
|
28
|
-
/** Delay base del backoff exponencial, en milisegundos. */
|
|
29
|
-
baseDelayMs: number;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
26
|
/**
|
|
33
27
|
* Interfaz mínima de logger, compatible con `winston` y `console`.
|
|
34
28
|
* Con `pino`, que invierte el orden: `info: (m, c) => pino.info(c, m)`.
|
|
@@ -41,7 +35,7 @@ interface SabreLogger {
|
|
|
41
35
|
}
|
|
42
36
|
type SabreLogLevel = keyof SabreLogger;
|
|
43
37
|
/** Eventos estables que emite el SDK como `message`. */
|
|
44
|
-
type SabreLogEvent = 'sabre.request.start' | 'sabre.request.end' | 'sabre.request.retry' | 'sabre.request.rawResponseHookFailed' | 'sabre.auth.token.refresh' | 'sabre.auth.token.store' | 'sabre.booking.seat.priced' | 'sabre.session.open' | 'sabre.session.close' | 'sabre.session.closeFailed' | 'sabre.session.keepAliveFailed' | 'sabre.session.command' | 'sabre.queue.exitTolerated' | 'sabre.queue.exitFailed';
|
|
38
|
+
type SabreLogEvent = 'sabre.request.start' | 'sabre.request.end' | 'sabre.request.retry' | 'sabre.request.rawResponseHookFailed' | 'sabre.request.rawRequestHookFailed' | 'sabre.auth.token.refresh' | 'sabre.auth.token.store' | 'sabre.booking.seat.priced' | 'sabre.session.open' | 'sabre.session.close' | 'sabre.session.closeFailed' | 'sabre.session.keepAliveFailed' | 'sabre.session.command' | 'sabre.queue.exitTolerated' | 'sabre.queue.exitFailed';
|
|
45
39
|
/** Logger interno: redacta siempre el contexto y no hace nada si no hay logger. */
|
|
46
40
|
declare class EventLogger {
|
|
47
41
|
#private;
|
|
@@ -81,12 +75,6 @@ interface SabreCredentialsV2 {
|
|
|
81
75
|
}
|
|
82
76
|
interface SabreBaseConfig {
|
|
83
77
|
environment: SabreEnvironment;
|
|
84
|
-
/**
|
|
85
|
-
* @deprecated Desde 0.4.1; se quita en 0.5.0. Ningún cliente lo lee. El PCC con el que te
|
|
86
|
-
* autenticas va en `credentials` (ver `buildCredentials`). Para trabajar en otro PCC, se pasa en
|
|
87
|
-
* cada operación: `targetPcc` en REST, `pcc` en colas.
|
|
88
|
-
*/
|
|
89
|
-
pcc?: string;
|
|
90
78
|
logger?: SabreLogger;
|
|
91
79
|
/** Reintentos por defecto del cliente; cada request puede pisarlos. */
|
|
92
80
|
retry?: Partial<RetryOptions>;
|
|
@@ -118,11 +106,33 @@ interface SabreConfigV2FromCredentials extends SabreBaseConfig {
|
|
|
118
106
|
authVersion: 'v2';
|
|
119
107
|
};
|
|
120
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Credenciales con su versión, sin saber cuál al compilar: lo que devuelve
|
|
111
|
+
* `buildCredentials(options: BuildCredentialsOptions)`. Es un solo tipo y no la unión de
|
|
112
|
+
* `BuiltCredentialsV3 | BuiltCredentialsV2`: con la unión, TypeScript aceptaría también un
|
|
113
|
+
* `SabreCredentialsV2` sin marca, porque toma su `authVersion` opcional como discriminante. A
|
|
114
|
+
* cambio, el tipo no exige `clientId`/`clientSecret` con `'v3'`: eso lo valida `resolveConfig`.
|
|
115
|
+
*/
|
|
116
|
+
interface SabreCredentialsAnyVersion {
|
|
117
|
+
authVersion: SabreAuthVersion;
|
|
118
|
+
clientId?: string;
|
|
119
|
+
clientSecret?: string;
|
|
120
|
+
username: string;
|
|
121
|
+
password: string;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Config sin `authVersion`, con credenciales de `buildCredentials` cuya versión no se conoce al
|
|
125
|
+
* compilar. La versión sale de la marca de las credenciales en runtime (Q-084, #159).
|
|
126
|
+
*/
|
|
127
|
+
interface SabreConfigFromCredentials extends SabreBaseConfig {
|
|
128
|
+
authVersion?: never;
|
|
129
|
+
credentials: SabreCredentialsAnyVersion;
|
|
130
|
+
}
|
|
121
131
|
/**
|
|
122
132
|
* Config del cliente, discriminada por `authVersion`: el de la config o, si falta, el de
|
|
123
133
|
* `credentials`. Sin ninguno de los dos, es v3.
|
|
124
134
|
*/
|
|
125
|
-
type SabreConfig = SabreConfigV3 | SabreConfigV2 | SabreConfigV2FromCredentials;
|
|
135
|
+
type SabreConfig = SabreConfigV3 | SabreConfigV2 | SabreConfigV2FromCredentials | SabreConfigFromCredentials;
|
|
126
136
|
/** Config validada y con defaults aplicados. */
|
|
127
137
|
interface ResolvedConfig {
|
|
128
138
|
credentials: Readonly<SabreCredentials | SabreCredentialsV2>;
|
|
@@ -130,156 +140,12 @@ interface ResolvedConfig {
|
|
|
130
140
|
baseUrl: string;
|
|
131
141
|
soapBaseUrl: string;
|
|
132
142
|
authVersion: SabreAuthVersion;
|
|
133
|
-
pcc: string | undefined;
|
|
134
143
|
logger: SabreLogger | undefined;
|
|
135
144
|
retry: Readonly<RetryOptions>;
|
|
136
145
|
fetch: typeof fetch;
|
|
137
146
|
tokenStore: SabreTokenStore | undefined;
|
|
138
147
|
}
|
|
139
148
|
|
|
140
|
-
interface SabreErrorOptions {
|
|
141
|
-
/** Si la política de reintentos puede volver a intentar la operación. */
|
|
142
|
-
retryable: boolean;
|
|
143
|
-
/** Fragmento de la respuesta original sin transformar (JSON parseado o nodo XML). */
|
|
144
|
-
raw?: unknown;
|
|
145
|
-
cause?: unknown;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Base de todos los errores del SDK.
|
|
149
|
-
*
|
|
150
|
-
* `raw` puede contener credenciales o datos de pasajero: no es enumerable, así que
|
|
151
|
-
* no aparece en `JSON.stringify`, spreads ni serializadores de logs, pero sigue
|
|
152
|
-
* accesible como `error.raw` para debugging. No lo vuelques a un logger sin sanitizar.
|
|
153
|
-
*/
|
|
154
|
-
declare class SabreError extends Error {
|
|
155
|
-
name: string;
|
|
156
|
-
readonly retryable: boolean;
|
|
157
|
-
readonly raw: unknown;
|
|
158
|
-
constructor(message: string, options: SabreErrorOptions);
|
|
159
|
-
toJSON(): Record<string, unknown>;
|
|
160
|
-
}
|
|
161
|
-
type SabreProtocol = 'rest' | 'soap';
|
|
162
|
-
interface SabreGatewayErrorOptions extends SabreErrorOptions {
|
|
163
|
-
protocol: SabreProtocol;
|
|
164
|
-
/** HTTP status de la respuesta, si la hubo. */
|
|
165
|
-
status?: number;
|
|
166
|
-
/** Código tal cual lo devuelve el gateway (`ERR.2SG.*`, `USG_*`), si viene en el body. */
|
|
167
|
-
code?: string;
|
|
168
|
-
}
|
|
169
|
-
/** Error de transporte/gateway (`ERR.2SG.*` + HTTP status en REST, `USG_*` en SOAP). */
|
|
170
|
-
declare class SabreGatewayError extends SabreError {
|
|
171
|
-
name: string;
|
|
172
|
-
readonly protocol: SabreProtocol;
|
|
173
|
-
readonly status: number | undefined;
|
|
174
|
-
readonly code: string | undefined;
|
|
175
|
-
constructor(message: string, options: SabreGatewayErrorOptions);
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Por qué una sesión SOAP no sirve: `'limit'` (más de 50 sesiones), `'invalid'` (uso
|
|
179
|
-
* concurrente de la sesión), `'expired'` (sesión vencida) o `'blocked'` (creación de sesión
|
|
180
|
-
* bloqueada para el usuario).
|
|
181
|
-
*/
|
|
182
|
-
type SabreSessionErrorKind = 'limit' | 'invalid' | 'expired' | 'blocked';
|
|
183
|
-
interface SabreSessionErrorOptions extends Omit<SabreGatewayErrorOptions, 'protocol'> {
|
|
184
|
-
kind: SabreSessionErrorKind;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Error de la sesión SOAP de `SabreLegacy`. Se distingue con `instanceof` y `kind`, sin comparar
|
|
188
|
-
* mensajes. La sesión que lo lanzó queda inutilizable: las llamadas siguientes lanzan sin red.
|
|
189
|
-
*/
|
|
190
|
-
declare class SabreSessionError extends SabreGatewayError {
|
|
191
|
-
name: string;
|
|
192
|
-
readonly kind: SabreSessionErrorKind;
|
|
193
|
-
constructor(message: string, options: SabreSessionErrorOptions);
|
|
194
|
-
}
|
|
195
|
-
interface SabreOrchestrationErrorOptions extends Omit<SabreErrorOptions, 'retryable'> {
|
|
196
|
-
/** `SP.PROVIDER_ERROR` o `SP.INTERNAL_ERROR`. */
|
|
197
|
-
code: string;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Error de servicio orquestado (`SP.*`), viaja dentro de una respuesta 200.
|
|
201
|
-
* `SP.PROVIDER_ERROR` es reintentable; `SP.INTERNAL_ERROR` (y cualquier otro) no.
|
|
202
|
-
*/
|
|
203
|
-
declare class SabreOrchestrationError extends SabreError {
|
|
204
|
-
name: string;
|
|
205
|
-
readonly code: string;
|
|
206
|
-
constructor(message: string, options: SabreOrchestrationErrorOptions);
|
|
207
|
-
}
|
|
208
|
-
interface SabreServiceErrorOptions extends Omit<SabreErrorOptions, 'retryable'> {
|
|
209
|
-
/** Servicio que originó el error, p. ej. `'createBooking'`. */
|
|
210
|
-
service: string;
|
|
211
|
-
/** Código tal cual lo documenta Sabre, sin normalizar. */
|
|
212
|
-
code: string;
|
|
213
|
-
}
|
|
214
|
-
interface SabreBusinessErrorOptions extends SabreServiceErrorOptions {
|
|
215
|
-
/**
|
|
216
|
-
* Solo para códigos que Sabre documenta como temporales en un servicio de lectura
|
|
217
|
-
* (p. ej. `Transmission timeout` de Bargain Finder Max). Por defecto `false`.
|
|
218
|
-
* La política de reintentos igual exige que la operación sea idempotente.
|
|
219
|
-
*/
|
|
220
|
-
retryable?: boolean;
|
|
221
|
-
/** Avisos que llegaron junto con el error (p. ej. `category: WARNING` de Create Booking). */
|
|
222
|
-
warnings?: readonly SabreWarning[];
|
|
223
|
-
/**
|
|
224
|
-
* Otros errores que llegaron junto con este (p. ej. la causa real detrás de
|
|
225
|
-
* `NO_ITEMS_CANCELLED` en Cancel Booking).
|
|
226
|
-
*/
|
|
227
|
-
errors?: readonly SabreBusinessError[];
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Error del catálogo propio de un servicio. No es reintentable, salvo los códigos
|
|
231
|
-
* temporales de servicios de lectura que se marcan con `retryable: true`.
|
|
232
|
-
*/
|
|
233
|
-
declare class SabreBusinessError extends SabreError {
|
|
234
|
-
name: string;
|
|
235
|
-
readonly service: string;
|
|
236
|
-
readonly code: string;
|
|
237
|
-
readonly warnings: readonly SabreWarning[];
|
|
238
|
-
readonly errors: readonly SabreBusinessError[];
|
|
239
|
-
constructor(message: string, options: SabreBusinessErrorOptions);
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Advertencia de un servicio (p. ej. `category: WARNING` de Create Booking, soft errors
|
|
243
|
-
* de End Transaction): no es un fallo fatal. Nunca se reintenta automáticamente.
|
|
244
|
-
*/
|
|
245
|
-
declare class SabreWarning extends SabreError {
|
|
246
|
-
name: string;
|
|
247
|
-
readonly service: string;
|
|
248
|
-
readonly code: string;
|
|
249
|
-
constructor(message: string, options: SabreServiceErrorOptions);
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
/**
|
|
253
|
-
* Respuesta tal cual llegó de Sabre, para guardarla junto al resultado tipado.
|
|
254
|
-
*
|
|
255
|
-
* ⚠️ El `body` trae datos de pasajeros (PII). El SDK nunca lo envía al logger; quien usa
|
|
256
|
-
* `onRawResponse` responde por dónde lo guarda.
|
|
257
|
-
*/
|
|
258
|
-
interface SabreRawResponse {
|
|
259
|
-
/** Método público sin `sabre.`, p. ej. `'booking.get'` o `'air.bargainFinderMax'`. */
|
|
260
|
-
operation: string;
|
|
261
|
-
protocol: 'rest' | 'soap';
|
|
262
|
-
/** HTTP status del intento que se entrega. */
|
|
263
|
-
status: number;
|
|
264
|
-
headers: Headers;
|
|
265
|
-
/**
|
|
266
|
-
* Texto tal cual llegó, sin parsear. `''` si vino vacío. En SOAP es el sobre completo, con
|
|
267
|
-
* una sola modificación: el valor de cada `BinarySecurityToken` va como `[REDACTED]`.
|
|
268
|
-
*/
|
|
269
|
-
body: string;
|
|
270
|
-
/** Intentos HTTP hechos, contando los reintentos (1 si no hubo). */
|
|
271
|
-
attempts: number;
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Se llama una sola vez por operación, con la respuesta del último intento HTTP, antes de
|
|
275
|
-
* devolver o de lanzar: también si termina en `SabreBusinessError` o `SabreGatewayError`. No
|
|
276
|
-
* se llama si ningún intento tuvo respuesta HTTP, ni con las llamadas de token.
|
|
277
|
-
*
|
|
278
|
-
* Es síncrono y su retorno se ignora. Si lanza, el SDK lo atrapa, emite
|
|
279
|
-
* `sabre.request.rawResponseHookFailed` al logger (sin el body) y la operación sigue.
|
|
280
|
-
*/
|
|
281
|
-
type SabreRawResponseCallback = (raw: SabreRawResponse) => void;
|
|
282
|
-
|
|
283
149
|
type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
284
150
|
/**
|
|
285
151
|
* Pasos 2–3 del orden de detección, aportados por cada servicio: recibe el body de una
|
|
@@ -307,9 +173,11 @@ interface RestRequest {
|
|
|
307
173
|
classify?: ResponseClassifier;
|
|
308
174
|
retry?: Partial<RetryOptions>;
|
|
309
175
|
signal?: AbortSignal;
|
|
310
|
-
/** Método público sin `sabre.`, p. ej. `'booking.get'`. Lo
|
|
176
|
+
/** Método público sin `sabre.`, p. ej. `'booking.get'`. Lo reciben `onRawResponse` y `onRawRequest`. */
|
|
311
177
|
operation?: string;
|
|
312
178
|
onRawResponse?: SabreRawResponseCallback;
|
|
179
|
+
/** No se llama si `auth` es `false` (la request de token lleva la credencial). */
|
|
180
|
+
onRawRequest?: SabreRawRequestCallback;
|
|
313
181
|
}
|
|
314
182
|
/** Fuente del header `Authorization` de los servicios (la implementa `AuthManager`). */
|
|
315
183
|
interface AuthorizationProvider {
|
|
@@ -335,445 +203,6 @@ declare class RestTransport {
|
|
|
335
203
|
request<T>(request: RestRequest): Promise<T>;
|
|
336
204
|
}
|
|
337
205
|
|
|
338
|
-
interface ScheduleEndpoint {
|
|
339
|
-
airport: string;
|
|
340
|
-
city?: string;
|
|
341
|
-
/** Visto en sandbox para aeropuertos de EE. UU. */
|
|
342
|
-
state?: string;
|
|
343
|
-
country?: string;
|
|
344
|
-
/** Hora local con offset, p. ej. `17:10:00+02:00`. */
|
|
345
|
-
time: string;
|
|
346
|
-
terminal?: string;
|
|
347
|
-
/** Días que se suman a la fecha de salida del vuelo. Visto en sandbox (`arrival`). */
|
|
348
|
-
dateAdjustment?: number;
|
|
349
|
-
}
|
|
350
|
-
interface ScheduleEquipment {
|
|
351
|
-
code: string;
|
|
352
|
-
typeForFirstLeg?: string;
|
|
353
|
-
typeForLastLeg?: string;
|
|
354
|
-
}
|
|
355
|
-
interface ScheduleCarrier {
|
|
356
|
-
marketing: string;
|
|
357
|
-
marketingFlightNumber: number;
|
|
358
|
-
operating?: string;
|
|
359
|
-
operatingFlightNumber?: number;
|
|
360
|
-
alliances?: string;
|
|
361
|
-
equipment?: ScheduleEquipment;
|
|
362
|
-
}
|
|
363
|
-
/** Vuelo/segmento operado (`scheduleDescs[]`). */
|
|
364
|
-
interface ScheduleDesc {
|
|
365
|
-
id: number;
|
|
366
|
-
/** Visto en sandbox, p. ej. `"7"`; significado sin confirmar. */
|
|
367
|
-
dotRating?: string;
|
|
368
|
-
frequency?: string;
|
|
369
|
-
stopCount?: number;
|
|
370
|
-
eTicketable?: boolean;
|
|
371
|
-
totalMilesFlown?: number;
|
|
372
|
-
/** Minutos. */
|
|
373
|
-
elapsedTime?: number;
|
|
374
|
-
departure: ScheduleEndpoint;
|
|
375
|
-
arrival: ScheduleEndpoint;
|
|
376
|
-
carrier: ScheduleCarrier;
|
|
377
|
-
}
|
|
378
|
-
/** Tramo lógico (`legDescs[]`): agrupa schedules por `ref`. */
|
|
379
|
-
interface LegDesc {
|
|
380
|
-
id: number;
|
|
381
|
-
/** Minutos. */
|
|
382
|
-
elapsedTime?: number;
|
|
383
|
-
schedules: LegScheduleRef[];
|
|
384
|
-
}
|
|
385
|
-
/**
|
|
386
|
-
* Schedule dentro de un tramo. `departureDateAdjustment`: días que se suman a la fecha del
|
|
387
|
-
* tramo para la salida de este vuelo (conexión al día siguiente). Visto en sandbox, sin
|
|
388
|
-
* documentar en los ejemplos de Sabre.
|
|
389
|
-
*/
|
|
390
|
-
interface LegScheduleRef extends Ref {
|
|
391
|
-
departureDateAdjustment?: number;
|
|
392
|
-
}
|
|
393
|
-
/** Impuesto individual (`taxDescs[]`). */
|
|
394
|
-
interface TaxDesc {
|
|
395
|
-
id: number;
|
|
396
|
-
code: string;
|
|
397
|
-
amount: number;
|
|
398
|
-
currency: string;
|
|
399
|
-
description?: string;
|
|
400
|
-
publishedAmount?: number;
|
|
401
|
-
publishedCurrency?: string;
|
|
402
|
-
station?: string;
|
|
403
|
-
country?: string;
|
|
404
|
-
/** Visto en sandbox. */
|
|
405
|
-
taxReissue?: {
|
|
406
|
-
refundable?: boolean;
|
|
407
|
-
};
|
|
408
|
-
}
|
|
409
|
-
/** Resumen de impuestos por código (`taxSummaryDescs[]`). Misma forma que `TaxDesc`. */
|
|
410
|
-
type TaxSummaryDesc = TaxDesc;
|
|
411
|
-
/** Cargo adicional (`obFeeDescs[]`). Significado exacto de "OB" sin confirmar. */
|
|
412
|
-
interface ObFeeDesc {
|
|
413
|
-
id: number;
|
|
414
|
-
amount: number;
|
|
415
|
-
currency: string;
|
|
416
|
-
}
|
|
417
|
-
interface FareComponentDescSegment {
|
|
418
|
-
segment: {
|
|
419
|
-
stopover?: boolean;
|
|
420
|
-
};
|
|
421
|
-
}
|
|
422
|
-
/** Componente de tarifa (`fareComponentDescs[]`). */
|
|
423
|
-
interface FareComponentDesc {
|
|
424
|
-
id: number;
|
|
425
|
-
governingCarrier?: string;
|
|
426
|
-
fareAmount?: number;
|
|
427
|
-
fareCurrency?: string;
|
|
428
|
-
fareBasisCode: string;
|
|
429
|
-
farePassengerType?: string;
|
|
430
|
-
publishedFareAmount?: number;
|
|
431
|
-
publishedFareCurrency?: string;
|
|
432
|
-
/** `FROM` / `TO`. */
|
|
433
|
-
directionality?: string;
|
|
434
|
-
applicablePricingCategories?: string;
|
|
435
|
-
vendorCode?: string;
|
|
436
|
-
fareTypeBitmap?: string;
|
|
437
|
-
fareType?: string;
|
|
438
|
-
fareTariff?: string;
|
|
439
|
-
fareRule?: string;
|
|
440
|
-
cabinCode?: string;
|
|
441
|
-
segments?: FareComponentDescSegment[];
|
|
442
|
-
ticketDesignator?: string;
|
|
443
|
-
mileageSurcharge?: number;
|
|
444
|
-
mileage?: boolean;
|
|
445
|
-
oneWayFare?: boolean;
|
|
446
|
-
negotiatedFare?: boolean;
|
|
447
|
-
privateFare?: boolean;
|
|
448
|
-
notValidAfter?: string;
|
|
449
|
-
/** Distinto de `directionality`; significado sin confirmar. */
|
|
450
|
-
direction?: string;
|
|
451
|
-
}
|
|
452
|
-
/** Aerolínea validadora (`validatingCarrierDescs[]`). */
|
|
453
|
-
interface ValidatingCarrierDesc {
|
|
454
|
-
id: number;
|
|
455
|
-
settlementMethod?: string;
|
|
456
|
-
newVcxProcess?: boolean;
|
|
457
|
-
default?: {
|
|
458
|
-
code: string;
|
|
459
|
-
};
|
|
460
|
-
}
|
|
461
|
-
/** Franquicia de equipaje (`baggageAllowanceDescs[]`). */
|
|
462
|
-
interface BaggageAllowanceDesc {
|
|
463
|
-
id: number;
|
|
464
|
-
pieceCount?: number;
|
|
465
|
-
}
|
|
466
|
-
/** Referencia a un descriptor por su `id`. */
|
|
467
|
-
interface Ref {
|
|
468
|
-
ref: number;
|
|
469
|
-
}
|
|
470
|
-
interface ItineraryMessage {
|
|
471
|
-
severity: string;
|
|
472
|
-
type: string;
|
|
473
|
-
code: string;
|
|
474
|
-
text: string;
|
|
475
|
-
}
|
|
476
|
-
interface LegDescription {
|
|
477
|
-
departureDate: string;
|
|
478
|
-
departureLocation: string;
|
|
479
|
-
arrivalLocation: string;
|
|
480
|
-
}
|
|
481
|
-
interface CurrencyConversion {
|
|
482
|
-
from: string;
|
|
483
|
-
to: string;
|
|
484
|
-
exchangeRateUsed: number;
|
|
485
|
-
}
|
|
486
|
-
interface PassengerTotalFare {
|
|
487
|
-
totalFare: number;
|
|
488
|
-
totalTaxAmount?: number;
|
|
489
|
-
currency: string;
|
|
490
|
-
baseFareAmount?: number;
|
|
491
|
-
baseFareCurrency?: string;
|
|
492
|
-
equivalentAmount?: number;
|
|
493
|
-
equivalentCurrency?: string;
|
|
494
|
-
constructionAmount?: number;
|
|
495
|
-
constructionCurrency?: string;
|
|
496
|
-
exchangeRateOne?: number;
|
|
497
|
-
commissionPercentage?: number;
|
|
498
|
-
commissionAmount?: number;
|
|
499
|
-
cat35CommissionPercentage?: number;
|
|
500
|
-
cat35CommissionAmount?: number;
|
|
501
|
-
cat35MarkupAmount?: number;
|
|
502
|
-
commissionAmountInEquivalent?: number;
|
|
503
|
-
commissionSource?: string;
|
|
504
|
-
}
|
|
505
|
-
interface TotalFare {
|
|
506
|
-
totalPrice: number;
|
|
507
|
-
totalTaxAmount?: number;
|
|
508
|
-
currency: string;
|
|
509
|
-
baseFareAmount?: number;
|
|
510
|
-
baseFareCurrency?: string;
|
|
511
|
-
constructionAmount?: number;
|
|
512
|
-
constructionCurrency?: string;
|
|
513
|
-
equivalentAmount?: number;
|
|
514
|
-
equivalentCurrency?: string;
|
|
515
|
-
}
|
|
516
|
-
/** Disponibilidad del segmento dentro de un componente de tarifa. */
|
|
517
|
-
interface FareComponentSegmentDetail {
|
|
518
|
-
bookingCode?: string;
|
|
519
|
-
cabinCode?: string;
|
|
520
|
-
mealCode?: string;
|
|
521
|
-
seatsAvailable?: number;
|
|
522
|
-
availabilityBreak?: boolean;
|
|
523
|
-
fareBreakPoint?: boolean;
|
|
524
|
-
}
|
|
525
|
-
interface FareMessage {
|
|
526
|
-
type: string;
|
|
527
|
-
code: string;
|
|
528
|
-
/** Visto en sandbox de Revalidate. */
|
|
529
|
-
carrier?: string;
|
|
530
|
-
info: string;
|
|
531
|
-
}
|
|
532
|
-
interface RawFareComponent extends Ref {
|
|
533
|
-
beginAirport?: string;
|
|
534
|
-
endAirport?: string;
|
|
535
|
-
segments?: Array<{
|
|
536
|
-
segment: FareComponentSegmentDetail;
|
|
537
|
-
}>;
|
|
538
|
-
}
|
|
539
|
-
interface RawBaggageInformation {
|
|
540
|
-
provisionType?: string;
|
|
541
|
-
airlineCode?: string;
|
|
542
|
-
/** Índices de segmento, no referencias a descriptores. */
|
|
543
|
-
segments?: Array<{
|
|
544
|
-
id: number;
|
|
545
|
-
}>;
|
|
546
|
-
allowance?: Ref;
|
|
547
|
-
}
|
|
548
|
-
interface RawPassengerInfo {
|
|
549
|
-
passengerType: string;
|
|
550
|
-
passengerNumber?: number;
|
|
551
|
-
nonRefundable?: boolean;
|
|
552
|
-
fareComponents?: RawFareComponent[];
|
|
553
|
-
taxes?: Ref[];
|
|
554
|
-
taxSummaries?: Ref[];
|
|
555
|
-
obFees?: Ref[];
|
|
556
|
-
currencyConversion?: CurrencyConversion;
|
|
557
|
-
passengerTotalFare?: PassengerTotalFare;
|
|
558
|
-
baggageInformation?: RawBaggageInformation[];
|
|
559
|
-
fareMessages?: FareMessage[];
|
|
560
|
-
fareCalcLine?: {
|
|
561
|
-
info: string;
|
|
562
|
-
};
|
|
563
|
-
}
|
|
564
|
-
interface RawFare {
|
|
565
|
-
mandatoryInd?: boolean;
|
|
566
|
-
validatingCarrierCode?: string;
|
|
567
|
-
vita?: boolean;
|
|
568
|
-
eTicketable?: boolean;
|
|
569
|
-
lastTicketDate?: string;
|
|
570
|
-
lastTicketTime?: string;
|
|
571
|
-
governingCarriers?: string;
|
|
572
|
-
passengerInfoList: Array<{
|
|
573
|
-
passengerInfo: RawPassengerInfo;
|
|
574
|
-
}>;
|
|
575
|
-
totalFare?: TotalFare;
|
|
576
|
-
validatingCarriers?: Ref[];
|
|
577
|
-
}
|
|
578
|
-
interface RawPricingInformation {
|
|
579
|
-
pricingSubsource?: string;
|
|
580
|
-
/** P. ej. `ATPCO`. Visto en Revalidate y en sandbox de BFM. */
|
|
581
|
-
distributionModel?: string;
|
|
582
|
-
fare: RawFare;
|
|
583
|
-
}
|
|
584
|
-
interface RawItinerary {
|
|
585
|
-
id: number;
|
|
586
|
-
pricingSource?: string;
|
|
587
|
-
/** Visto solo en Revalidate Itinerary. */
|
|
588
|
-
currentItinerary?: boolean;
|
|
589
|
-
/** Visto en sandbox de BFM; significado sin confirmar. */
|
|
590
|
-
diversitySwapper?: {
|
|
591
|
-
weighedPrice?: number;
|
|
592
|
-
};
|
|
593
|
-
legs: Ref[];
|
|
594
|
-
pricingInformation: RawPricingInformation[];
|
|
595
|
-
}
|
|
596
|
-
/** Tramo con sus schedules resueltos. */
|
|
597
|
-
interface Leg extends Omit<LegDesc, 'schedules'> {
|
|
598
|
-
schedules: LegSchedule[];
|
|
599
|
-
}
|
|
600
|
-
/** Schedule resuelto, con lo que la referencia del tramo agrega. */
|
|
601
|
-
type LegSchedule = ScheduleDesc & Omit<LegScheduleRef, 'ref'>;
|
|
602
|
-
/** Segmento de un componente de tarifa: lo del descriptor más la disponibilidad del itinerario. */
|
|
603
|
-
interface FareComponentSegment {
|
|
604
|
-
segment: FareComponentDescSegment['segment'] & FareComponentSegmentDetail;
|
|
605
|
-
}
|
|
606
|
-
/** Componente de tarifa resuelto: descriptor + datos propios del itinerario. */
|
|
607
|
-
interface FareComponent extends Omit<FareComponentDesc, 'segments'> {
|
|
608
|
-
beginAirport?: string;
|
|
609
|
-
endAirport?: string;
|
|
610
|
-
segments?: FareComponentSegment[];
|
|
611
|
-
}
|
|
612
|
-
interface BaggageInformation extends Omit<RawBaggageInformation, 'allowance'> {
|
|
613
|
-
allowance?: BaggageAllowanceDesc;
|
|
614
|
-
}
|
|
615
|
-
interface PassengerInfo extends Omit<RawPassengerInfo, 'fareComponents' | 'taxes' | 'taxSummaries' | 'obFees' | 'baggageInformation'> {
|
|
616
|
-
fareComponents?: FareComponent[];
|
|
617
|
-
taxes?: TaxDesc[];
|
|
618
|
-
taxSummaries?: TaxSummaryDesc[];
|
|
619
|
-
obFees?: ObFeeDesc[];
|
|
620
|
-
baggageInformation?: BaggageInformation[];
|
|
621
|
-
}
|
|
622
|
-
interface Fare extends Omit<RawFare, 'passengerInfoList' | 'validatingCarriers'> {
|
|
623
|
-
passengerInfoList: Array<{
|
|
624
|
-
passengerInfo: PassengerInfo;
|
|
625
|
-
}>;
|
|
626
|
-
validatingCarriers?: ValidatingCarrierDesc[];
|
|
627
|
-
}
|
|
628
|
-
interface PricingInformation extends Omit<RawPricingInformation, 'fare'> {
|
|
629
|
-
fare: Fare;
|
|
630
|
-
}
|
|
631
|
-
interface Itinerary extends Omit<RawItinerary, 'legs' | 'pricingInformation'> {
|
|
632
|
-
legs: Leg[];
|
|
633
|
-
pricingInformation: PricingInformation[];
|
|
634
|
-
}
|
|
635
|
-
interface ItineraryGroup {
|
|
636
|
-
groupDescription: {
|
|
637
|
-
legDescriptions: LegDescription[];
|
|
638
|
-
};
|
|
639
|
-
itineraries: Itinerary[];
|
|
640
|
-
}
|
|
641
|
-
/**
|
|
642
|
-
* `groupedItineraryResponse` con cada `ref` resuelto al objeto completo. Los arrays de
|
|
643
|
-
* descriptores (`scheduleDescs`, `legDescs`, …) ya no se exponen: su contenido vive
|
|
644
|
-
* dentro de cada itinerario.
|
|
645
|
-
*/
|
|
646
|
-
interface GroupedItineraryResponse {
|
|
647
|
-
version: string;
|
|
648
|
-
messages: ItineraryMessage[];
|
|
649
|
-
statistics?: {
|
|
650
|
-
itineraryCount: number;
|
|
651
|
-
};
|
|
652
|
-
itineraryGroups: ItineraryGroup[];
|
|
653
|
-
}
|
|
654
|
-
|
|
655
|
-
interface LowFareSearchLocation {
|
|
656
|
-
LocationCode: string;
|
|
657
|
-
[key: string]: unknown;
|
|
658
|
-
}
|
|
659
|
-
interface LowFareSearchRequestorId {
|
|
660
|
-
Type: string;
|
|
661
|
-
ID: string;
|
|
662
|
-
CompanyName: {
|
|
663
|
-
Code: string;
|
|
664
|
-
[key: string]: unknown;
|
|
665
|
-
};
|
|
666
|
-
[key: string]: unknown;
|
|
667
|
-
}
|
|
668
|
-
interface LowFareSearchSource {
|
|
669
|
-
/** PCC desde el que se busca. El SDK no lo inyecta desde `config.pcc`. */
|
|
670
|
-
PseudoCityCode: string;
|
|
671
|
-
RequestorID: LowFareSearchRequestorId;
|
|
672
|
-
[key: string]: unknown;
|
|
673
|
-
}
|
|
674
|
-
/** Vuelo exacto a revalidar (`OriginDestinationInformation[].TPA_Extensions.Flight[]`). */
|
|
675
|
-
interface LowFareSearchFlight {
|
|
676
|
-
/** `"A"` en el ejemplo de Sabre; significado sin confirmar. */
|
|
677
|
-
Type: string;
|
|
678
|
-
Number: number;
|
|
679
|
-
/** Fecha y hora local sin offset. */
|
|
680
|
-
DepartureDateTime: string;
|
|
681
|
-
ArrivalDateTime: string;
|
|
682
|
-
ClassOfService: string;
|
|
683
|
-
OriginLocation: LowFareSearchLocation;
|
|
684
|
-
DestinationLocation: LowFareSearchLocation;
|
|
685
|
-
Airline: {
|
|
686
|
-
Marketing: string;
|
|
687
|
-
Operating?: string;
|
|
688
|
-
[key: string]: unknown;
|
|
689
|
-
};
|
|
690
|
-
[key: string]: unknown;
|
|
691
|
-
}
|
|
692
|
-
interface LowFareSearchOriginDestination {
|
|
693
|
-
/** Fecha y hora local sin offset, p. ej. `2026-09-11T20:00:00`. */
|
|
694
|
-
DepartureDateTime: string;
|
|
695
|
-
OriginLocation: LowFareSearchLocation;
|
|
696
|
-
DestinationLocation: LowFareSearchLocation;
|
|
697
|
-
/** Solo Revalidate Itinerary. `false` en el ejemplo de Sabre; efecto de `true` sin confirmar. */
|
|
698
|
-
Fixed?: boolean;
|
|
699
|
-
TPA_Extensions?: {
|
|
700
|
-
/** Solo Revalidate Itinerary: fija los vuelos exactos del tramo. */
|
|
701
|
-
Flight?: LowFareSearchFlight[];
|
|
702
|
-
[key: string]: unknown;
|
|
703
|
-
};
|
|
704
|
-
[key: string]: unknown;
|
|
705
|
-
}
|
|
706
|
-
interface LowFareSearchTravelPreferences {
|
|
707
|
-
/** `0` = solo directos. */
|
|
708
|
-
MaxStopsQuantity?: number;
|
|
709
|
-
/** Filtro por aerolínea. */
|
|
710
|
-
VendorPref?: Array<{
|
|
711
|
-
Code: string;
|
|
712
|
-
[key: string]: unknown;
|
|
713
|
-
}>;
|
|
714
|
-
TPA_Extensions?: {
|
|
715
|
-
/** Solo Revalidate Itinerary. `"L"` en el ejemplo de Sabre; significado sin confirmar. */
|
|
716
|
-
VerificationItinCallLogic?: {
|
|
717
|
-
Value: string;
|
|
718
|
-
[key: string]: unknown;
|
|
719
|
-
};
|
|
720
|
-
[key: string]: unknown;
|
|
721
|
-
};
|
|
722
|
-
[key: string]: unknown;
|
|
723
|
-
}
|
|
724
|
-
interface LowFareSearchPassengerTypeQuantity {
|
|
725
|
-
/** Tipo de pasajero, p. ej. `ADT`. */
|
|
726
|
-
Code: string;
|
|
727
|
-
Quantity: number;
|
|
728
|
-
[key: string]: unknown;
|
|
729
|
-
}
|
|
730
|
-
interface LowFareSearchTravelerInfoSummary {
|
|
731
|
-
AirTravelerAvail: Array<{
|
|
732
|
-
PassengerTypeQuantity: LowFareSearchPassengerTypeQuantity[];
|
|
733
|
-
[key: string]: unknown;
|
|
734
|
-
}>;
|
|
735
|
-
[key: string]: unknown;
|
|
736
|
-
}
|
|
737
|
-
interface LowFareSearchTpaExtensions {
|
|
738
|
-
IntelliSellTransaction?: {
|
|
739
|
-
/** Propietario de Sabre, p. ej. `50ITINS`; significado exacto sin confirmar. */
|
|
740
|
-
RequestType: {
|
|
741
|
-
Name: string;
|
|
742
|
-
[key: string]: unknown;
|
|
743
|
-
};
|
|
744
|
-
[key: string]: unknown;
|
|
745
|
-
};
|
|
746
|
-
[key: string]: unknown;
|
|
747
|
-
}
|
|
748
|
-
/** Contenido de `OTA_AirLowFareSearchRQ`. */
|
|
749
|
-
interface OtaAirLowFareSearchRq {
|
|
750
|
-
/** `"5"`. El SDK no lo completa. */
|
|
751
|
-
Version: string;
|
|
752
|
-
POS: {
|
|
753
|
-
Source: LowFareSearchSource[];
|
|
754
|
-
[key: string]: unknown;
|
|
755
|
-
};
|
|
756
|
-
OriginDestinationInformation: LowFareSearchOriginDestination[];
|
|
757
|
-
TravelPreferences?: LowFareSearchTravelPreferences;
|
|
758
|
-
TravelerInfoSummary: LowFareSearchTravelerInfoSummary;
|
|
759
|
-
TPA_Extensions?: LowFareSearchTpaExtensions;
|
|
760
|
-
[key: string]: unknown;
|
|
761
|
-
}
|
|
762
|
-
|
|
763
|
-
/** Body de Bargain Finder Max v5, tal cual lo documenta Sabre. */
|
|
764
|
-
interface BargainFinderMaxRequest {
|
|
765
|
-
OTA_AirLowFareSearchRQ: OtaAirLowFareSearchRq;
|
|
766
|
-
}
|
|
767
|
-
/** `groupedItineraryResponse` con las referencias ya resueltas. */
|
|
768
|
-
type BargainFinderMaxResponse = GroupedItineraryResponse;
|
|
769
|
-
interface RequestOptions {
|
|
770
|
-
signal?: AbortSignal;
|
|
771
|
-
/** Respuesta cruda del último intento HTTP. El body trae PII: ver `SabreRawResponse`. */
|
|
772
|
-
onRawResponse?: SabreRawResponseCallback;
|
|
773
|
-
/** Pisa los reintentos del cliente solo para esta request. */
|
|
774
|
-
retry?: Partial<RetryOptions>;
|
|
775
|
-
}
|
|
776
|
-
|
|
777
206
|
/** `KeyValuePair` del spec. */
|
|
778
207
|
interface SeatKeyValuePair {
|
|
779
208
|
key: string;
|
|
@@ -897,6 +326,12 @@ interface SeatFlightLeg {
|
|
|
897
326
|
interface SeatSegmentRs extends SeatSegment {
|
|
898
327
|
isChangeOfGauge?: boolean;
|
|
899
328
|
flightLegs?: SeatFlightLeg[];
|
|
329
|
+
/**
|
|
330
|
+
* El segmento en la reserva (p. ej. `"10"`). Coincide con `flights[].itemId` y
|
|
331
|
+
* `allSegments[].id` de Get Booking, así que sirve para cruzar el mapa con la reserva. No está en
|
|
332
|
+
* el spec 3.0: llega en `byPnrLocator` (CERT, 2026-11-04, sabre-playground #11).
|
|
333
|
+
*/
|
|
334
|
+
reservationSegmentId?: string;
|
|
900
335
|
}
|
|
901
336
|
/** `PassengerRs` del spec. */
|
|
902
337
|
type SeatPassengerRs = SeatPassenger;
|
|
@@ -1003,7 +438,18 @@ interface SeatCabinFacility {
|
|
|
1003
438
|
positionCodes: string[];
|
|
1004
439
|
facilityTypeCode: string;
|
|
1005
440
|
}
|
|
1006
|
-
/**
|
|
441
|
+
/**
|
|
442
|
+
* Un pasillo de la cabina: entre qué filas está y entre qué columnas (p. ej. `leftFromColumn: "D"`,
|
|
443
|
+
* `rightFromColumn: "C"`). No está en el spec 3.0: llega en `byPnrLocator` y en
|
|
444
|
+
* `byReservationPayload`, en CERT y en producción.
|
|
445
|
+
*/
|
|
446
|
+
interface SeatCabinAisle {
|
|
447
|
+
firstRow: number;
|
|
448
|
+
lastRow: number;
|
|
449
|
+
leftFromColumn: string;
|
|
450
|
+
rightFromColumn: string;
|
|
451
|
+
}
|
|
452
|
+
/** `CabinLayoutType` del spec, más `aisles`, que el spec no trae. */
|
|
1007
453
|
interface SeatCabinLayout {
|
|
1008
454
|
columns: Array<{
|
|
1009
455
|
id: string;
|
|
@@ -1018,6 +464,8 @@ interface SeatCabinLayout {
|
|
|
1018
464
|
missingSeats?: string[];
|
|
1019
465
|
facilities?: SeatCabinFacility[];
|
|
1020
466
|
deckCode?: string;
|
|
467
|
+
/** Los pasillos. No está en el spec 3.0 (ver `SeatCabinAisle`). */
|
|
468
|
+
aisles?: SeatCabinAisle[];
|
|
1021
469
|
}
|
|
1022
470
|
/** `CabinCompartment` del spec. */
|
|
1023
471
|
interface SeatCabinCompartment {
|
|
@@ -1033,7 +481,11 @@ interface SeatCabinCompartment {
|
|
|
1033
481
|
interface SeatMap {
|
|
1034
482
|
/** `id` del segmento, del request o de `segments[]` de la respuesta. */
|
|
1035
483
|
segmentRef: string;
|
|
1036
|
-
|
|
484
|
+
/**
|
|
485
|
+
* `id` de un `flightLegs[]` del segmento. En un vuelo directo, `byPnrLocator` lo manda como
|
|
486
|
+
* `null` y `byReservationPayload` no lo manda (CERT, 2026-11-04, sabre-playground #11).
|
|
487
|
+
*/
|
|
488
|
+
flightLegRef?: string | null;
|
|
1037
489
|
cabinCompartments?: SeatCabinCompartment[];
|
|
1038
490
|
}
|
|
1039
491
|
/** `SeatAvailabilityResponse` del spec 3.0. */
|
|
@@ -1054,89 +506,2540 @@ interface SeatAvailabilityIssue {
|
|
|
1054
506
|
category: string;
|
|
1055
507
|
type: string;
|
|
1056
508
|
description?: string;
|
|
1057
|
-
fieldName?: string;
|
|
1058
|
-
fieldPath?: string;
|
|
1059
|
-
/** Puede traer datos del request: no se copia a los errores del SDK. */
|
|
1060
|
-
fieldValue?: string;
|
|
509
|
+
fieldName?: string;
|
|
510
|
+
fieldPath?: string;
|
|
511
|
+
/** Puede traer datos del request: no se copia a los errores del SDK. */
|
|
512
|
+
fieldValue?: string;
|
|
513
|
+
}
|
|
514
|
+
/** `SeatAvailabilityRs` tal cual llega de Sabre. */
|
|
515
|
+
interface RawSeatAvailabilityRs {
|
|
516
|
+
response?: SeatAvailabilityResponse;
|
|
517
|
+
errors?: SeatAvailabilityIssue[];
|
|
518
|
+
warnings?: SeatAvailabilityIssue[];
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Resultado de `sabre.air.getSeats`: el `SeatAvailabilityRs` del spec con `errors[]` y
|
|
522
|
+
* `warnings[]` reemplazados por los del SDK.
|
|
523
|
+
*/
|
|
524
|
+
interface GetSeatsResponse {
|
|
525
|
+
response: SeatAvailabilityResponse;
|
|
526
|
+
/** `warnings[]` de Sabre. Nunca se lanzan. */
|
|
527
|
+
warnings: SabreWarning[];
|
|
528
|
+
/** `errors[]` que llegaron junto con un `response`: el mapa existe, pero puede faltar algo. */
|
|
529
|
+
errors: SabreBusinessError[];
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
/** Body de Revalidate Itinerary v5: el mismo `OTA_AirLowFareSearchRQ` que BFM, con los vuelos fijados. */
|
|
533
|
+
interface RevalidateItineraryRequest {
|
|
534
|
+
OTA_AirLowFareSearchRQ: OtaAirLowFareSearchRq;
|
|
535
|
+
}
|
|
536
|
+
/** `groupedItineraryResponse` con las referencias ya resueltas. */
|
|
537
|
+
type RevalidateItineraryResponse = GroupedItineraryResponse;
|
|
538
|
+
interface RevalidateItineraryRequestSource {
|
|
539
|
+
/** Request de BFM que produjo el itinerario: aporta `Version`, `POS`, pasajeros y `TPA_Extensions`. */
|
|
540
|
+
search: BargainFinderMaxRequest;
|
|
541
|
+
/** Grupo del itinerario: aporta la fecha de cada tramo. */
|
|
542
|
+
group: ItineraryGroup;
|
|
543
|
+
itinerary: Itinerary;
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Arma el request de Revalidate Itinerary para un itinerario devuelto por BFM, fijando cada
|
|
547
|
+
* vuelo en `OriginDestinationInformation[].TPA_Extensions.Flight[]`.
|
|
548
|
+
*
|
|
549
|
+
* - Clases de servicio y fechas: ver `itineraryFlights`. Las horas salen de `time` sin el offset.
|
|
550
|
+
* - `MaxStopsQuantity` es el máximo de conexiones de un tramo, para no rechazar itinerarios
|
|
551
|
+
* con escala.
|
|
552
|
+
* - `Fixed: false` y `VerificationItinCallLogic: "L"` se copian del ejemplo de Sabre; su
|
|
553
|
+
* efecto no está documentado.
|
|
554
|
+
*/
|
|
555
|
+
declare function buildRevalidateItineraryRequest(source: RevalidateItineraryRequestSource): RevalidateItineraryRequest;
|
|
556
|
+
|
|
557
|
+
declare class Air {
|
|
558
|
+
#private;
|
|
559
|
+
/** @internal Lo construye el cliente `Sabre`. */
|
|
560
|
+
constructor(transport: RestTransport);
|
|
561
|
+
/**
|
|
562
|
+
* Bargain Finder Max v5: busca itinerarios de menor precio. Devuelve el
|
|
563
|
+
* `groupedItineraryResponse` con las referencias ya resueltas.
|
|
564
|
+
*/
|
|
565
|
+
bargainFinderMax(request: BargainFinderMaxRequest, options?: RequestOptions): Promise<BargainFinderMaxResponse>;
|
|
566
|
+
/**
|
|
567
|
+
* Revalidate Itinerary v5: revalida disponibilidad y precio de un itinerario ya elegido,
|
|
568
|
+
* sin sostener inventario. El request se arma con `buildRevalidateItineraryRequest`.
|
|
569
|
+
*/
|
|
570
|
+
revalidateItinerary(request: RevalidateItineraryRequest, options?: RequestOptions): Promise<RevalidateItineraryResponse>;
|
|
571
|
+
/**
|
|
572
|
+
* Get Seats v3: mapa de asientos con disponibilidad y precio. Sin `pnrLocator` va a
|
|
573
|
+
* `byReservationPayload`, armado con `buildSeatAvailabilityRequest`; con `pnrLocator`, a
|
|
574
|
+
* `byPnrLocator`. Un `pnrLocator` vacío o mezclado con `segments`, `passengers` o
|
|
575
|
+
* `returnSeatMapsOnlyForSegmentRefs` lanza `TypeError` sin llamar a la red.
|
|
576
|
+
*/
|
|
577
|
+
getSeats(request: GetSeatsRequest, options?: RequestOptions): Promise<GetSeatsResponse>;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
/** Elemento de `errors[]` tal cual lo manda Sabre (`Error` del spec; los avisos comparten forma). */
|
|
581
|
+
interface BookingResponseError {
|
|
582
|
+
/** `BAD_REQUEST`, `APPLICATION_ERROR`, `WARNING`, … */
|
|
583
|
+
category: string;
|
|
584
|
+
/** P. ej. `UNABLE_TO_BOOK_FLIGHTS`. */
|
|
585
|
+
type: string;
|
|
586
|
+
description?: string;
|
|
587
|
+
fieldPath?: string;
|
|
588
|
+
fieldName?: string;
|
|
589
|
+
/** Puede traer datos del request (p. ej. un email): no se copia a los errores del SDK. */
|
|
590
|
+
fieldValue?: string;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
/** Contains booking information. */
|
|
594
|
+
interface Booking {
|
|
595
|
+
/**
|
|
596
|
+
* The booking reference ID as shown in the source supplier/vendor system. For `SABRE`, this is
|
|
597
|
+
* the PNR Locator or NDC `orderId` value, depending on content type. Ej.: `1SXXX1A2B3C4D`.
|
|
598
|
+
*/
|
|
599
|
+
bookingId?: string;
|
|
600
|
+
/**
|
|
601
|
+
* The start date of the booking in [ISO
|
|
602
|
+
* 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Ej.: `2024-07-09`.
|
|
603
|
+
*/
|
|
604
|
+
startDate?: string;
|
|
605
|
+
/**
|
|
606
|
+
* The end date of the booking in [ISO
|
|
607
|
+
* 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Ej.: `2024-07-19`.
|
|
608
|
+
*/
|
|
609
|
+
endDate?: string;
|
|
610
|
+
/**
|
|
611
|
+
* If `true`, the booking is cancelable in full or in segments. Refer to the `refundPenalties`
|
|
612
|
+
* array for more information.
|
|
613
|
+
*/
|
|
614
|
+
isCancelable?: boolean;
|
|
615
|
+
/** If true, at least one ticket was issued for the booking. */
|
|
616
|
+
isTicketed?: boolean;
|
|
617
|
+
/**
|
|
618
|
+
* The customer identifier used by their travel agency, also known as the customer number or the
|
|
619
|
+
* DK number. Can be a six, seven, or 10-character string. Ej.: `1234567`.
|
|
620
|
+
*/
|
|
621
|
+
agencyCustomerNumber?: string;
|
|
622
|
+
/**
|
|
623
|
+
* Contains details about the creation. El plazo de compra (`TAW`) suele venir en
|
|
624
|
+
* `fares[].creationDetails`, no aquí (CERT, 2026-11-05).
|
|
625
|
+
*/
|
|
626
|
+
creationDetails?: BookingCreationDetails;
|
|
627
|
+
/** Contains contact information for the booking. */
|
|
628
|
+
contactInfo?: BookingContactInformation;
|
|
629
|
+
/** Lists the traveler(s) associated with the booking. */
|
|
630
|
+
travelers?: BookingTraveler[];
|
|
631
|
+
/** Contains information about the group the travelers belong to. */
|
|
632
|
+
travelersGroup?: BookingTravelersGroup;
|
|
633
|
+
/** Lists all flights associated with the booking in chronological order. */
|
|
634
|
+
flights?: BookingFlight[];
|
|
635
|
+
/**
|
|
636
|
+
* Lists all the journeys associated with the booking. * For one-way, this is a single element
|
|
637
|
+
* list. * For round-trip, the list contains two journeys. * For multi-destinations, the list
|
|
638
|
+
* contains more than two journeys.
|
|
639
|
+
*/
|
|
640
|
+
journeys?: BookingJourney[];
|
|
641
|
+
/**
|
|
642
|
+
* Lists most restrictive fare rule information displayed at the time of purchase. This service
|
|
643
|
+
* applies data from either Tickets or Price Quotes.
|
|
644
|
+
*/
|
|
645
|
+
fareRules?: BookingFareRule[];
|
|
646
|
+
/** Lists ancillary offers for selected flights identified by `itemId` flight references. */
|
|
647
|
+
fareOffers?: BookingFareOffer[];
|
|
648
|
+
/**
|
|
649
|
+
* Lists the details for saved fares. This service applies data either from a Price Quote or an
|
|
650
|
+
* Order Item.
|
|
651
|
+
*/
|
|
652
|
+
fares?: BookingFare[];
|
|
653
|
+
/** Contains list of remarks added to the PNR. */
|
|
654
|
+
remarks?: BookingRemark[];
|
|
655
|
+
/** Lists all hotel reservations associated with the booking. */
|
|
656
|
+
hotels?: BookingHotel[];
|
|
657
|
+
/** Lists all car rentals associated with the booking. */
|
|
658
|
+
cars?: BookingCar[];
|
|
659
|
+
/** Lists all trains associated with the booking. */
|
|
660
|
+
trains?: BookingTrain[];
|
|
661
|
+
/** Lists all cruises associated with the booking. */
|
|
662
|
+
cruises?: BookingCruise[];
|
|
663
|
+
/**
|
|
664
|
+
* Lists all segments of the booking which overlaps with contextual booking elements such as
|
|
665
|
+
* flights, hotels, cars, trains and so on. This list also contains non-product related segments
|
|
666
|
+
* which exist in an underlying booking system.
|
|
667
|
+
*/
|
|
668
|
+
allSegments?: BookingSegmentBasics[];
|
|
669
|
+
/** Lists all electronic flight tickets issued for the travelers. */
|
|
670
|
+
flightTickets?: BookingFlightTicket[];
|
|
671
|
+
/** Contains all total payment amounts across flights, hotels, cars and others. */
|
|
672
|
+
payments?: BookingTotalPayments;
|
|
673
|
+
/** Lists Other Service Information (OSI) sent to or retrieved from a specific vendor. */
|
|
674
|
+
otherServices?: BookingOtherServiceInformation[];
|
|
675
|
+
/** Contains a detailed ticket arrangement for a future date. */
|
|
676
|
+
futureTicketingPolicy?: BookingFutureTicketingPolicy;
|
|
677
|
+
/** Lists all special services associated with a traveler. */
|
|
678
|
+
specialServices?: BookingSpecialService[];
|
|
679
|
+
/**
|
|
680
|
+
* The retention date of the booking. Used optionally to keep the booking active past the date of
|
|
681
|
+
* the last itinerary item (flight, hotel, car, etc.). After this date, the booking is set for
|
|
682
|
+
* purging. Ej.: `2024-01-30`.
|
|
683
|
+
*/
|
|
684
|
+
retentionEndDate?: string;
|
|
685
|
+
/** The label associated with the retention date. Ej.: `RETENTION DATE`. */
|
|
686
|
+
retentionLabel?: string;
|
|
687
|
+
/** Lists accounting items from the booking. */
|
|
688
|
+
accountingItems?: BookingAccountingItem[];
|
|
689
|
+
/** Lists nonelectronic tickets from the booking. */
|
|
690
|
+
nonElectronicTickets?: BookingNonElectronicTicket[];
|
|
691
|
+
/** Lists details of the travelers' employers. */
|
|
692
|
+
travelersEmployers?: BookingTravelersEmployer[];
|
|
693
|
+
/** Lists profiles used in the booking. */
|
|
694
|
+
profiles?: BookingProfile[];
|
|
695
|
+
/** Campos que Sabre agregue después de la v1.33. */
|
|
696
|
+
[field: string]: unknown;
|
|
697
|
+
}
|
|
698
|
+
/** Contains details about the creation. */
|
|
699
|
+
interface BookingCreationDetails {
|
|
700
|
+
/**
|
|
701
|
+
* The sine of the Employee Profile Record that created the booking. Not supported for NDC
|
|
702
|
+
* bookings. Ej.: `A12`.
|
|
703
|
+
*/
|
|
704
|
+
creationUserSine?: string;
|
|
705
|
+
/** The date in `YYYY-MM-DD` format when the booking was created. Ej.: `2024-01-09`. */
|
|
706
|
+
creationDate?: string;
|
|
707
|
+
/**
|
|
708
|
+
* The time in `HH:MM` format when the booking was created. Not supported for NDC bookings. Ej.:
|
|
709
|
+
* `15:00`.
|
|
710
|
+
*/
|
|
711
|
+
creationTime?: string;
|
|
712
|
+
/**
|
|
713
|
+
* The date in the `YYYY-MM-DD` format by which the price is guaranteed by the airline. Applies
|
|
714
|
+
* to NDC content only. Ej.: `2024-01-09`.
|
|
715
|
+
*/
|
|
716
|
+
purchaseDeadlineDate?: string;
|
|
717
|
+
/**
|
|
718
|
+
* The time in the `HH:MM` format by which the price is guaranteed by the airline. Applies to NDC
|
|
719
|
+
* content only. Ej.: `15:00`.
|
|
720
|
+
*/
|
|
721
|
+
purchaseDeadlineTime?: string;
|
|
722
|
+
/**
|
|
723
|
+
* A unique identifier accredited by the International Air Transport Association (IATA). Ej.:
|
|
724
|
+
* `99119911`.
|
|
725
|
+
*/
|
|
726
|
+
agencyIataNumber?: string;
|
|
727
|
+
/** The pseudo city code where the booking was created. Ej.: `AB12`. */
|
|
728
|
+
userWorkPcc?: string;
|
|
729
|
+
/** The pseudo city code of the agent who created the booking. Ej.: `CD34`. */
|
|
730
|
+
userHomePcc?: string;
|
|
731
|
+
/**
|
|
732
|
+
* The identification code for the prime host (global distribution system) associated with the
|
|
733
|
+
* reservation. Ej.: `1S`.
|
|
734
|
+
*/
|
|
735
|
+
primeHostId?: string;
|
|
736
|
+
/** The date in `YYYY-MM-DD` format when the booking was last updated. Ej.: `2026-01-09`. */
|
|
737
|
+
lastUpdateDate?: string;
|
|
738
|
+
/**
|
|
739
|
+
* The time in `HH:MM` format when the booking was last updated. Not supported for NDC bookings.
|
|
740
|
+
* Ej.: `15:00`.
|
|
741
|
+
*/
|
|
742
|
+
lastUpdateTime?: string;
|
|
743
|
+
/** The number of all booking updates committed. Ej.: `4`. */
|
|
744
|
+
numberOfUpdates?: number;
|
|
745
|
+
}
|
|
746
|
+
/** Contains contact information for the booking. */
|
|
747
|
+
interface BookingContactInformation {
|
|
748
|
+
/** Lists email addresses of travelers or vendors. */
|
|
749
|
+
emails?: string[];
|
|
750
|
+
/** Lists formatted phone numbers of travelers or vendors. */
|
|
751
|
+
phones?: string[];
|
|
752
|
+
/** Lists formatted fax numbers of travelers or vendors. */
|
|
753
|
+
faxes?: string[];
|
|
754
|
+
/** Lists formatted phone numbers to use as vendor emergency contacts. */
|
|
755
|
+
emergencyPhones?: string[];
|
|
756
|
+
}
|
|
757
|
+
/** Contains traveler information. */
|
|
758
|
+
interface BookingTraveler {
|
|
759
|
+
/** The traveler's first name. Ej.: `John`. */
|
|
760
|
+
givenName: string;
|
|
761
|
+
/**
|
|
762
|
+
* The middle name or the initial of the middle name of the traveler. Currently not supported in
|
|
763
|
+
* the Create Booking endpoint. Ej.: `W`.
|
|
764
|
+
*/
|
|
765
|
+
middleName?: string;
|
|
766
|
+
/** The traveler's last name. Ej.: `Smith`. */
|
|
767
|
+
surname: string;
|
|
768
|
+
/** The date of birth of the traveler in `YYYY-MM-DD` format. Ej.: `2024-01-23`. */
|
|
769
|
+
birthDate?: string;
|
|
770
|
+
/** Identifies the gender of the traveler. Applies to NDC content only. */
|
|
771
|
+
gender?: BookingGenderEnum;
|
|
772
|
+
/** Identifies the type of the traveler. */
|
|
773
|
+
type?: BookingTravelerTypeEnum;
|
|
774
|
+
/**
|
|
775
|
+
* The ATPCO code of the passenger type used for pricing, ticketing or fare rules of booked
|
|
776
|
+
* flights. Ej.: `ADT`.
|
|
777
|
+
*/
|
|
778
|
+
passengerCode?: string;
|
|
779
|
+
/**
|
|
780
|
+
* The ID associated with the traveler. Used for reference purposes after a booking PNR divide
|
|
781
|
+
* operation or traveler name change have been performed. Ej.: `3`.
|
|
782
|
+
*/
|
|
783
|
+
nameAssociationId?: string;
|
|
784
|
+
/**
|
|
785
|
+
* An additional code associated with the traveler (the so-called MAN number or statement
|
|
786
|
+
* information) used for accounting or identification purposes. Ej.: `C05`.
|
|
787
|
+
*/
|
|
788
|
+
nameReferenceCode?: string;
|
|
789
|
+
/** If `true`, the traveler is associated with a group booking. */
|
|
790
|
+
isGrouped?: boolean;
|
|
791
|
+
/** Lists all email addresses of the traveler. */
|
|
792
|
+
emails?: string[];
|
|
793
|
+
/** Lists all phone numbers associated with the traveler. */
|
|
794
|
+
phones?: BookingPhoneResponse[];
|
|
795
|
+
/** Lists all remarks associated with the traveler. */
|
|
796
|
+
remarks?: BookingRemark[];
|
|
797
|
+
/** The address of the traveler. */
|
|
798
|
+
address?: BookingGenericAddress;
|
|
799
|
+
/** Lists the identity documents applicable for a traveler. */
|
|
800
|
+
identityDocuments?: BookingIdentityDocument[];
|
|
801
|
+
/** Lists the loyalty programs applicable for a traveler. */
|
|
802
|
+
loyaltyPrograms?: BookingLoyaltyProgram[];
|
|
803
|
+
/** Lists the details of ancillary services. */
|
|
804
|
+
ancillaries?: BookingAncillary[];
|
|
805
|
+
/** Lists the indices of forms of payment associated with the traveler. */
|
|
806
|
+
formOfPaymentIndices?: number[];
|
|
807
|
+
/**
|
|
808
|
+
* The ID of an item from the `travelersEmployers` array. Indicates the employer associated with
|
|
809
|
+
* the traveler. Ej.: `1`.
|
|
810
|
+
*/
|
|
811
|
+
employerIndex?: number;
|
|
812
|
+
}
|
|
813
|
+
/** Contains information about the group the travelers belong to. */
|
|
814
|
+
interface BookingTravelersGroup {
|
|
815
|
+
/** Contains the ID of the group. Ej.: `3`. */
|
|
816
|
+
itemId?: string;
|
|
817
|
+
/** The name of the group. Ej.: `GROUP ONE`. */
|
|
818
|
+
name?: string;
|
|
819
|
+
/**
|
|
820
|
+
* The total number of travelers within the group. Lap infants are not taken into consideration.
|
|
821
|
+
* Ej.: `1`.
|
|
822
|
+
*/
|
|
823
|
+
numberOfTravelers?: number;
|
|
824
|
+
/**
|
|
825
|
+
* The number of remaining travelers within the group whose names are not provided. Lap infants
|
|
826
|
+
* are not taken into consideration. Ej.: `1`.
|
|
827
|
+
*/
|
|
828
|
+
numberOfTravelersRemaining?: number;
|
|
829
|
+
}
|
|
830
|
+
/** Contains flight information, identified by `itemId`, for the given booking. */
|
|
831
|
+
type BookingFlight = BookingFlightReference & BookingFlightItem;
|
|
832
|
+
/** Contains details of the flights within the journey. */
|
|
833
|
+
interface BookingJourney {
|
|
834
|
+
/** The three-letter IATA airport code of the first flight in the journey. Ej.: `DFW`. */
|
|
835
|
+
firstAirportCode: string;
|
|
836
|
+
/**
|
|
837
|
+
* The scheduled departure date in `YYYY-MM-DD` format in the airport's time zone. Ej.:
|
|
838
|
+
* `2024-07-09`.
|
|
839
|
+
*/
|
|
840
|
+
departureDate: string;
|
|
841
|
+
/** The scheduled time of departure in `HH:MM` format. Ej.: `09:15`. */
|
|
842
|
+
departureTime: string;
|
|
843
|
+
/** The three-letter IATA airport code of the last flight in the journey. Ej.: `HNL`. */
|
|
844
|
+
lastAirportCode: string;
|
|
845
|
+
/** The total number of flights in the journey. Ej.: `1`. */
|
|
846
|
+
numberOfFlights: number;
|
|
847
|
+
}
|
|
848
|
+
/** Contains eligibility requirements and travel restrictions for a flight. */
|
|
849
|
+
interface BookingFareRule {
|
|
850
|
+
/** The three-letter IATA airport code of the origin airport. Ej.: `DFW`. */
|
|
851
|
+
originAirportCode?: string;
|
|
852
|
+
/** The three-letter IATA airport code of the destination airport. Ej.: `ATL`. */
|
|
853
|
+
destinationAirportCode?: string;
|
|
854
|
+
/**
|
|
855
|
+
* The two-letter [IATA](https://www.iata.org/about/members/Pages/airline-list.aspx?All=true)
|
|
856
|
+
* designator code of the airline that owns the fare rule. Ej.: `AA`.
|
|
857
|
+
*/
|
|
858
|
+
owningAirlineCode: string;
|
|
859
|
+
/**
|
|
860
|
+
* The ATPCO code of the passenger type. Applicable travelers are identified by the passenger
|
|
861
|
+
* type code. Ej.: `ADT`.
|
|
862
|
+
*/
|
|
863
|
+
passengerCode?: string;
|
|
864
|
+
/**
|
|
865
|
+
* If `true`, the fare can be refunded in total or in segments. Refer to the `refundPenalties`
|
|
866
|
+
* array for more information.
|
|
867
|
+
*/
|
|
868
|
+
isRefundable?: boolean;
|
|
869
|
+
/**
|
|
870
|
+
* Lists estimated penalty details associated with a refund. Estimates assume the highest
|
|
871
|
+
* possible refund penalty is applied.
|
|
872
|
+
*/
|
|
873
|
+
refundPenalties?: BookingFareRulePenalty[];
|
|
874
|
+
/**
|
|
875
|
+
* If `true`, the fare can be exchanged with or without additional cost. Refer to the
|
|
876
|
+
* `exchangePenalties` array for more information.
|
|
877
|
+
*/
|
|
878
|
+
isChangeable?: boolean;
|
|
879
|
+
/**
|
|
880
|
+
* Lists estimated penalty details associated with a fare exchange. Estimates assume that all
|
|
881
|
+
* fare components are changed and the highest applicable penalty is applied.
|
|
882
|
+
*/
|
|
883
|
+
exchangePenalties?: BookingFareRulePenalty[];
|
|
884
|
+
/**
|
|
885
|
+
* If `true`, the order can be cancelled with or without additional cost. Refer to the
|
|
886
|
+
* `cancelPenalties` array for more information.
|
|
887
|
+
*/
|
|
888
|
+
isCancelable?: boolean;
|
|
889
|
+
/** Lists conditions and payments associated with order cancellation. */
|
|
890
|
+
cancelPenalties?: BookingFareRulePenalty[];
|
|
891
|
+
}
|
|
892
|
+
/**
|
|
893
|
+
* Contains ancillary offer for selected flights identified by `itemId` flight references and for
|
|
894
|
+
* selected travelers identified by indices in `travelers` list.
|
|
895
|
+
*/
|
|
896
|
+
interface BookingFareOffer {
|
|
897
|
+
/**
|
|
898
|
+
* Indicates to which travelers from the `travelers` list the ancillary offer belongs to. If the
|
|
899
|
+
* offer is valid for all travelers, this list is not provided.
|
|
900
|
+
*/
|
|
901
|
+
travelerIndices?: number[];
|
|
902
|
+
/**
|
|
903
|
+
* Lists flights referenced by flight `itemId`. If the offer is valid for all flights, this list
|
|
904
|
+
* is not provided.
|
|
905
|
+
*/
|
|
906
|
+
flights?: BookingFlightReference[];
|
|
907
|
+
/** Indicates allowed cabin baggage (carry-on) included in the ticket price. */
|
|
908
|
+
cabinBaggageAllowance?: BookingBaggageAllowance;
|
|
909
|
+
/** Indicates allowed checked baggage included in the ticket price. */
|
|
910
|
+
checkedBaggageAllowance?: BookingBaggageAllowance;
|
|
911
|
+
/** Lists cabin baggage (carry-on) policies and service fees. */
|
|
912
|
+
cabinBaggageCharges?: BookingBaggagePolicy[];
|
|
913
|
+
/** Lists checked baggage policies and service fees. */
|
|
914
|
+
checkedBaggageCharges?: BookingBaggagePolicy[];
|
|
915
|
+
}
|
|
916
|
+
/** Contains construction details of a specific fare. */
|
|
917
|
+
interface BookingFare {
|
|
918
|
+
/**
|
|
919
|
+
* Contains details about the fare creation. Aquí llega el plazo de compra (`TAW`):
|
|
920
|
+
* `purchaseDeadlineDate/Time`. En CERT llegó solo aquí y no en `Booking.creationDetails`, aunque
|
|
921
|
+
* el spec lo define en los dos (2026-11-05).
|
|
922
|
+
*/
|
|
923
|
+
creationDetails?: BookingFareCreationDetails;
|
|
924
|
+
/**
|
|
925
|
+
* The two-letter [IATA](https://www.iata.org/about/members/Pages/airline-list.aspx?All=true)
|
|
926
|
+
* designator code of the airline that validated the fare. Ej.: `AA`.
|
|
927
|
+
*/
|
|
928
|
+
airlineCode?: string;
|
|
929
|
+
/**
|
|
930
|
+
* Coded fare construction information. Ej.: `BUE AA DFW Q430.00 5740.00NUC6170.00END ROE1.00
|
|
931
|
+
* XT175.50TQ175.50QO315.90US96.50YC122.90XY69.50XA`.
|
|
932
|
+
*/
|
|
933
|
+
fareCalculationLine?: string;
|
|
934
|
+
/** The tour code applied to price the fare. Ej.: `123456789ABCDE`. */
|
|
935
|
+
tourCode?: string;
|
|
936
|
+
/**
|
|
937
|
+
* If `true`, the fare used for pricing is negotiated. If `false`, the fare used for pricing is
|
|
938
|
+
* public.
|
|
939
|
+
*/
|
|
940
|
+
isNegotiatedFare?: boolean;
|
|
941
|
+
/**
|
|
942
|
+
* Indicates to which travelers from the `travelers` list the fare belongs to. If the fare is
|
|
943
|
+
* applicable for all travelers, this list is not provided.
|
|
944
|
+
*/
|
|
945
|
+
travelerIndices?: number[];
|
|
946
|
+
/** Contains commission details applicable to the fare. */
|
|
947
|
+
commission?: BookingCommission;
|
|
948
|
+
/** Lists the components used to construct the fare. */
|
|
949
|
+
fareConstruction?: BookingFareComponent[];
|
|
950
|
+
/** Lists the taxes applied to the fare. */
|
|
951
|
+
taxBreakdown?: BookingTaxComponent[];
|
|
952
|
+
/** Contains payment information for the service. */
|
|
953
|
+
totals?: BookingTotalValues;
|
|
954
|
+
/** Lists services and fees that are bundled with the selected fare. */
|
|
955
|
+
bundledServicesAndFees?: BookingFareService[];
|
|
956
|
+
/** Contains base fare amount in an original currency. */
|
|
957
|
+
originalTotalValues?: BookingOriginalTotalValues;
|
|
958
|
+
/**
|
|
959
|
+
* The one-letter type code used by the Sabre system that indicates how the fare was priced. Not
|
|
960
|
+
* applicable for NDC.
|
|
961
|
+
*/
|
|
962
|
+
pricingTypeCode?: BookingPricingTypeCodeEnum;
|
|
963
|
+
/** The meaningful value describing how the fare was priced. */
|
|
964
|
+
pricingTypeName?: BookingPricingTypeNameEnum;
|
|
965
|
+
/**
|
|
966
|
+
* The one-letter type code used by the Sabre system that indicates the status of the fare. Not
|
|
967
|
+
* applicable for NDC.
|
|
968
|
+
*/
|
|
969
|
+
pricingStatusCode?: BookingPricingStatusCodeEnum;
|
|
970
|
+
/** The meaningful value describing the status of a fare. */
|
|
971
|
+
pricingStatusName?: BookingPricingStatusNameEnum;
|
|
972
|
+
/**
|
|
973
|
+
* If `true`, the fare pricing is valid for the agency. If `false`, the agency's local date
|
|
974
|
+
* exceeds the purchase date. **`false` quiere decir que el plazo de compra (`TAW`) ya pasó**, no
|
|
975
|
+
* que el precio sea inválido: sale de `PriceQuote/Indicators/@isExpired` (Q-091). El `TAW` viene
|
|
976
|
+
* en `creationDetails.purchaseDeadlineDate/Time` de esta tarifa.
|
|
977
|
+
*/
|
|
978
|
+
hasValidPricing?: boolean;
|
|
979
|
+
/**
|
|
980
|
+
* Contains details of the initially offered fare. To obtain this data, the Employee Profile
|
|
981
|
+
* Record (EPR) needs to include the ORGFQD keyword.
|
|
982
|
+
*/
|
|
983
|
+
initialSellingFare?: BookingInitialSellingFare;
|
|
984
|
+
/** The type code of the traveler requested when pricing the fare. Ej.: `C08`. */
|
|
985
|
+
requestedTravelerType?: string;
|
|
986
|
+
/**
|
|
987
|
+
* The type code of the traveler returned in the pricing response and stored in the price quote.
|
|
988
|
+
* Ej.: `C08`.
|
|
989
|
+
*/
|
|
990
|
+
pricedTravelerType?: string;
|
|
991
|
+
/** The code describing the source of the fare. Ej.: `PQ`. */
|
|
992
|
+
recordTypeCode?: string;
|
|
993
|
+
/** The name describing the source of the fare. Ej.: `Price Quote`. */
|
|
994
|
+
recordTypeName?: string;
|
|
995
|
+
/** The ID of the fare source. Ej.: `12`. */
|
|
996
|
+
recordId?: string;
|
|
997
|
+
}
|
|
998
|
+
/** Contains remark details stored within the booking. */
|
|
999
|
+
interface BookingRemark {
|
|
1000
|
+
/** Identifies the type of remark. */
|
|
1001
|
+
type?: BookingRemarkTypeEnum;
|
|
1002
|
+
/** The character coding used for the `ALPHA_CODED` remark type. Ej.: `T`. */
|
|
1003
|
+
alphaCode?: string;
|
|
1004
|
+
/** The original text of the remark. Ej.: `XXATW/`. */
|
|
1005
|
+
text?: string;
|
|
1006
|
+
}
|
|
1007
|
+
/** Contains hotel reservation information identified by `itemId` and associated with a booking. */
|
|
1008
|
+
type BookingHotel = BookingHotelReference & BookingHotelItem;
|
|
1009
|
+
/** Contains car rental information, identified by `itemId`, for the given booking. */
|
|
1010
|
+
type BookingCar = BookingCarReference & BookingCarItem;
|
|
1011
|
+
/** Contains train reservation information, identified by `itemId`, for the given booking. */
|
|
1012
|
+
type BookingTrain = BookingTrainReference & BookingTrainItem;
|
|
1013
|
+
/** Contains cruise reservation information, identified by `itemId`, for the given booking. */
|
|
1014
|
+
type BookingCruise = BookingCruiseReference & BookingCruiseItem;
|
|
1015
|
+
/** Contains essential information which is common for all possible types of booking segments. */
|
|
1016
|
+
type BookingSegmentBasics = BookingSegmentReference & BookingSegmentBasicAttributes;
|
|
1017
|
+
/** Contains information about an electronic flight ticket or EMD issued for a traveler. */
|
|
1018
|
+
interface BookingFlightTicket {
|
|
1019
|
+
/** The electronic flight ticket number. Ej.: `0167489825830`. */
|
|
1020
|
+
number: string;
|
|
1021
|
+
/** The date the electronic flight ticket was issued in `YYYY-MM-DD` format. Ej.: `2024-07-01`. */
|
|
1022
|
+
date: string;
|
|
1023
|
+
/** The unique identifier of an IATA-accredited agency that issued the ticket. Ej.: `12344321`. */
|
|
1024
|
+
agencyIataNumber?: string;
|
|
1025
|
+
/**
|
|
1026
|
+
* The two-letter [IATA](https://www.iata.org/about/members/Pages/airline-list.aspx?All=true)
|
|
1027
|
+
* designator code of the issuing airline. Ej.: `AA`.
|
|
1028
|
+
*/
|
|
1029
|
+
airlineCode: string;
|
|
1030
|
+
/**
|
|
1031
|
+
* Specifies the traveler from the `travelers` array whose name is associated with the ticket.
|
|
1032
|
+
* Ej.: `1`.
|
|
1033
|
+
*/
|
|
1034
|
+
travelerIndex: number;
|
|
1035
|
+
/** Lists all coupons of booked and ticketed flights referenced by the flight `itemId`. */
|
|
1036
|
+
flightCoupons: BookingFlightReferenceCoupon[];
|
|
1037
|
+
/**
|
|
1038
|
+
* Lists all coupons of booked and ticketed flights. The corresponding flight `itemId` is
|
|
1039
|
+
* provided if available. If a coupon cannot be associated with any flight present in the booking
|
|
1040
|
+
* (e.g. due to schedule change), the `itemId` is hidden, however the coupon status details are
|
|
1041
|
+
* still returned.
|
|
1042
|
+
*/
|
|
1043
|
+
allCoupons?: BookingTicketCoupon[];
|
|
1044
|
+
/** Contains payment amounts for ticketed flights. */
|
|
1045
|
+
payment: BookingTotalValues;
|
|
1046
|
+
/**
|
|
1047
|
+
* If `true`, the ticket is part of a larger travel package (e.g., Inclusive Tour) or group
|
|
1048
|
+
* booking (e.g., Bulk Ticket), often offered at a discounted rate. Therefore, ticket payment
|
|
1049
|
+
* details obtained from the airline database may contain "0.0".
|
|
1050
|
+
*/
|
|
1051
|
+
isBundledTicket?: boolean;
|
|
1052
|
+
/** Identifies the current status of the ticket, e.g. `Issued`. */
|
|
1053
|
+
ticketStatusName?: BookingTicketStatusEnum;
|
|
1054
|
+
/** The code of the ticket status. Ej.: `TE`. */
|
|
1055
|
+
ticketStatusCode?: string;
|
|
1056
|
+
/** The pseudo city code of the agency which issued the ticket or EMD. Ej.: `G7HE`. */
|
|
1057
|
+
ticketingPcc?: string;
|
|
1058
|
+
/** Contains commission applied during ticketing. */
|
|
1059
|
+
commission?: BookingCommission;
|
|
1060
|
+
}
|
|
1061
|
+
/** Contains all total payment amounts across flights, hotels, car reservations and others. */
|
|
1062
|
+
interface BookingTotalPayments {
|
|
1063
|
+
/**
|
|
1064
|
+
* Lists all flight payments, per each currency used. For ticketed bookings it sums all payments
|
|
1065
|
+
* irrespective of the document status. For non-ticketed bookings it sums payments from all price
|
|
1066
|
+
* quotes stored in the booking.
|
|
1067
|
+
*/
|
|
1068
|
+
flightTotals?: BookingTotalValues[];
|
|
1069
|
+
/**
|
|
1070
|
+
* Lists all flight payments, per each currency used, and is applicable only for ticketed
|
|
1071
|
+
* bookings. It sums up all payments with the exclusion of Refunded/Voided tickets, obtained
|
|
1072
|
+
* directly from the ticket data.
|
|
1073
|
+
*/
|
|
1074
|
+
flightCurrentTotals?: BookingTotalValues[];
|
|
1075
|
+
/** Lists all hotel payments, per each currency used. */
|
|
1076
|
+
hotelTotals?: BookingTotalValues[];
|
|
1077
|
+
/** Lists all car rental payments, per each currency used. */
|
|
1078
|
+
carTotals?: BookingTotalValues[];
|
|
1079
|
+
/** Lists all train payments, per each currency used. */
|
|
1080
|
+
trainTotals?: BookingTotalValues[];
|
|
1081
|
+
/** Lists all the payment methods that are stored in the booking. */
|
|
1082
|
+
formsOfPayment?: BookingFormOfPaymentResponse[];
|
|
1083
|
+
/**
|
|
1084
|
+
* Lists all ancillary payments made in a single currency. For fulfilled ancillaries, it sums all
|
|
1085
|
+
* payments for items marked with the appropriate ancillary status code. For non-fulfilled
|
|
1086
|
+
* ancillaries, it sums pending payments for all ancillary items stored in the booking.
|
|
1087
|
+
*/
|
|
1088
|
+
ancillaryTotals?: BookingGenericTotalValues[];
|
|
1089
|
+
}
|
|
1090
|
+
/** Contains Other Service Information (OSI) sent to or retrieved from a specific vendor. */
|
|
1091
|
+
type BookingOtherServiceInformation = BookingCommonOtherServiceInformation & {
|
|
1092
|
+
/** The two-character code of the hotel chain. Ej.: `BY`. */
|
|
1093
|
+
chainCode?: string;
|
|
1094
|
+
/** The two-letter code of the car rental vendor. Ej.: `ZE`. */
|
|
1095
|
+
vendorCode?: string;
|
|
1096
|
+
};
|
|
1097
|
+
/** Contains a detailed ticket arrangement for a future date. */
|
|
1098
|
+
interface BookingFutureTicketingPolicy {
|
|
1099
|
+
/** Used to specify a pseudocity code. Ej.: `G7RE`. */
|
|
1100
|
+
ticketingPcc?: string;
|
|
1101
|
+
/** Used to specify a queue number. Ej.: `55`. */
|
|
1102
|
+
queueNumber?: string;
|
|
1103
|
+
/** The ticketing date. Ej.: `2024-07-09`. */
|
|
1104
|
+
ticketingDate?: string;
|
|
1105
|
+
/** The ticketing time in `HH:MM` format. Ej.: `11:00`. */
|
|
1106
|
+
ticketingTime?: string;
|
|
1107
|
+
/** Free text comment. Ej.: `TICKET BEFORE TUES`. */
|
|
1108
|
+
comment?: string;
|
|
1109
|
+
}
|
|
1110
|
+
/** Contains special service information (SSR) for a specific traveler. */
|
|
1111
|
+
interface BookingSpecialService {
|
|
1112
|
+
/**
|
|
1113
|
+
* Lists the travelers within the travelers list the special service belongs to. This list is not
|
|
1114
|
+
* provided for special services without explicit traveler assignation.
|
|
1115
|
+
*/
|
|
1116
|
+
travelerIndices?: number[];
|
|
1117
|
+
/**
|
|
1118
|
+
* Lists flights referenced by flight `itemId`. Multiple flight IDs can be returned for a single
|
|
1119
|
+
* special service.
|
|
1120
|
+
*/
|
|
1121
|
+
flights?: BookingFlightReference[];
|
|
1122
|
+
/**
|
|
1123
|
+
* Defines the category of the special service request sent to the airline. Visit the official
|
|
1124
|
+
* IATA website for the list of currently supported SSR code references. Some airline-specific
|
|
1125
|
+
* codes may be missing within these IATA resources. Ej.: `WCHR`.
|
|
1126
|
+
*/
|
|
1127
|
+
code?: string;
|
|
1128
|
+
/**
|
|
1129
|
+
* The name of the special service request. This property is not returned when the name is
|
|
1130
|
+
* unknown. Ej.: `Wheelchair/Passenger can walk up stairs`.
|
|
1131
|
+
*/
|
|
1132
|
+
name?: string;
|
|
1133
|
+
/**
|
|
1134
|
+
* Miscellaneous free text information used in teletype messages sent to or from the airline. May
|
|
1135
|
+
* contain additional special service details which are mandatory to distinguish product
|
|
1136
|
+
* characteristics on the airline's side. Ej.: `/PREPAID`.
|
|
1137
|
+
*/
|
|
1138
|
+
message?: string;
|
|
1139
|
+
/**
|
|
1140
|
+
* The two-letter status code used by vendors. It indicates the special service status. Ej.:
|
|
1141
|
+
* `HK`.
|
|
1142
|
+
*/
|
|
1143
|
+
statusCode?: string;
|
|
1144
|
+
/** The meaningful value describing special service status. */
|
|
1145
|
+
statusName?: BookingStatusNameEnum;
|
|
1146
|
+
}
|
|
1147
|
+
/** Contains accounting data correlated with a fulfilled document. Supported for ATPCO content only. */
|
|
1148
|
+
interface BookingAccountingItem {
|
|
1149
|
+
/**
|
|
1150
|
+
* Identifies the association type of the accounting item, which indicates to whom the fare is
|
|
1151
|
+
* applied.
|
|
1152
|
+
*/
|
|
1153
|
+
fareApplicationType?: BookingFareApplicationTypeEnum;
|
|
1154
|
+
/** Identifies the payment method of the accounting item. */
|
|
1155
|
+
formOfPaymentType?: BookingAccountingFormOfPaymentTypeEnum;
|
|
1156
|
+
/** Identifies the ticket operation which triggered automatic accounting item creation. */
|
|
1157
|
+
creationType?: BookingAccountingItemCreationTypeEnum;
|
|
1158
|
+
/**
|
|
1159
|
+
* The two-letter [IATA](https://www.iata.org/about/members/Pages/airline-list.aspx?All=true)
|
|
1160
|
+
* designator code of the marketing airline. Ej.: `AA`.
|
|
1161
|
+
*/
|
|
1162
|
+
airlineCode?: string;
|
|
1163
|
+
/** The number of the electronic document. Ej.: `2200011234567`. */
|
|
1164
|
+
ticketNumber?: string;
|
|
1165
|
+
/** Contains commission details applicable to the fare. */
|
|
1166
|
+
commission?: BookingCommission;
|
|
1167
|
+
/** The monetary amount of the fare paid for the ticket. Ej.: `520.00`. */
|
|
1168
|
+
fareAmount?: string;
|
|
1169
|
+
/** The monetary amount of the tax applied to the fare. Ej.: `123.00`. */
|
|
1170
|
+
taxAmount?: string;
|
|
1171
|
+
/**
|
|
1172
|
+
* Lists the indices of travelers in the `travelers` array to whom the particular accounting item
|
|
1173
|
+
* is assigned. Returned only if `fareApplication` is set to `Single Traveler`.
|
|
1174
|
+
*/
|
|
1175
|
+
travelerIndices?: number[];
|
|
1176
|
+
/** Indicates the type of tariff basis. */
|
|
1177
|
+
tariffBasisType?: BookingTariffBasisTypeEnum;
|
|
1178
|
+
/** The number of a credit or debit card. Ej.: `4537156488578956`. */
|
|
1179
|
+
cardNumber?: string;
|
|
1180
|
+
/** The vendor code of a credit or debit card. Ej.: `VI`. */
|
|
1181
|
+
cardTypeCode?: string;
|
|
1182
|
+
/** The three-letter ISO 4217 currency code. Ej.: `USD`. */
|
|
1183
|
+
currencyCode?: string;
|
|
1184
|
+
/** Contains details of Goods and Services Tax (GST). */
|
|
1185
|
+
goodsAndServicesTax?: BookingGoodsAndServicesTax;
|
|
1186
|
+
/**
|
|
1187
|
+
* Contains order invoice number. Supported for NDC only. This field is deprecated and will be
|
|
1188
|
+
* removed in future versions. Use invoiceNumbers instead. Ej.: `0266839`.
|
|
1189
|
+
*/
|
|
1190
|
+
invoiceNumber?: string;
|
|
1191
|
+
/** Lists order invoice numbers. Supported for NDC only. */
|
|
1192
|
+
invoiceNumbers?: string[];
|
|
1193
|
+
/**
|
|
1194
|
+
* The original text of the ATPCO accounting line. Ej.: `LH$5519872356/ 0.00/ 3059.00/
|
|
1195
|
+
* 624.63/ONE/CA 1.1DOE JOHN/1/F/E/`.
|
|
1196
|
+
*/
|
|
1197
|
+
text?: string;
|
|
1198
|
+
/**
|
|
1199
|
+
* The manual approval code of a credit or debit card. Created during fulfillment step. Ej.:
|
|
1200
|
+
* `265599`.
|
|
1201
|
+
*/
|
|
1202
|
+
approvalCode?: string;
|
|
1203
|
+
}
|
|
1204
|
+
/** Contains a nonelectronic ticket. Supported for ATPCO content only. */
|
|
1205
|
+
interface BookingNonElectronicTicket {
|
|
1206
|
+
/** Identifies the status of a nonelectronic ticket. */
|
|
1207
|
+
ticketStatus?: BookingNonElectronicTicketStatusEnum;
|
|
1208
|
+
/** The number of the nonelectronic ticket. Ej.: `0011234567899`. */
|
|
1209
|
+
ticketNumber?: string;
|
|
1210
|
+
/** The index of the traveler to whom the ticket is assigned. Ej.: `1`. */
|
|
1211
|
+
travelerIndex?: number;
|
|
1212
|
+
/** The code of the user that issued the ticket. Not supported for NDC bookings. Ej.: `A12`. */
|
|
1213
|
+
ticketingUserCode?: string;
|
|
1214
|
+
/** The pseudo city code of the agency which issued the ticket. Ej.: `G7HE`. */
|
|
1215
|
+
ticketingPcc?: string;
|
|
1216
|
+
/**
|
|
1217
|
+
* The date the nonelectronic ticket was issued, provided in `YYYY-MM-DD` format in the issuing
|
|
1218
|
+
* agency's time zone. Ej.: `2024-07-01`.
|
|
1219
|
+
*/
|
|
1220
|
+
date?: string;
|
|
1221
|
+
/**
|
|
1222
|
+
* The time the nonelectronic ticket was issued, provided in `HH:MM` format in the issuing
|
|
1223
|
+
* agency's time zone. Ej.: `09:15`.
|
|
1224
|
+
*/
|
|
1225
|
+
time?: string;
|
|
1226
|
+
}
|
|
1227
|
+
/** Contains details of the traveler's employer. */
|
|
1228
|
+
interface BookingTravelersEmployer {
|
|
1229
|
+
/** Identifies the type of employer ID. */
|
|
1230
|
+
idType?: BookingEmployerIdTypeEnum;
|
|
1231
|
+
/** The unique identifier of the employer. Ej.: `22AAAAA0000A1Z5`. */
|
|
1232
|
+
employerId?: string;
|
|
1233
|
+
/** The name of the employer. Ej.: `Sabre`. */
|
|
1234
|
+
employerName?: string;
|
|
1235
|
+
/** Lists all phone numbers associated with the employer. */
|
|
1236
|
+
phones?: BookingPhone[];
|
|
1237
|
+
/** Lists all email addresses of the employer. */
|
|
1238
|
+
emails?: string[];
|
|
1239
|
+
/**
|
|
1240
|
+
* The street name and house number accompanied with the number of apartment, unit, or suite, if
|
|
1241
|
+
* applicable. Ej.: `1230 Ellen Ave, apt 10`.
|
|
1242
|
+
*/
|
|
1243
|
+
street?: string;
|
|
1244
|
+
/** The name of the city. Ej.: `Dallas`. */
|
|
1245
|
+
city?: string;
|
|
1246
|
+
/** The name or code of the state or province. Ej.: `TX`. */
|
|
1247
|
+
stateProvince?: string;
|
|
1248
|
+
/** The zip or postal code. Ej.: `75063`. */
|
|
1249
|
+
postalCode?: string;
|
|
1250
|
+
/** The two- or three-letter ISO 3166-1 country code. Ej.: `US`. */
|
|
1251
|
+
countryCode?: string;
|
|
1252
|
+
}
|
|
1253
|
+
/** Contains parameters needed to retrieve profile information. */
|
|
1254
|
+
interface BookingProfile {
|
|
1255
|
+
/** A unique profile type code. Ej.: `TVL`. */
|
|
1256
|
+
profileTypeCode?: string;
|
|
1257
|
+
/** The unique profile ID number. Ej.: `720320171`. */
|
|
1258
|
+
uniqueId?: string;
|
|
1259
|
+
/** The traveler index that is associated with the TVL profile. Ej.: `1`. */
|
|
1260
|
+
travelerIndex?: number;
|
|
1261
|
+
}
|
|
1262
|
+
/** Identifies the gender of the traveler. */
|
|
1263
|
+
type BookingGenderEnum = 'FEMALE' | 'MALE' | 'INFANT_FEMALE' | 'INFANT_MALE' | 'UNDISCLOSED' | 'UNDEFINED' | (string & {});
|
|
1264
|
+
/** Identifies the type of the traveler. */
|
|
1265
|
+
type BookingTravelerTypeEnum = 'ADULT' | 'AGENT' | 'AIRLINE' | 'CHILD' | 'EDUCATION' | 'GOVERNMENT' | 'GROUP' | 'INFANT' | 'MILITARY' | 'SENIOR' | 'SPECIAL' | 'YOUTH' | (string & {});
|
|
1266
|
+
/** Contains phone details. */
|
|
1267
|
+
interface BookingPhoneResponse {
|
|
1268
|
+
/** The formatted phone number of the traveler. Ej.: `+1-555-123-4567`. */
|
|
1269
|
+
number: string;
|
|
1270
|
+
/**
|
|
1271
|
+
* The type of the phone number. Available phone type codes are `H` - home, `B` - business, `C` -
|
|
1272
|
+
* cell and `M` - mobile. Ej.: `M`.
|
|
1273
|
+
*/
|
|
1274
|
+
label?: string;
|
|
1275
|
+
}
|
|
1276
|
+
/** Contains address information. */
|
|
1277
|
+
type BookingGenericAddress = BookingAddress & {
|
|
1278
|
+
/** The name of the person or the company/organization. Ej.: `John Smith`. */
|
|
1279
|
+
name?: string;
|
|
1280
|
+
/**
|
|
1281
|
+
* The full address provided as free text. Use this alternative address representation when a
|
|
1282
|
+
* structured address is not available. Ej.: `John Smith 1230 Ellen Ave, Apt 10 Dallas, TX 75063
|
|
1283
|
+
* US `.
|
|
1284
|
+
*/
|
|
1285
|
+
freeText?: string;
|
|
1286
|
+
};
|
|
1287
|
+
/** Contains details of an identity document. */
|
|
1288
|
+
interface BookingIdentityDocument {
|
|
1289
|
+
/** The unique identifier of the document. Ej.: `0123456789`. */
|
|
1290
|
+
documentNumber?: string;
|
|
1291
|
+
/** Identifies the type of passenger document. */
|
|
1292
|
+
documentType: BookingDocumentTypeEnum;
|
|
1293
|
+
/** Identifies the subtype of passenger document (for DocumentType FISCAL_ID). */
|
|
1294
|
+
documentSubType?: BookingDocumentSubTypeEnum;
|
|
1295
|
+
/**
|
|
1296
|
+
* Identifies the type of the passenger’s passport document. Applies to identity documents with
|
|
1297
|
+
* the `documentType` parameter set to `PASSPORT`. If the passport document type cannot be
|
|
1298
|
+
* determined, it is displayed as `Unknown`.
|
|
1299
|
+
*/
|
|
1300
|
+
passportType?: BookingPassportTypeResponseEnum;
|
|
1301
|
+
/**
|
|
1302
|
+
* Identifies the type of the passenger’s visa document. Applies to identity documents with the
|
|
1303
|
+
* `documentType` parameter set to `VISA`. If the visa document type cannot be determined, it is
|
|
1304
|
+
* displayed as `Unknown`.
|
|
1305
|
+
*/
|
|
1306
|
+
visaType?: BookingVisaTypeResponseEnum;
|
|
1307
|
+
/** The expiration date of the identity document in the `YYYY-MM-DD` format. Ej.: `2024-07-09`. */
|
|
1308
|
+
expiryDate?: string;
|
|
1309
|
+
/**
|
|
1310
|
+
* The country issuing the passenger document provided as a two- or three-letter ISO 3166 code.
|
|
1311
|
+
* Ej.: `US`.
|
|
1312
|
+
*/
|
|
1313
|
+
issuingCountryCode?: string;
|
|
1314
|
+
/**
|
|
1315
|
+
* The country the passenger resides in or their nationality country provided as a two- or
|
|
1316
|
+
* three-letter ISO 3166 code. Ej.: `US`.
|
|
1317
|
+
*/
|
|
1318
|
+
residenceCountryCode?: string;
|
|
1319
|
+
/** The name of the place where the document was issued. Ej.: `ROME`. */
|
|
1320
|
+
placeOfIssue?: string;
|
|
1321
|
+
/**
|
|
1322
|
+
* The passenger's place of birth, fully spelled out. This is mainly used for the `VISA` document
|
|
1323
|
+
* type. Ej.: `KOSZALIN`.
|
|
1324
|
+
*/
|
|
1325
|
+
placeOfBirth?: string;
|
|
1326
|
+
/**
|
|
1327
|
+
* The two- or three-letter ISO 3166 country code where the document is valid. This is mainly
|
|
1328
|
+
* used for the `VISA` document type. Ej.: `US`.
|
|
1329
|
+
*/
|
|
1330
|
+
hostCountryCode?: string;
|
|
1331
|
+
/**
|
|
1332
|
+
* The date the identity document was issued in `YYYY-MM-DD` format. This is mainly used for the
|
|
1333
|
+
* `visa` document type. Ej.: `2024-07-09`.
|
|
1334
|
+
*/
|
|
1335
|
+
issueDate?: string;
|
|
1336
|
+
/** The traveler's first name. Ej.: `John`. */
|
|
1337
|
+
givenName?: string;
|
|
1338
|
+
/** The traveler's middle name. (NDC not supported). Ej.: `Jack`. */
|
|
1339
|
+
middleName?: string;
|
|
1340
|
+
/** The traveler's last name. Ej.: `Smith`. */
|
|
1341
|
+
surname?: string;
|
|
1342
|
+
/** The traveler's date of birth in the `YYYY-MM-DD` format. Ej.: `2024-12-02`. */
|
|
1343
|
+
birthDate?: string;
|
|
1344
|
+
/** Identifies the gender of the traveler. */
|
|
1345
|
+
gender?: BookingGenderEnum;
|
|
1346
|
+
/** If `true`, indicates the primary passport holder of a document issued for multiple travelers. */
|
|
1347
|
+
isPrimaryDocumentHolder?: boolean;
|
|
1348
|
+
/** If `true`, the identity document applies to a lap child. */
|
|
1349
|
+
isLapChildDocument?: boolean;
|
|
1350
|
+
/** Residence or destination address of the traveler. */
|
|
1351
|
+
residenceDestinationAddress?: BookingAddress;
|
|
1352
|
+
/**
|
|
1353
|
+
* Lists the indices of flights within a booking. This property will be deprecated in the future
|
|
1354
|
+
* major version of this API. If you wish to list documents associated with the flight, use the
|
|
1355
|
+
* `identityDocuments` property within the `Flight` object.
|
|
1356
|
+
*/
|
|
1357
|
+
flightIndices?: number[];
|
|
1358
|
+
/**
|
|
1359
|
+
* The unique identifier of the document. Ej.:
|
|
1360
|
+
* `76c2817b178cc264fa44cf85df1da5fb9e1b963006b2339aa5edc09129415bba5fcf5bf91a5f`.
|
|
1361
|
+
*/
|
|
1362
|
+
itemId?: string;
|
|
1363
|
+
/**
|
|
1364
|
+
* The traveler's citizenship country provided as a two- or three-letter ISO 3166 code. Ej.:
|
|
1365
|
+
* `US`.
|
|
1366
|
+
*/
|
|
1367
|
+
citizenshipCountryCode?: string;
|
|
1368
|
+
}
|
|
1369
|
+
/** Contains details of the passenger's loyalty program, such as a frequent flyer card. */
|
|
1370
|
+
interface BookingLoyaltyProgram {
|
|
1371
|
+
/** The two-letter code that issued the number such as the IATA airline code. Ej.: `AA`. */
|
|
1372
|
+
supplierCode?: string;
|
|
1373
|
+
/** Contains loyalty program type codes. */
|
|
1374
|
+
programType?: BookingProgramTypeEnum;
|
|
1375
|
+
/**
|
|
1376
|
+
* The traveler membership number for loyalty program such as the frequent flyer number. Ej.:
|
|
1377
|
+
* `987654321`.
|
|
1378
|
+
*/
|
|
1379
|
+
programNumber: string;
|
|
1380
|
+
/** The level reached by the traveler in the loyalty program. Ej.: `3`. */
|
|
1381
|
+
tierLevel?: number;
|
|
1382
|
+
/** The two-letter receiver code, such as IATA airline code. Ej.: `UA`. */
|
|
1383
|
+
receiverCode?: string;
|
|
1384
|
+
}
|
|
1385
|
+
/** Contains the details for an ancillary. */
|
|
1386
|
+
interface BookingAncillary {
|
|
1387
|
+
/** The ID of an ancillary item. Ej.: `12`. */
|
|
1388
|
+
itemId?: string;
|
|
1389
|
+
/** The commercial name of the ancillary. Ej.: `UPTO33LB 15KG BAGGAGE`. */
|
|
1390
|
+
commercialName?: string;
|
|
1391
|
+
/** Quantity of ancillary items. Ej.: `1`. */
|
|
1392
|
+
numberOfItems?: number;
|
|
1393
|
+
/** The IATA-defined reason for issuance code (RFIC). Ej.: `C`. */
|
|
1394
|
+
reasonForIssuanceCode?: string;
|
|
1395
|
+
/**
|
|
1396
|
+
* Specifies the IATA-defined reason for the issuance code (RFIC) applicable to the Electronic
|
|
1397
|
+
* Miscellaneous Document (EMD) that will be issued for the subcode identified in this record.
|
|
1398
|
+
* The UNKNOWN option is used for the read-only purpose by getBooking API.
|
|
1399
|
+
*/
|
|
1400
|
+
reasonForIssuanceName?: BookingReasonForIssuanceEnum;
|
|
1401
|
+
/**
|
|
1402
|
+
* The issuance subcode (`RFISC`) is an industry-defined or airline-defined code identifying a
|
|
1403
|
+
* specific type of service. Industry-defined subcodes are available for all airlines to use,
|
|
1404
|
+
* have standard definitions, and are maintained by
|
|
1405
|
+
* [ATPCO](https://www.atpco.net/sites/atpco-public/files/all_pdfs/Opt_Scvs_Industry_Sub_Codes_Online_C.pdf).
|
|
1406
|
+
* Airline-defined subcodes are available for specific airlines only, and are defined and
|
|
1407
|
+
* maintained by the airline utilizing the code. Ej.: `05Z`.
|
|
1408
|
+
*/
|
|
1409
|
+
subcode?: string;
|
|
1410
|
+
/**
|
|
1411
|
+
* The two-letter [IATA](https://www.iata.org/about/members/Pages/airline-list.aspx?All=true)
|
|
1412
|
+
* designator code of the airline that owns the service. Ej.: `EY`.
|
|
1413
|
+
*/
|
|
1414
|
+
airlineCode?: string;
|
|
1415
|
+
/**
|
|
1416
|
+
* The two-letter [IATA](https://www.iata.org/about/members/Pages/airline-list.aspx?All=true)
|
|
1417
|
+
* designator code of the airline providing the service. Mutually exclusive with the `source`
|
|
1418
|
+
* property. Ej.: `EY`.
|
|
1419
|
+
*/
|
|
1420
|
+
vendorCode?: string;
|
|
1421
|
+
/**
|
|
1422
|
+
* The application source providing ancillary service. Mutually exclusive with the `vendorCode`
|
|
1423
|
+
* property.
|
|
1424
|
+
*/
|
|
1425
|
+
source?: BookingAncillarySourceEnum;
|
|
1426
|
+
/** The electronic document number. Ej.: `6074333222111`. */
|
|
1427
|
+
electronicMiscellaneousDocumentNumber?: string;
|
|
1428
|
+
/** If true, the ancilliary is refundable. */
|
|
1429
|
+
isRefundable?: boolean;
|
|
1430
|
+
/** If true, the ancilliary has a Commission included. */
|
|
1431
|
+
isCommissionable?: boolean;
|
|
1432
|
+
/**
|
|
1433
|
+
* Identifies the applicability of the ancillary item to the flights in the booking. Can be
|
|
1434
|
+
* `Single` (an ancillary item applies to a single flight/sector of the booking), `Multiple` (an
|
|
1435
|
+
* ancillary item applies to the portion of flights in the booking), or `Unknown` (applicability
|
|
1436
|
+
* of the ancillary cannot be determined). This information is required when
|
|
1437
|
+
* `electronicMiscellaneousDocumentType` has the value `OTHER_THAN_EMD`.
|
|
1438
|
+
*/
|
|
1439
|
+
flightApplicabilityType?: BookingFlightApplicabilityTypeEnum;
|
|
1440
|
+
/**
|
|
1441
|
+
* Lists flights referenced by flight `itemId`. Multiple flight IDs can be returned for a single
|
|
1442
|
+
* ancillary item.
|
|
1443
|
+
*/
|
|
1444
|
+
flights?: BookingFlightReference[];
|
|
1445
|
+
/** The two-letter status code used by vendors. It indicates the booking status. Ej.: `HD`. */
|
|
1446
|
+
statusCode?: string;
|
|
1447
|
+
/** The meaningful value describing the booking status. */
|
|
1448
|
+
statusName?: BookingAncillaryStatusNameEnum;
|
|
1449
|
+
/** Contains payment information for the service. */
|
|
1450
|
+
totals?: BookingTotalValues;
|
|
1451
|
+
/** Lists tax information associated with the ancillary. */
|
|
1452
|
+
taxes?: BookingTax[];
|
|
1453
|
+
/**
|
|
1454
|
+
* The category of the special service associated with the selected ancillary service. Ej.:
|
|
1455
|
+
* `ABAG`.
|
|
1456
|
+
*/
|
|
1457
|
+
specialServiceCode?: string;
|
|
1458
|
+
}
|
|
1459
|
+
/** Contains flight object reference by `itemId`. */
|
|
1460
|
+
interface BookingFlightReference {
|
|
1461
|
+
/** The ID of a flight. Ej.: `12`. */
|
|
1462
|
+
itemId: string;
|
|
1463
|
+
}
|
|
1464
|
+
/** Contains flight information for the given booking. */
|
|
1465
|
+
interface BookingFlightItem {
|
|
1466
|
+
/**
|
|
1467
|
+
* The booking reference ID in the carrier's system. For example, this value would reflect the
|
|
1468
|
+
* PNR Locator for American Airlines. Ej.: `NIEBNY`.
|
|
1469
|
+
*/
|
|
1470
|
+
confirmationId?: string;
|
|
1471
|
+
/** Identifies applicable type of the source of booking flight. */
|
|
1472
|
+
sourceType?: BookingFlightSourceEnum;
|
|
1473
|
+
/** The flight number associated with the marketing carrier. Ej.: `123`. */
|
|
1474
|
+
flightNumber: number;
|
|
1475
|
+
/**
|
|
1476
|
+
* The two-letter [IATA](https://www.iata.org/about/members/Pages/airline-list.aspx?All=true)
|
|
1477
|
+
* designator code of the marketing airline. Ej.: `AA`.
|
|
1478
|
+
*/
|
|
1479
|
+
airlineCode: string;
|
|
1480
|
+
/** The name of the marketing airline. Ej.: `AMERICAN AIRLINES`. */
|
|
1481
|
+
airlineName?: string;
|
|
1482
|
+
/** The flight number associated with the operating carrier. Ej.: `321`. */
|
|
1483
|
+
operatingFlightNumber?: number;
|
|
1484
|
+
/**
|
|
1485
|
+
* The two-letter [IATA](https://www.iata.org/about/members/Pages/airline-list.aspx?All=true)
|
|
1486
|
+
* designator code of the operating airline. Ej.: `UA`.
|
|
1487
|
+
*/
|
|
1488
|
+
operatingAirlineCode?: string;
|
|
1489
|
+
/** The name of the operating airline. Ej.: `UNITED AIRLINES`. */
|
|
1490
|
+
operatingAirlineName?: string;
|
|
1491
|
+
/** The three-letter IATA airport code of the origin airport. Ej.: `DFW`. */
|
|
1492
|
+
fromAirportCode: string;
|
|
1493
|
+
/** The three-letter IATA airport code of the destination airport. Ej.: `HNL`. */
|
|
1494
|
+
toAirportCode: string;
|
|
1495
|
+
/**
|
|
1496
|
+
* The scheduled departure date in `YYYY-MM-DD` format in the airport's time zone. Ej.:
|
|
1497
|
+
* `2024-07-09`.
|
|
1498
|
+
*/
|
|
1499
|
+
departureDate: string;
|
|
1500
|
+
/** The scheduled time of departure in `HH:MM` format. Ej.: `09:15`. */
|
|
1501
|
+
departureTime: string;
|
|
1502
|
+
/**
|
|
1503
|
+
* The estimated (before departure) or actual departure date in `YYYY-MM-DD` format in the
|
|
1504
|
+
* airport's time zone. Ej.: `2024-07-09`. **Es una demora operativa, no un cambio de horario del
|
|
1505
|
+
* itinerario** (Q-091). El cambio de horario se ve en `flightStatusCode` (`UN`, `TK`, `SC`,
|
|
1506
|
+
* `WK`).
|
|
1507
|
+
*/
|
|
1508
|
+
updatedDepartureDate?: string;
|
|
1509
|
+
/**
|
|
1510
|
+
* The estimated (before departure) or actual departure time in `HH:MM` format. Ej.: `09:25`.
|
|
1511
|
+
* Demora operativa, no cambio de horario (ver `updatedDepartureDate`).
|
|
1512
|
+
*/
|
|
1513
|
+
updatedDepartureTime?: string;
|
|
1514
|
+
/** The departure terminal name. Ej.: `Terminal D`. */
|
|
1515
|
+
departureTerminalName?: string;
|
|
1516
|
+
/** The departure gate number. Ej.: `D`. */
|
|
1517
|
+
departureGate?: string;
|
|
1518
|
+
/**
|
|
1519
|
+
* The scheduled arrival date in `YYYY-MM-DD` format in the airport's time zone. Ej.:
|
|
1520
|
+
* `2024-07-09`.
|
|
1521
|
+
*/
|
|
1522
|
+
arrivalDate: string;
|
|
1523
|
+
/** The scheduled time of arrival in `HH:MM` format. Ej.: `12:28`. */
|
|
1524
|
+
arrivalTime: string;
|
|
1525
|
+
/**
|
|
1526
|
+
* The estimated (before arrival) or actual arrival date in `YYYY-MM-DD` format in the airport's
|
|
1527
|
+
* time zone. Ej.: `2024-07-09`. Demora operativa, no cambio de horario (ver
|
|
1528
|
+
* `updatedDepartureDate`).
|
|
1529
|
+
*/
|
|
1530
|
+
updatedArrivalDate?: string;
|
|
1531
|
+
/**
|
|
1532
|
+
* The estimated (before arrival) or actual arrival time in `HH:MM` format. Ej.: `12:38`. Demora
|
|
1533
|
+
* operativa, no cambio de horario (ver `updatedDepartureDate`).
|
|
1534
|
+
*/
|
|
1535
|
+
updatedArrivalTime?: string;
|
|
1536
|
+
/** The arrival terminal name. Ej.: `Terminal 1`. */
|
|
1537
|
+
arrivalTerminalName?: string;
|
|
1538
|
+
/** The arrival gate's number. Ej.: `1`. */
|
|
1539
|
+
arrivalGate?: string;
|
|
1540
|
+
/**
|
|
1541
|
+
* Lists seats assigned to the travelers. The first seat in the `seats` array corresponds to the
|
|
1542
|
+
* first traveler in the `travelers` array, the second seat to the second traveler, and so on. An
|
|
1543
|
+
* empty Seat object or a null value indicates that no seat is assigned to the corresponding
|
|
1544
|
+
* traveler. In the case of a change of gauge or funnel flight, this array lists seats for the
|
|
1545
|
+
* first aircraft.
|
|
1546
|
+
*/
|
|
1547
|
+
seats?: BookingSeat[];
|
|
1548
|
+
/**
|
|
1549
|
+
* Lists seats assigned to the travelers on the departing aircraft on a change of gauge or funnel
|
|
1550
|
+
* flight. The first seat in the `seats` array corresponds to the first traveler in the
|
|
1551
|
+
* `travelers` array, the second seat to the second traveler, and so on. A null value instead of
|
|
1552
|
+
* a `Seat` object indicates that there is no seat assigned to the corresponding traveler.
|
|
1553
|
+
*/
|
|
1554
|
+
changeOfGaugeSeats?: BookingSeat[];
|
|
1555
|
+
/**
|
|
1556
|
+
* The quantity of seats occupied by the travelers. Specific seat details, if applicable, are
|
|
1557
|
+
* listed in the 'seats' array. Ej.: `1`.
|
|
1558
|
+
*/
|
|
1559
|
+
numberOfSeats?: number;
|
|
1560
|
+
/**
|
|
1561
|
+
* The type of aircraft cabin. The name used is specific to the airline carrier's naming
|
|
1562
|
+
* convention. Ej.: `Coach`.
|
|
1563
|
+
*/
|
|
1564
|
+
cabinTypeName?: string;
|
|
1565
|
+
/** The cabin type code. Ej.: `C`. */
|
|
1566
|
+
cabinTypeCode?: string;
|
|
1567
|
+
/** The IATA code of the aircraft. Ej.: `E90`. */
|
|
1568
|
+
aircraftTypeCode?: string;
|
|
1569
|
+
/** The name of the aircraft model. Ej.: `EMBRAER EMB E90`. */
|
|
1570
|
+
aircraftTypeName?: string;
|
|
1571
|
+
/** The booking inventory code of the marketing airline. Ej.: `Y`. */
|
|
1572
|
+
bookingClass?: string;
|
|
1573
|
+
/** Lists the meal options provided on the flight. */
|
|
1574
|
+
meals?: BookingMeal[];
|
|
1575
|
+
/** The two-letter status code used by vendors. It indicates the booking status. Ej.: `AF`. */
|
|
1576
|
+
flightStatusCode?: string;
|
|
1577
|
+
/** The meaningful value describing the booking status. */
|
|
1578
|
+
flightStatusName?: BookingStatusNameEnum;
|
|
1579
|
+
/** Flight duration in minutes. Ej.: `590`. */
|
|
1580
|
+
durationInMinutes?: number;
|
|
1581
|
+
/** The flight distance in miles. Ej.: `5143`. */
|
|
1582
|
+
distanceInMiles?: number;
|
|
1583
|
+
/**
|
|
1584
|
+
* The IATA code of the aircraft. This property is not returned when the aircraft type is
|
|
1585
|
+
* unchanged. This property will be deprecated in the future major version of this API. If you
|
|
1586
|
+
* wish to check hidden stop information, use the `hiddenStops` list instead. Ej.: `E90`.
|
|
1587
|
+
*/
|
|
1588
|
+
hiddenStopAircraftTypeCode?: string;
|
|
1589
|
+
/**
|
|
1590
|
+
* The name of the aircraft model. This property is not returned when the aircraft type is
|
|
1591
|
+
* unchanged. This property will be deprecated in the future major version of this API. If you
|
|
1592
|
+
* wish to check hidden stop information, use the `hiddenStops` list instead. Ej.: `EMBRAER EMB
|
|
1593
|
+
* E90`.
|
|
1594
|
+
*/
|
|
1595
|
+
hiddenStopAircraftTypeName?: string;
|
|
1596
|
+
/**
|
|
1597
|
+
* The three-letter IATA airport code of the hidden stop airport. This property is not returned
|
|
1598
|
+
* when the aircraft type is unchanged. This property will be deprecated in the future major
|
|
1599
|
+
* version of this API. If you wish to check hidden stop information, use the `hiddenStops` list
|
|
1600
|
+
* instead. Ej.: `HAV`.
|
|
1601
|
+
*/
|
|
1602
|
+
hiddenStopAirportCode?: string;
|
|
1603
|
+
/**
|
|
1604
|
+
* The arrival date to the hidden stop airport in the `YYYY-MM-DD` format in the airport's time
|
|
1605
|
+
* zone. This property is not returned when the aircraft type is unchanged. This property will be
|
|
1606
|
+
* deprecated in the future major version of this API. If you wish to check hidden stop
|
|
1607
|
+
* information, use the `hiddenStops` list instead. Ej.: `2024-07-09`.
|
|
1608
|
+
*/
|
|
1609
|
+
hiddenStopArrivalDate?: string;
|
|
1610
|
+
/**
|
|
1611
|
+
* The time of arrival to the hidden stop airport in the `HH:MM` format. This property is not
|
|
1612
|
+
* returned when the aircraft type is unchanged. This property will be deprecated in the future
|
|
1613
|
+
* major version of this API. If you wish to check hidden stop information, use the `hiddenStops`
|
|
1614
|
+
* list instead. Ej.: `09:15`.
|
|
1615
|
+
*/
|
|
1616
|
+
hiddenStopArrivalTime?: string;
|
|
1617
|
+
/**
|
|
1618
|
+
* The departure date from the hidden stop airport in the `YYYY-MM-DD` format in the airport's
|
|
1619
|
+
* time zone. This property is not returned when the aircraft type is unchanged. This property
|
|
1620
|
+
* will be deprecated in the future major version of this API. If you wish to check hidden stop
|
|
1621
|
+
* information, use the `hiddenStops` list instead. Ej.: `2024-07-09`.
|
|
1622
|
+
*/
|
|
1623
|
+
hiddenStopDepartureDate?: string;
|
|
1624
|
+
/**
|
|
1625
|
+
* The time of departure from the hidden stop airport in the `HH:MM` format. This property is not
|
|
1626
|
+
* returned when the aircraft type is unchanged. This property will be deprecated in the future
|
|
1627
|
+
* major version of this API. If you wish to check hidden stop information, use the `hiddenStops`
|
|
1628
|
+
* list instead. Ej.: `09:15`.
|
|
1629
|
+
*/
|
|
1630
|
+
hiddenStopDepartureTime?: string;
|
|
1631
|
+
/** Lists details of hidden stops that are part of the flight. */
|
|
1632
|
+
hiddenStops?: BookingHiddenStop[];
|
|
1633
|
+
/**
|
|
1634
|
+
* Lists the travelers within the `travelers` list. Indicates which travelers are associated with
|
|
1635
|
+
* a particular flight.
|
|
1636
|
+
*/
|
|
1637
|
+
travelerIndices?: number[];
|
|
1638
|
+
/** Lists assigned identity documents with statuses for each flight. */
|
|
1639
|
+
identityDocuments?: BookingIdentityDocumentReference[];
|
|
1640
|
+
/** If true, the current flight is past-dated. */
|
|
1641
|
+
isPast?: boolean;
|
|
1642
|
+
/**
|
|
1643
|
+
* The date in `YYYY-MM-DD` format when the flight was booked and stored in the booking. Not
|
|
1644
|
+
* applicable for NDC. Ej.: `2021-01-09`.
|
|
1645
|
+
*/
|
|
1646
|
+
creationDate?: string;
|
|
1647
|
+
/**
|
|
1648
|
+
* The time in `HH:MM` format when the flight was booked and stored in the booking. Not
|
|
1649
|
+
* applicable for NDC. Ej.: `15:00`.
|
|
1650
|
+
*/
|
|
1651
|
+
creationTime?: string;
|
|
1652
|
+
}
|
|
1653
|
+
/** Contains penalty information applied to specific fare rules. */
|
|
1654
|
+
interface BookingFareRulePenalty {
|
|
1655
|
+
/** Identifies whether a penalty is applicable before or after departure. */
|
|
1656
|
+
applicability: BookingFareRulePenaltyApplicabilityEnum;
|
|
1657
|
+
/** If `true`, additional restrictions apply. */
|
|
1658
|
+
conditionsApply?: boolean;
|
|
1659
|
+
/** Contains the total cost of the penalty. */
|
|
1660
|
+
penalty: BookingValue;
|
|
1661
|
+
/** If `true`, the traveler is charged in case they do not show up for the flight. */
|
|
1662
|
+
hasNoShowCost?: boolean;
|
|
1663
|
+
/** Contains the total cost of the penalty in case of a no-show. */
|
|
1664
|
+
noShowPenalty?: BookingValue;
|
|
1665
|
+
}
|
|
1666
|
+
/** Contains the allowed baggage number which is included in the ticket price. */
|
|
1667
|
+
interface BookingBaggageAllowance {
|
|
1668
|
+
/**
|
|
1669
|
+
* The maximum number of baggage pieces allowed across all baggage policies. A value of 0
|
|
1670
|
+
* indicates that no baggage pieces are permitted. Ej.: `1`.
|
|
1671
|
+
*/
|
|
1672
|
+
maximumPieces?: number;
|
|
1673
|
+
/** Maximum summary weight of all allowed baggage measured in pounds [lb]. Ej.: `50`. */
|
|
1674
|
+
totalWeightInPounds?: number;
|
|
1675
|
+
/** Maximum summary weight of all allowed baggage measured in kilograms [kg]. Ej.: `23`. */
|
|
1676
|
+
totalWeightInKilograms?: number;
|
|
1677
|
+
/** Lists baggage allowance policies for each type of baggage. */
|
|
1678
|
+
baggagePieces?: BookingBaggagePolicy[];
|
|
1679
|
+
}
|
|
1680
|
+
/** Contains restrictions applied on number of baggage pieces and optional fee applicable. */
|
|
1681
|
+
interface BookingBaggagePolicy {
|
|
1682
|
+
/**
|
|
1683
|
+
* Maximum allowed size of the baggage piece measured in inches [in]. If null, no size limit is
|
|
1684
|
+
* specified for this type of baggage. Ej.: `46`.
|
|
1685
|
+
*/
|
|
1686
|
+
maximumSizeInInches?: number;
|
|
1687
|
+
/**
|
|
1688
|
+
* Maximum allowed size of the baggage piece measured in centimeters [cm]. If null, no size limit
|
|
1689
|
+
* is specified for this type of baggage. Ej.: `118`.
|
|
1690
|
+
*/
|
|
1691
|
+
maximumSizeInCentimeters?: number;
|
|
1692
|
+
/**
|
|
1693
|
+
* Maximum allowed weight of the baggage piece measured in pounds [lb]. If null, no weight limit
|
|
1694
|
+
* is specified for this type of baggage. Ej.: `50`.
|
|
1695
|
+
*/
|
|
1696
|
+
maximumWeightInPounds?: number;
|
|
1697
|
+
/**
|
|
1698
|
+
* Maximum allowed weight of the baggage piece measured in kilograms [kg]. If null, no weight
|
|
1699
|
+
* limit is specified for this type of baggage. Ej.: `23`.
|
|
1700
|
+
*/
|
|
1701
|
+
maximumWeightInKilograms?: number;
|
|
1702
|
+
/** The number of pieces allowed within the baggage policy. Ej.: `1`. */
|
|
1703
|
+
numberOfPieces: number;
|
|
1704
|
+
/**
|
|
1705
|
+
* The description of the special baggage items allowed, if the baggage policy provides
|
|
1706
|
+
* information about special baggage items such as musical instruments, fishing or sporting
|
|
1707
|
+
* equipment, mobility device, etc. Ej.: `SKI EQUIPMENT UP TO 50LB`.
|
|
1708
|
+
*/
|
|
1709
|
+
specialItemDescription?: string;
|
|
1710
|
+
/**
|
|
1711
|
+
* If `true`, the baggage restrictions are for informational purposes only. Baggage is available
|
|
1712
|
+
* for purchase during check-in at the airport.
|
|
1713
|
+
*/
|
|
1714
|
+
isCheckInOnly?: boolean;
|
|
1715
|
+
/**
|
|
1716
|
+
* Fee applicable for each item of the baggage. If null, no payment is required for this type of
|
|
1717
|
+
* baggage.
|
|
1718
|
+
*/
|
|
1719
|
+
fee?: BookingValue;
|
|
1720
|
+
}
|
|
1721
|
+
/** Contains details about the fare creation. */
|
|
1722
|
+
interface BookingFareCreationDetails {
|
|
1723
|
+
/**
|
|
1724
|
+
* The sine of the Employee Profile Record that created the booking. Not supported for NDC
|
|
1725
|
+
* bookings. Ej.: `A12`.
|
|
1726
|
+
*/
|
|
1727
|
+
creationUserSine?: string;
|
|
1728
|
+
/** The date in `YYYY-MM-DD` format when the booking was created. Ej.: `2024-01-09`. */
|
|
1729
|
+
creationDate?: string;
|
|
1730
|
+
/**
|
|
1731
|
+
* The time in `HH:MM` format when the booking was created. Not supported for NDC bookings. Ej.:
|
|
1732
|
+
* `15:00`.
|
|
1733
|
+
*/
|
|
1734
|
+
creationTime?: string;
|
|
1735
|
+
/**
|
|
1736
|
+
* The date in the `YYYY-MM-DD` format by which the stored fare must be ticketed. Ej.:
|
|
1737
|
+
* `2024-01-09`.
|
|
1738
|
+
*/
|
|
1739
|
+
purchaseDeadlineDate?: string;
|
|
1740
|
+
/** The time in the `HH:MM` format by which the stored fare must be ticketed. Ej.: `15:00`. */
|
|
1741
|
+
purchaseDeadlineTime?: string;
|
|
1742
|
+
/**
|
|
1743
|
+
* A unique identifier accredited by the International Air Transport Association (IATA). Ej.:
|
|
1744
|
+
* `99119911`.
|
|
1745
|
+
*/
|
|
1746
|
+
agencyIataNumber?: string;
|
|
1747
|
+
/** The pseudo city code where the booking was created. Ej.: `AB12`. */
|
|
1748
|
+
userWorkPcc?: string;
|
|
1749
|
+
/** The pseudo city code of the agent who created the booking. Ej.: `CD34`. */
|
|
1750
|
+
userHomePcc?: string;
|
|
1751
|
+
/**
|
|
1752
|
+
* The identification code for the prime host (global distribution system) associated with the
|
|
1753
|
+
* reservation. Ej.: `1S`.
|
|
1754
|
+
*/
|
|
1755
|
+
primeHostId?: string;
|
|
1756
|
+
}
|
|
1757
|
+
/** Contains the commission amount applicable to the fare or ticket. */
|
|
1758
|
+
interface BookingCommission {
|
|
1759
|
+
/** The commission amount included in the fare or applied during ticketing. Ej.: `25.00`. */
|
|
1760
|
+
commissionAmount?: string;
|
|
1761
|
+
/**
|
|
1762
|
+
* The three letters [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
|
|
1763
|
+
* Ej.: `USD`.
|
|
1764
|
+
*/
|
|
1765
|
+
currencyCode?: string;
|
|
1766
|
+
/** The commission percentage included in the fare or applied during ticketing. Ej.: `5.00`. */
|
|
1767
|
+
commissionPercentage?: string;
|
|
1768
|
+
}
|
|
1769
|
+
/** Contains details of a specific fare component. */
|
|
1770
|
+
interface BookingFareComponent {
|
|
1771
|
+
/**
|
|
1772
|
+
* Lists flights referenced by flight `itemId`. Multiple flight IDs can be returned for a single
|
|
1773
|
+
* fare component. If the fare component is associated with all flights or a different flight
|
|
1774
|
+
* itinerary was used to create this fare component (verify `isCurrentItinerary` property), this
|
|
1775
|
+
* list is not provided.
|
|
1776
|
+
*/
|
|
1777
|
+
flights?: BookingFlightReference[];
|
|
1778
|
+
/**
|
|
1779
|
+
* Lists the indices of flights within the current itinerary. If the fare component is associated
|
|
1780
|
+
* with all flights, this list is not provided. This property will be deprecated in the future
|
|
1781
|
+
* major version of this API. If you wish to check flight association, use the `flights` property
|
|
1782
|
+
* within the `FareComponent` object.
|
|
1783
|
+
*/
|
|
1784
|
+
flightIndices?: number[];
|
|
1785
|
+
/** The fare basis code used for fare construction. Ej.: `ABCDE10`. */
|
|
1786
|
+
fareBasisCode?: string;
|
|
1787
|
+
/** Contains the base fare amount. */
|
|
1788
|
+
baseRate?: BookingValue;
|
|
1789
|
+
/** The code of the Branded Fare. Ej.: `ECOFLEX`. */
|
|
1790
|
+
brandFareCode?: string;
|
|
1791
|
+
/** The name of the Branded Fare. Ej.: `ECO FLEX`. */
|
|
1792
|
+
brandFareName?: string;
|
|
1793
|
+
/** The code of the program the Branded Fare belongs to. Ej.: `CFFLH`. */
|
|
1794
|
+
brandProgramCode?: string;
|
|
1795
|
+
/** The name of the program the Branded Fare belongs to. Ej.: `LH BRANDED FARES INTERCONT`. */
|
|
1796
|
+
brandProgramName?: string;
|
|
1797
|
+
/** Lists Branded Fare (Price Class) attributes from NDC offers. */
|
|
1798
|
+
brandAttributes?: BookingBrandAttribute[];
|
|
1799
|
+
/**
|
|
1800
|
+
* If `true`, the fare component was created for a flight present in the current itinerary. If
|
|
1801
|
+
* `false`, the fare component is related to a flight which is no longer a part of the current
|
|
1802
|
+
* itinerary. This may be the case, for example, after a schedule change.
|
|
1803
|
+
*/
|
|
1804
|
+
isCurrentItinerary?: boolean;
|
|
1805
|
+
/** Indicates the allowed checked baggage included in the fare. */
|
|
1806
|
+
checkedBaggageAllowance?: BookingBaggageAllowance;
|
|
1807
|
+
/** The accountCode used for fare construction. Ej.: `SME23`. */
|
|
1808
|
+
accountCode?: string;
|
|
1809
|
+
}
|
|
1810
|
+
/** Contains details for a single tax. */
|
|
1811
|
+
interface BookingTaxComponent {
|
|
1812
|
+
/** The desired tax code. Must be combined with `taxAmount`. Ej.: `XY`. */
|
|
1813
|
+
taxCode?: string;
|
|
1814
|
+
/** Contains the tax amount. */
|
|
1815
|
+
taxAmount?: BookingValue;
|
|
1816
|
+
/** If `true`, the tax was already paid during ticket issuance. */
|
|
1817
|
+
isPaid?: boolean;
|
|
1818
|
+
}
|
|
1819
|
+
/**
|
|
1820
|
+
* Contains details of the payment amount - the total amount to pay, the amount before tax, the
|
|
1821
|
+
* amount of fees, and the amount of tax.
|
|
1822
|
+
*/
|
|
1823
|
+
type BookingTotalValues = BookingGenericTotalValues & {
|
|
1824
|
+
/** The amount of all applicable fees. Ej.: `20.00`. */
|
|
1825
|
+
fees?: string;
|
|
1826
|
+
/**
|
|
1827
|
+
* The net remit amount. The EPR keyword "NETFQD" is required to return `netRemit`. Net remit is
|
|
1828
|
+
* used to arrange the payment of an additional commission above the standard commission amount.
|
|
1829
|
+
* This extra commission is payable by the validating carrier through the BSP settlement cycle.
|
|
1830
|
+
* Ej.: `110.00`.
|
|
1831
|
+
*/
|
|
1832
|
+
netRemit?: string;
|
|
1833
|
+
};
|
|
1834
|
+
/** Contains a service or fee that is bundled with the fare. */
|
|
1835
|
+
interface BookingFareService {
|
|
1836
|
+
/** The type of the fare service or fee. Ej.: `FEE`. */
|
|
1837
|
+
type?: string;
|
|
1838
|
+
/** The category of the fare service or fee. Ej.: `SEAT`. */
|
|
1839
|
+
code?: string;
|
|
1840
|
+
/** The applicable unit count for the service or fee. Ej.: `1`. */
|
|
1841
|
+
quantity?: number;
|
|
1842
|
+
/** The monetary amount of fare fee. Ej.: `100.00`. */
|
|
1843
|
+
amount?: string;
|
|
1844
|
+
/** The three-letter ISO 4217 code of the `amount` currency. Ej.: `USD`. */
|
|
1845
|
+
currencyCode?: string;
|
|
1846
|
+
/** Textual information about the service or fee. Ej.: `Qantas Points`. */
|
|
1847
|
+
description?: string;
|
|
1848
|
+
}
|
|
1849
|
+
/**
|
|
1850
|
+
* Contains details of the payment amount in original currency of the base fare - the total amount
|
|
1851
|
+
* to pay, the amount before tax, and the amount of tax.
|
|
1852
|
+
*/
|
|
1853
|
+
interface BookingOriginalTotalValues {
|
|
1854
|
+
/**
|
|
1855
|
+
* The total amount in original currency; the sum of the `subtotal`, `taxes`, and `fees`. Ej.:
|
|
1856
|
+
* `128.00`.
|
|
1857
|
+
*/
|
|
1858
|
+
total?: string;
|
|
1859
|
+
/** The three-letter ISO 4217 currency code. Ej.: `USD`. */
|
|
1860
|
+
currencyCode?: string;
|
|
1861
|
+
}
|
|
1862
|
+
/** Identifies pricing type code of a fare. */
|
|
1863
|
+
type BookingPricingTypeCodeEnum = 'S' | 'A' | 'M' | (string & {});
|
|
1864
|
+
/** Identifies the pricing type of a fare. */
|
|
1865
|
+
type BookingPricingTypeNameEnum = 'System' | 'Amended' | 'Manual' | 'Unknown' | (string & {});
|
|
1866
|
+
/** Identifies the status code of a fare. */
|
|
1867
|
+
type BookingPricingStatusCodeEnum = 'A' | 'H' | (string & {});
|
|
1868
|
+
/** Identifies the status name of a fare. */
|
|
1869
|
+
type BookingPricingStatusNameEnum = 'Active' | 'History' | (string & {});
|
|
1870
|
+
/**
|
|
1871
|
+
* Contains details of the initially offered fare. To obtain this data, the Employee Profile Record
|
|
1872
|
+
* (EPR) needs to include the ORGFQD keyword.
|
|
1873
|
+
*/
|
|
1874
|
+
interface BookingInitialSellingFare {
|
|
1875
|
+
/**
|
|
1876
|
+
* Contains details of the payment amount - the total amount to pay, the amount before tax, and
|
|
1877
|
+
* the amount of tax.
|
|
1878
|
+
*/
|
|
1879
|
+
totals?: BookingGenericTotalValues;
|
|
1880
|
+
/**
|
|
1881
|
+
* Contains a breakdown of the fare difference between the initially offered fare totals and the
|
|
1882
|
+
* final fare totals.
|
|
1883
|
+
*/
|
|
1884
|
+
fareDifferenceBreakdown?: BookingFareDifferenceBreakdown;
|
|
1885
|
+
}
|
|
1886
|
+
/** Identifies the type associated with the particular remark. */
|
|
1887
|
+
type BookingRemarkTypeEnum = 'GENERAL' | 'HISTORICAL' | 'CLIENT_ADDRESS' | 'ALPHA_CODED' | 'DELIVERY_ADDRESS' | 'ITINERARY' | 'INVOICE' | 'HIDDEN' | 'CORPORATE' | 'FORM_OF_PAYMENT' | 'PRINT_ON_TICKET' | 'FILLER_STRIP' | 'INTERFACE' | 'QUEUE_PLACE' | (string & {});
|
|
1888
|
+
/** Contains hotel object reference by `itemId`. */
|
|
1889
|
+
interface BookingHotelReference {
|
|
1890
|
+
/** The ID of a hotel reservation. Ej.: `12`. */
|
|
1891
|
+
itemId: string;
|
|
1892
|
+
}
|
|
1893
|
+
/** Contains hotel information for the given booking. */
|
|
1894
|
+
interface BookingHotelItem {
|
|
1895
|
+
/** The hotel supplier reservation number. Ej.: `23428937429074`. */
|
|
1896
|
+
confirmationId?: string;
|
|
1897
|
+
/** The full name of the hotel. Ej.: `Ilia Hotel and Luxury Suites`. */
|
|
1898
|
+
hotelName: string;
|
|
1899
|
+
/** The exact location of the hotel. */
|
|
1900
|
+
address: BookingHotelAddress;
|
|
1901
|
+
/** The check-in date in `YYYY-MM-DD` format in the hotel's local time zone. Ej.: `2024-07-09`. */
|
|
1902
|
+
checkInDate: string;
|
|
1903
|
+
/** The check-in time in `HH:MM` format in the hotel's local time. Ej.: `15:00`. */
|
|
1904
|
+
checkInTime: string;
|
|
1905
|
+
/** The checkout date in `YYYY-MM-DD` format in the hotel's local time zone. Ej.: `2024-07-19`. */
|
|
1906
|
+
checkOutDate: string;
|
|
1907
|
+
/** The checkout time in `HH:MM` format in the hotel's local time. Ej.: `11:00`. */
|
|
1908
|
+
checkOutTime: string;
|
|
1909
|
+
/**
|
|
1910
|
+
* A discount code that a company may provide to an agency. Usually tied to a negotiated rate
|
|
1911
|
+
* code. Ej.: `6878700`.
|
|
1912
|
+
*/
|
|
1913
|
+
corporateDiscountCode?: number;
|
|
1914
|
+
/**
|
|
1915
|
+
* Specifies the lead traveler from the travelers list with whom the hotel booking is associated.
|
|
1916
|
+
* Ej.: `1`.
|
|
1917
|
+
*/
|
|
1918
|
+
leadTravelerIndex?: number;
|
|
1919
|
+
/** The number of rooms in the hotel reservation. */
|
|
1920
|
+
room?: BookingRoom;
|
|
1921
|
+
/**
|
|
1922
|
+
* If `true`, the hotel reservation can be refunded in total or in segments. Refer to the
|
|
1923
|
+
* `refundPenalties` array for more information.
|
|
1924
|
+
*/
|
|
1925
|
+
isRefundable: boolean;
|
|
1926
|
+
/** Lists conditions and payments for hotel room reservation cancellations. */
|
|
1927
|
+
refundPenalties?: BookingHotelDateRangeRefundPenalty[];
|
|
1928
|
+
/**
|
|
1929
|
+
* The penalty code for a cancellation within the context of legacy GDS hotel content. Ej.:
|
|
1930
|
+
* `01D`.
|
|
1931
|
+
*/
|
|
1932
|
+
refundPenaltyPolicyCode?: string;
|
|
1933
|
+
/**
|
|
1934
|
+
* The one or two-letter status code used by vendors. It indicates the hotel booking status. Ej.:
|
|
1935
|
+
* `HK`.
|
|
1936
|
+
*/
|
|
1937
|
+
hotelStatusCode?: string;
|
|
1938
|
+
/** The meaningful value describing hotel booking status. */
|
|
1939
|
+
hotelStatusName?: BookingStatusNameEnum;
|
|
1940
|
+
/** The two character code of the chain. Ej.: `BY`. */
|
|
1941
|
+
chainCode?: string;
|
|
1942
|
+
/** The name of the chain. Ej.: `Banyan Tree Hotels and Resorts`. */
|
|
1943
|
+
chainName?: string;
|
|
1944
|
+
/** The unique ID of the property agreed between vendors. Ej.: `100144834`. */
|
|
1945
|
+
propertyId?: string;
|
|
1946
|
+
/**
|
|
1947
|
+
* The code that uniquely identifies a single hotel property. This is a legacy concept, to be
|
|
1948
|
+
* sunset in the future major version. Ej.: `7678`.
|
|
1949
|
+
*/
|
|
1950
|
+
sabrePropertyId?: string;
|
|
1951
|
+
/** Contains contact information for the hotel. */
|
|
1952
|
+
contactInfo?: BookingContactInformation;
|
|
1953
|
+
/**
|
|
1954
|
+
* Additional special requests put in by the traveler with regards to the hotel reservation. Ej.:
|
|
1955
|
+
* `Need a wi-fi in the room.`.
|
|
1956
|
+
*/
|
|
1957
|
+
specialInstructions?: string;
|
|
1958
|
+
/**
|
|
1959
|
+
* The Open Travel Alliance [Payment Type
|
|
1960
|
+
* Code](https://opentravel.org/download-the-opentravel-specification). Applicable OTA codes can
|
|
1961
|
+
* be one of the following - 5, 18, 19, 29, 30, or 43. Ej.: `5`.
|
|
1962
|
+
*/
|
|
1963
|
+
guaranteeTypeCode?: number;
|
|
1964
|
+
/** The name associated with the Open Travel Alliance Payment Type Code. */
|
|
1965
|
+
guaranteeTypeName?: BookingGuaranteeTypeNameEnum;
|
|
1966
|
+
/**
|
|
1967
|
+
* Provides information regarding the guarantee provided for the legacy GDS hotel content. Ej.:
|
|
1968
|
+
* `GVI4XXXXXXXXXXX1111EXP 01 25-HOTEL`.
|
|
1969
|
+
*/
|
|
1970
|
+
guaranteePaymentNote?: string;
|
|
1971
|
+
/** Identifies the hotel payment policy. */
|
|
1972
|
+
paymentPolicy?: BookingHotelPaymentPolicyEnum;
|
|
1973
|
+
/** Contains payment information for the service. */
|
|
1974
|
+
payment?: BookingTotalValues;
|
|
1975
|
+
/** The number of guests. Ej.: `1`. */
|
|
1976
|
+
numberOfGuests?: number;
|
|
1977
|
+
/** Contains flight arrival and departure information used mainly for hotel bookings. */
|
|
1978
|
+
associatedFlightDetails?: BookingAssociatedFlightDetails;
|
|
1979
|
+
/** A specific numeric code indicating the source of the hotel booking. Ej.: `100`. */
|
|
1980
|
+
sourceTypeCode?: number;
|
|
1981
|
+
/** Identifies the source of the hotel booking. */
|
|
1982
|
+
sourceTypeName?: BookingHotelSourceEnum;
|
|
1983
|
+
/**
|
|
1984
|
+
* Identifier of the hotel reservation as provided by Booking.com. This field is populated only
|
|
1985
|
+
* for reservations sourced from Booking.com and is not applicable to other lodging providers.
|
|
1986
|
+
* Ej.: `0890`.
|
|
1987
|
+
*/
|
|
1988
|
+
pinCode?: string;
|
|
1989
|
+
/** Indicates whether force update was applied to the booking. */
|
|
1990
|
+
forceUpdate?: BookingForceHotelUpdateDetails;
|
|
1991
|
+
}
|
|
1992
|
+
/** Contains car object reference by `itemId`. */
|
|
1993
|
+
interface BookingCarReference {
|
|
1994
|
+
/** The id of the given car reservation. Ej.: `12`. */
|
|
1995
|
+
itemId: string;
|
|
1996
|
+
}
|
|
1997
|
+
/** Contains car rental information for the given booking. */
|
|
1998
|
+
interface BookingCarItem {
|
|
1999
|
+
/** The car rental reservation number. Ej.: `843296421`. */
|
|
2000
|
+
confirmationId?: string;
|
|
2001
|
+
/**
|
|
2002
|
+
* Specifies the traveler from the travelers list with whom the car booking is associated. Ej.:
|
|
2003
|
+
* `1`.
|
|
2004
|
+
*/
|
|
2005
|
+
travelerIndex?: number;
|
|
2006
|
+
/** The full name of the car rental vendor. Ej.: `National`. */
|
|
2007
|
+
vendorName: string;
|
|
2008
|
+
/** The two-letter code of the car rental vendor. Ej.: `ZE`. */
|
|
2009
|
+
vendorCode: string;
|
|
2010
|
+
/** The code of the pick-up location. Ej.: `DFW`. */
|
|
2011
|
+
pickUpLocationCode?: string;
|
|
2012
|
+
/** Car pick up location. */
|
|
2013
|
+
pickUpAddress: BookingGenericAddress;
|
|
2014
|
+
/**
|
|
2015
|
+
* The pick up date of the rental car in `YYYY-MM-DD` format in the pick up location local time
|
|
2016
|
+
* zone. Ej.: `2024-07-09`.
|
|
2017
|
+
*/
|
|
2018
|
+
pickUpDate: string;
|
|
2019
|
+
/**
|
|
2020
|
+
* The time of the rental car pick up in `HH:MM` format in the pick up location local time. Ej.:
|
|
2021
|
+
* `13:00`.
|
|
2022
|
+
*/
|
|
2023
|
+
pickUpTime: string;
|
|
2024
|
+
/** Contains contact information for the pickup location. */
|
|
2025
|
+
pickUpContactInfo?: BookingContactInformation;
|
|
2026
|
+
/** The code of the drop-off location. Ej.: `DEN`. */
|
|
2027
|
+
dropOffLocationCode?: string;
|
|
2028
|
+
/** Car drop off location. */
|
|
2029
|
+
dropOffAddress?: BookingGenericAddress;
|
|
2030
|
+
/**
|
|
2031
|
+
* The drop off date of the rental car in `YYYY-MM-DD` format in the drop off location local time
|
|
2032
|
+
* zone. Ej.: `2024-07-19`.
|
|
2033
|
+
*/
|
|
2034
|
+
dropOffDate: string;
|
|
2035
|
+
/**
|
|
2036
|
+
* The time of the rental car drop off in `HH:MM` format in the drop off location local time.
|
|
2037
|
+
* Ej.: `12:00`.
|
|
2038
|
+
*/
|
|
2039
|
+
dropOffTime: string;
|
|
2040
|
+
/** Contains the contact information for the drop-off location. */
|
|
2041
|
+
dropOffContactInfo?: BookingContactInformation;
|
|
2042
|
+
/** Contains the custom collection address of the booked car. */
|
|
2043
|
+
collectionAddress?: BookingAddress;
|
|
2044
|
+
/** Contains the details of the custom collection location for the booked car. */
|
|
2045
|
+
collectionSite?: BookingCarRentalSite;
|
|
2046
|
+
/** Contains the custom delivery address for the booked car. */
|
|
2047
|
+
deliveryAddress?: BookingAddress;
|
|
2048
|
+
/** Contains details of the custom delivery location for the booked car. */
|
|
2049
|
+
deliverySite?: BookingCarRentalSite;
|
|
2050
|
+
/**
|
|
2051
|
+
* If `true`, the car rental can be refunded in total or in segments. Refer to the
|
|
2052
|
+
* `refundPenalties` array for more information.
|
|
2053
|
+
*/
|
|
2054
|
+
isRefundable: boolean;
|
|
2055
|
+
/** Lists the conditions and payments for a car rental cancellation. */
|
|
2056
|
+
refundPenalties?: BookingDateRangeRefundPenalty[];
|
|
2057
|
+
/**
|
|
2058
|
+
* The one or two-letter status code used by vendors. It indicates the car's booking status. Ej.:
|
|
2059
|
+
* `HK`.
|
|
2060
|
+
*/
|
|
2061
|
+
carStatusCode?: string;
|
|
2062
|
+
/** The meaningful value describing car booking status. */
|
|
2063
|
+
carStatusName?: BookingStatusNameEnum;
|
|
2064
|
+
/** The 4 character [ACRISS](https://www.acriss.org/car-codes/) code of the car. Ej.: `MBMR`. */
|
|
2065
|
+
vehicleTypeCode?: string;
|
|
2066
|
+
/**
|
|
2067
|
+
* Identifies the name of the car type based on the second character of the
|
|
2068
|
+
* [ACRISS](https://www.acriss.org/car-codes/) code.
|
|
2069
|
+
*/
|
|
2070
|
+
vehicleTypeName?: BookingVehicleTypeNameEnum;
|
|
2071
|
+
/** The number of requested cars. Ej.: `1`. */
|
|
2072
|
+
numberOfVehicles?: number;
|
|
2073
|
+
/** The unique ID for an offer at a given vendor. Ej.: `RCUD1`. */
|
|
2074
|
+
rateCode?: string;
|
|
2075
|
+
/** The included distance in the car rental booking. Ej.: `UNL`. */
|
|
2076
|
+
distanceAllowance?: string;
|
|
2077
|
+
/**
|
|
2078
|
+
* The payment information provided to the vendor to guarantee the booking. Ej.:
|
|
2079
|
+
* `GVI4XXXXXXXXXXX0008EXP 03 22-TEST CAR`.
|
|
2080
|
+
*/
|
|
2081
|
+
guaranteePaymentNote?: string;
|
|
2082
|
+
/** The special information provided to the vendor. Ej.: `NON-SMOKING CAR PLEASE`. */
|
|
2083
|
+
specialInstructions?: string;
|
|
2084
|
+
/** Contains payment information for the service. */
|
|
2085
|
+
payment?: BookingTotalValues;
|
|
2086
|
+
/** Identifies the payment information type provided to the vendor to guarantee the booking. */
|
|
2087
|
+
guaranteePaymentType?: BookingGuaranteePaymentTypeEnum;
|
|
2088
|
+
}
|
|
2089
|
+
/** Contains train object reference by `itemId`. */
|
|
2090
|
+
interface BookingTrainReference {
|
|
2091
|
+
/** The id of the given train reservation. Ej.: `12`. */
|
|
2092
|
+
itemId: string;
|
|
2093
|
+
}
|
|
2094
|
+
/** Contains train information for the given booking. */
|
|
2095
|
+
interface BookingTrainItem {
|
|
2096
|
+
/** The train reservation number. Ej.: `76E220`. */
|
|
2097
|
+
confirmationId?: string;
|
|
2098
|
+
/** The train number associated with the marketing railroad company. Ej.: `822`. */
|
|
2099
|
+
trainNumber: string;
|
|
2100
|
+
/** The train name associated with the marketing railroad company. Ej.: `Heartland Flyer`. */
|
|
2101
|
+
trainName?: string;
|
|
2102
|
+
/** The two-letter IATA designator code of the marketing railroad company. Ej.: `2V`. */
|
|
2103
|
+
vendorCode: string;
|
|
2104
|
+
/** The name of the marketing railroad company. Ej.: `Amtrak`. */
|
|
2105
|
+
vendorName?: string;
|
|
2106
|
+
/** The two-letter IATA designator code of the operating railroad company. Ej.: `2V`. */
|
|
2107
|
+
operatingVendorCode?: string;
|
|
2108
|
+
/** The name of the operating railroad company. Ej.: `Amtrak`. */
|
|
2109
|
+
operatingVendorName?: string;
|
|
2110
|
+
/**
|
|
2111
|
+
* The origin train station code of the marketing railroad company station coding system. Ej.:
|
|
2112
|
+
* `FTW`.
|
|
2113
|
+
*/
|
|
2114
|
+
fromStationCode: string;
|
|
2115
|
+
/** The train station name of the origin station. Ej.: `Central Station`. */
|
|
2116
|
+
fromStationName?: string;
|
|
2117
|
+
/**
|
|
2118
|
+
* The destination train station code of the marketing railroad company station coding system.
|
|
2119
|
+
* Ej.: `ATL`.
|
|
2120
|
+
*/
|
|
2121
|
+
toStationCode: string;
|
|
2122
|
+
/** The train station name of the destination station. Ej.: `Peachtree Station`. */
|
|
2123
|
+
toStationName?: string;
|
|
2124
|
+
/**
|
|
2125
|
+
* The scheduled departure date in `YYYY-MM-DD` format in the train station's timezone. Ej.:
|
|
2126
|
+
* `2024-07-10`.
|
|
2127
|
+
*/
|
|
2128
|
+
departureDate: string;
|
|
2129
|
+
/** The scheduled time of departure in `HH:MM` format. Ej.: `19:15`. */
|
|
2130
|
+
departureTime: string;
|
|
2131
|
+
/**
|
|
2132
|
+
* The scheduled arrival date in `YYYY-MM-DD` format in the train station's timezone. Ej.:
|
|
2133
|
+
* `2024-07-10`.
|
|
2134
|
+
*/
|
|
2135
|
+
arrivalDate: string;
|
|
2136
|
+
/** The scheduled time of arrival in `HH:MM` format. Ej.: `23:10`. */
|
|
2137
|
+
arrivalTime: string;
|
|
2138
|
+
/** If true, the train reservation can be refunded in total. */
|
|
2139
|
+
isRefundable?: boolean;
|
|
2140
|
+
/**
|
|
2141
|
+
* The one or two-letter status code used by vendors. It indicates the train's booking status.
|
|
2142
|
+
* Ej.: `HK`.
|
|
2143
|
+
*/
|
|
2144
|
+
trainStatusCode?: string;
|
|
2145
|
+
/** The meaningful value describing train's booking status. */
|
|
2146
|
+
trainStatusName?: BookingStatusNameEnum;
|
|
2147
|
+
/** Contains payment information for the service. */
|
|
2148
|
+
payment?: BookingTotalValues;
|
|
2149
|
+
}
|
|
2150
|
+
/** Contains cruise object reference by `itemId`. */
|
|
2151
|
+
interface BookingCruiseReference {
|
|
2152
|
+
/** The id of the given cruise reservation. Ej.: `12`. */
|
|
2153
|
+
itemId: string;
|
|
2154
|
+
}
|
|
2155
|
+
/** Contains cruise information for the given booking. */
|
|
2156
|
+
interface BookingCruiseItem {
|
|
2157
|
+
/** The cruise booking reference ID in the cruise line's system. Ej.: `XPCD8Q`. */
|
|
2158
|
+
confirmationId?: string;
|
|
2159
|
+
/** The cruise vendor code. Ej.: `PC`. */
|
|
2160
|
+
vendorCode: string;
|
|
2161
|
+
/** The ship code in the cruise line system. Ej.: `RP`. */
|
|
2162
|
+
shipCode?: string;
|
|
2163
|
+
/** The ship name in the cruise line system. Ej.: `Royal Princess`. */
|
|
2164
|
+
shipName?: string;
|
|
2165
|
+
/** The origin port code. Ej.: `ANC`. */
|
|
2166
|
+
fromPortCode: string;
|
|
2167
|
+
/**
|
|
2168
|
+
* The destination port code for cruises where destination port is different than the origin
|
|
2169
|
+
* port. Ej.: `YVR`.
|
|
2170
|
+
*/
|
|
2171
|
+
toPortCode?: string;
|
|
2172
|
+
/** The departure date in `YYYY-MM-DD` format in the origin port's timezone. Ej.: `2024-07-12`. */
|
|
2173
|
+
departureDate: string;
|
|
2174
|
+
/** The time of departure in `HH:MM` format. Ej.: `16:00`. */
|
|
2175
|
+
departureTime?: string;
|
|
2176
|
+
/** The arrival date in `YYYY-MM-DD` format in the port's timezone. Ej.: `2024-07-15`. */
|
|
2177
|
+
arrivalDate: string;
|
|
2178
|
+
/** The time of arrival in `HH:MM` format. Ej.: `09:00`. */
|
|
2179
|
+
arrivalTime?: string;
|
|
2180
|
+
/** The number of guests. Ej.: `2`. */
|
|
2181
|
+
numberOfGuests?: number;
|
|
2182
|
+
/** The number of the reserved cabin on the ship. Ej.: `C101`. */
|
|
2183
|
+
cabinNumber?: string;
|
|
2184
|
+
/**
|
|
2185
|
+
* The one or two-letter status code used by vendors. It indicates the cruise's booking status.
|
|
2186
|
+
* Ej.: `GK`.
|
|
2187
|
+
*/
|
|
2188
|
+
cruiseStatusCode?: string;
|
|
2189
|
+
/** The meaningful value describing the cruise's booking status. */
|
|
2190
|
+
cruiseStatusName?: BookingStatusNameEnum;
|
|
2191
|
+
}
|
|
2192
|
+
/** Contains the unique ID of the segment. */
|
|
2193
|
+
interface BookingSegmentReference {
|
|
2194
|
+
/**
|
|
2195
|
+
* The unique ID of the segment which may correspond to the itemId of a booking element, such as
|
|
2196
|
+
* flight, hotel, car, etc. Ej.: `12`.
|
|
2197
|
+
*/
|
|
2198
|
+
id: string;
|
|
2199
|
+
}
|
|
2200
|
+
/**
|
|
2201
|
+
* Contains basic attributes common for all possible types of booking segments. Provided attributes
|
|
2202
|
+
* are only relevant to the segment type.
|
|
2203
|
+
*/
|
|
2204
|
+
interface BookingSegmentBasicAttributes {
|
|
2205
|
+
/** The type of the booking segment. Ej.: `FLIGHT`. */
|
|
2206
|
+
type: string;
|
|
2207
|
+
/**
|
|
2208
|
+
* The name or description of the segment, such as flight number for the segment representing a
|
|
2209
|
+
* flight. Ej.: `123`.
|
|
2210
|
+
*/
|
|
2211
|
+
text?: string;
|
|
2212
|
+
/**
|
|
2213
|
+
* The corresponding vendor code, such as carrier code for a `FLIGHT` type segment, or hotel
|
|
2214
|
+
* vendor code for a `HOTEL` type segment. Ej.: `AA`.
|
|
2215
|
+
*/
|
|
2216
|
+
vendorCode?: string;
|
|
2217
|
+
/**
|
|
2218
|
+
* The date of the event represented by the segment in `YYYY-MM-DD` format and in the event's
|
|
2219
|
+
* local time zone. Not returned for events that span multiple days. Ej.: `2024-07-09`.
|
|
2220
|
+
*/
|
|
2221
|
+
date?: string;
|
|
2222
|
+
/** The time of the event represented by the segment in `HH:MM` format. Ej.: `09:15`. */
|
|
2223
|
+
time?: string;
|
|
2224
|
+
/**
|
|
2225
|
+
* The code of the location of the event represented by the segment. This attribute does not
|
|
2226
|
+
* exist for an event with start and end locations. Ej.: `ATL`.
|
|
2227
|
+
*/
|
|
2228
|
+
locationCode?: string;
|
|
2229
|
+
/**
|
|
2230
|
+
* The address of the event represented by the segment, such as hotel address for a `HOTEL` type
|
|
2231
|
+
* segment. This attribute does not exist for an event with start and end addresses.
|
|
2232
|
+
*/
|
|
2233
|
+
address?: BookingGenericAddress;
|
|
2234
|
+
/**
|
|
2235
|
+
* The start date of the event represented by the segment, provided in `YYYY-MM-DD` format and in
|
|
2236
|
+
* the event's local timezone. Not populated for a single-day event. Ej.: `2024-07-09`.
|
|
2237
|
+
*/
|
|
2238
|
+
startDate?: string;
|
|
2239
|
+
/** The start time of the event represented by the segment in `HH:MM` format. Ej.: `09:15`. */
|
|
2240
|
+
startTime?: string;
|
|
2241
|
+
/**
|
|
2242
|
+
* The code of the start location of the event represented by the segment, such as origin airport
|
|
2243
|
+
* code for a `FLIGHT` type segment. This attribute does not exist for a single location event,
|
|
2244
|
+
* such as cruise trip. Ej.: `DFW`.
|
|
2245
|
+
*/
|
|
2246
|
+
startLocationCode?: string;
|
|
2247
|
+
/**
|
|
2248
|
+
* The event beginning address for the segment representing a transport type event, such as a car
|
|
2249
|
+
* reservation pick up address. This attribute does not exist for a stational event, such as
|
|
2250
|
+
* hotel reservation.
|
|
2251
|
+
*/
|
|
2252
|
+
startAddress?: BookingGenericAddress;
|
|
2253
|
+
/**
|
|
2254
|
+
* The end date of the event represented by the segment, provided in `YYYY-MM-DD` format and in
|
|
2255
|
+
* the event's local timezone. Not populated for a single-day event, such as a one-day tour. Ej.:
|
|
2256
|
+
* `2024-07-09`.
|
|
2257
|
+
*/
|
|
2258
|
+
endDate?: string;
|
|
2259
|
+
/** The end time of the event represented by the segment in `HH:MM` format. Ej.: `12:28`. */
|
|
2260
|
+
endTime?: string;
|
|
2261
|
+
/**
|
|
2262
|
+
* The code of the ending location of the event represented by the segment, such as destination
|
|
2263
|
+
* airport code for a `FLIGHT` type segment. This attribute does not exist for a single location
|
|
2264
|
+
* type event such as hotel or cruise reservation. Ej.: `HNL`.
|
|
2265
|
+
*/
|
|
2266
|
+
endLocationCode?: string;
|
|
2267
|
+
/**
|
|
2268
|
+
* The event ending address for the segment representing transport type event with two addresses,
|
|
2269
|
+
* such as drop off address of a car reservation when there is different drop off address than
|
|
2270
|
+
* for pick up.
|
|
2271
|
+
*/
|
|
2272
|
+
endAddress?: BookingGenericAddress;
|
|
2273
|
+
}
|
|
2274
|
+
/**
|
|
2275
|
+
* Contains coupon information of the corresponding flight, identified by `itemId`, for the given
|
|
2276
|
+
* booking.
|
|
2277
|
+
*/
|
|
2278
|
+
type BookingFlightReferenceCoupon = BookingFlightReference & BookingCouponStatus;
|
|
2279
|
+
/** Contains coupon status details. */
|
|
2280
|
+
type BookingTicketCoupon = BookingCouponStatus & {
|
|
2281
|
+
/** The identifier of the flight associated with the coupon and stored in the booking. Ej.: `12`. */
|
|
2282
|
+
itemId?: string;
|
|
2283
|
+
};
|
|
2284
|
+
/** Identifies the current status of the ticket. */
|
|
2285
|
+
type BookingTicketStatusEnum = 'Issued' | 'Voided' | 'Refunded/Exchanged' | (string & {});
|
|
2286
|
+
/** Contains details of a form of payment. */
|
|
2287
|
+
type BookingFormOfPaymentResponse = BookingGenericFormOfPayment & {
|
|
2288
|
+
/**
|
|
2289
|
+
* Identifies the type of payment method. The `MISCELLANEOUS` payment method must be activated on
|
|
2290
|
+
* the agency level and requires a specific payment credit code. `INSTALLMENTS` is used for BSP
|
|
2291
|
+
* Brazil customers only and refers to payment by means of card installments commonly referred to
|
|
2292
|
+
* as "parcelado". `VIRTUAL_CARD`, `AGENCY_NAME`, `AGENCY_IATA`, `CORPORATE`, `COMPANY_NAME` are
|
|
2293
|
+
* used for hotel bookings. `VOUCHER` is used for vehicle booking.
|
|
2294
|
+
*/
|
|
2295
|
+
type: BookingFormOfPaymentTypeResponseEnum;
|
|
2296
|
+
/**
|
|
2297
|
+
* Free‑form code used to represent agency‑specific or non‑standard payment indicators, such as
|
|
2298
|
+
* on‑account codes or CA/NOREF. Ej.: `CA/NOREF`.
|
|
2299
|
+
*/
|
|
2300
|
+
customPaymentCode?: string;
|
|
2301
|
+
/**
|
|
2302
|
+
* The ID of the form of payment item stored in the booking. It can be used for reference
|
|
2303
|
+
* purposes during the fulfillment operation. Ej.: `12`.
|
|
2304
|
+
*/
|
|
2305
|
+
itemId?: string;
|
|
2306
|
+
};
|
|
2307
|
+
/**
|
|
2308
|
+
* Contains details of the payment amount - the total amount to pay, the amount before tax, and the
|
|
2309
|
+
* amount of tax.
|
|
2310
|
+
*/
|
|
2311
|
+
interface BookingGenericTotalValues {
|
|
2312
|
+
/** The subtotal before applying taxes and fees. Ej.: `100.00`. */
|
|
2313
|
+
subtotal?: string;
|
|
2314
|
+
/** The amount of all taxes. Ej.: `8.00`. */
|
|
2315
|
+
taxes?: string;
|
|
2316
|
+
/** The total amount; the sum of the `subtotal`, `taxes`, and `fees`. Ej.: `128.00`. */
|
|
2317
|
+
total: string;
|
|
2318
|
+
/** The three-letter ISO 4217 currency code. Ej.: `USD`. */
|
|
2319
|
+
currencyCode: string;
|
|
2320
|
+
}
|
|
2321
|
+
/** Contains Other Service Information (OSI) sent to or retrieved from a specific vendor. */
|
|
2322
|
+
interface BookingCommonOtherServiceInformation {
|
|
2323
|
+
/**
|
|
2324
|
+
* The two-letter [IATA](https://www.iata.org/about/members/Pages/airline-list.aspx?All=true)
|
|
2325
|
+
* designator code of the issuing airline. Ej.: `AA`.
|
|
2326
|
+
*/
|
|
2327
|
+
airlineCode?: string;
|
|
2328
|
+
/**
|
|
2329
|
+
* Specifies the traveler from the `travelers` array whose name is associated with the ticket.
|
|
2330
|
+
* Ej.: `1`.
|
|
2331
|
+
*/
|
|
2332
|
+
travelerIndex?: number;
|
|
2333
|
+
/** The text of the service information. Ej.: `/CX-J674A0957C0`. */
|
|
2334
|
+
serviceMessage?: string;
|
|
2335
|
+
}
|
|
2336
|
+
/** Identifies the booking status of the item. */
|
|
2337
|
+
type BookingStatusNameEnum = 'Confirmed' | 'Waitlisted' | 'On Request' | 'Pending' | 'Cancelled' | 'Infant/No Seat' | 'Priority Waitlist' | 'Quote' | 'Space Available' | 'Unconfirmed' | 'Pending Quote' | 'No Seat' | 'Standby' | 'Unknown' | (string & {});
|
|
2338
|
+
/**
|
|
2339
|
+
* Identifies the association type of the accounting item, which indicates to whom the fare is
|
|
2340
|
+
* applied. Can be `Single Traveler` (fare amount applied to a singular passenger whose details are
|
|
2341
|
+
* provided in `FormOfPayment`), `All Travelers` (fare amount applied to all passengers together as
|
|
2342
|
+
* a group), or `Each Traveler` (fare amount applied to individual passengers).
|
|
2343
|
+
*/
|
|
2344
|
+
type BookingFareApplicationTypeEnum = 'Single Traveler' | 'All Travelers' | 'Each Traveler' | (string & {});
|
|
2345
|
+
/** Identifies the payment method of the accounting item. */
|
|
2346
|
+
type BookingAccountingFormOfPaymentTypeEnum = 'Cash' | 'Check' | 'Check or Cash' | 'Payment Card' | 'Masked Payment Card' | 'Unknown' | (string & {});
|
|
2347
|
+
/** Identifies the ticket operation which triggered automatic accounting item creation. */
|
|
2348
|
+
type BookingAccountingItemCreationTypeEnum = 'First Issuance' | 'Exchange' | 'Refund' | 'Low Cost Carrier' | 'Ancillary Fee' | 'Credit Card Fee' | 'Booking Fee' | (string & {});
|
|
2349
|
+
/** Indicates the type of tariff basis. */
|
|
2350
|
+
type BookingTariffBasisTypeEnum = 'Domestic' | 'Foreign' | 'International' | (string & {});
|
|
2351
|
+
/** Contains details of Goods and Services Tax (GST). */
|
|
2352
|
+
interface BookingGoodsAndServicesTax {
|
|
2353
|
+
/** The tax code. Must be combined with `amount`. Ej.: `D`. */
|
|
2354
|
+
code?: string;
|
|
2355
|
+
/** The GST tax amount. Mutually exclusive with `percentage`. Ej.: `5.00`. */
|
|
2356
|
+
amount?: string;
|
|
2357
|
+
/** The GST tax percentage. Mutually exclusive with `amount`. Ej.: `5.00`. */
|
|
2358
|
+
percentage?: string;
|
|
2359
|
+
}
|
|
2360
|
+
/** Identifies the status of a nonelectronic ticket. */
|
|
2361
|
+
type BookingNonElectronicTicketStatusEnum = 'Active' | 'Inactive' | 'Unknown' | (string & {});
|
|
2362
|
+
/**
|
|
2363
|
+
* Identifies the type of employer ID. Can be `GST` (Indian Goods and Services Tax information) or
|
|
2364
|
+
* `Unknown`.
|
|
2365
|
+
*/
|
|
2366
|
+
type BookingEmployerIdTypeEnum = 'GST' | 'Unknown' | (string & {});
|
|
2367
|
+
/** Contains phone details. */
|
|
2368
|
+
interface BookingPhone {
|
|
2369
|
+
/** The formatted phone number of the traveler. Ej.: `+1-555-123-4567`. */
|
|
2370
|
+
number: string;
|
|
2371
|
+
/**
|
|
2372
|
+
* The type of the phone number. Available phone type codes are `H` - home, `B` - business, `C` -
|
|
2373
|
+
* cell and `M` - mobile. Ej.: `M`.
|
|
2374
|
+
*/
|
|
2375
|
+
label?: string;
|
|
2376
|
+
}
|
|
2377
|
+
/** Contains basic address information. */
|
|
2378
|
+
interface BookingAddress {
|
|
2379
|
+
/**
|
|
2380
|
+
* The street name and house number accompanied with the number of apartment, unit, or suite, if
|
|
2381
|
+
* applicable. Ej.: `1230 Ellen Ave, apt 10`.
|
|
2382
|
+
*/
|
|
2383
|
+
street?: string;
|
|
2384
|
+
/** The name of the city. Ej.: `Dallas`. */
|
|
2385
|
+
city?: string;
|
|
2386
|
+
/** The name or code of the state or province. Ej.: `TX`. */
|
|
2387
|
+
stateProvince?: string;
|
|
2388
|
+
/** The zip or postal code. Ej.: `75063`. */
|
|
2389
|
+
postalCode?: string;
|
|
2390
|
+
/**
|
|
2391
|
+
* The two-letter [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) country code. Ej.:
|
|
2392
|
+
* `US`.
|
|
2393
|
+
*/
|
|
2394
|
+
countryCode?: string;
|
|
2395
|
+
}
|
|
2396
|
+
/** Identifies the type of passenger document. */
|
|
2397
|
+
type BookingDocumentTypeEnum = 'PASSPORT' | 'VISA' | 'SECURE_FLIGHT_PASSENGER_DATA' | 'RESIDENCE_ADDRESS' | 'DESTINATION_ADDRESS' | 'KNOWN_TRAVELER_NUMBER' | 'REDRESS_NUMBER' | 'ALIEN_RESIDENT' | 'PERMANENT_RESIDENT' | 'FACILITATION_DOCUMENT' | 'NATIONAL_ID_CARD' | 'NEXUS_CARD' | 'MILITARY' | 'NATURALIZATION_CERTIFICATE' | 'REFUGEE_REENTRY_PERMIT' | 'BORDER_CROSSING_CARD' | 'FISCAL_ID' | (string & {});
|
|
2398
|
+
/**
|
|
2399
|
+
* Identifies the passenger document subtype for `documentType` set to `FISCAL_ID`. Can be `RUC`
|
|
2400
|
+
* (Taxpayer's Unique Registry in Ecuador), `CUIT/CUIL` (Argentina Unique Tax Identification Key),
|
|
2401
|
+
* or `NIT` (Tax Identification Number in Bolivia).
|
|
2402
|
+
*/
|
|
2403
|
+
type BookingDocumentSubTypeEnum = 'RUC' | 'CUIT/CUIL' | 'NIT' | (string & {});
|
|
2404
|
+
/**
|
|
2405
|
+
* Identifies the type of the passenger's passport document. Applies to identity documents with the
|
|
2406
|
+
* `documentType` parameter set to `PASSPORT`.
|
|
2407
|
+
*/
|
|
2408
|
+
type BookingPassportTypeResponseEnum = 'National Passport' | 'Emergency Passport' | 'Diplomatic Passport' | 'Official/Service Passport' | 'Refugee Passport' | 'Alien Passport' | 'Stateless/Special Passport' | 'Laissez-passer Passport' | 'Mission/Service Passport' | 'Single Sheet Emergency Passport' | 'Passport' | 'Unknown' | (string & {});
|
|
2409
|
+
/**
|
|
2410
|
+
* Identifies the type of the passenger’s visa document. Applies to identity documents with the
|
|
2411
|
+
* `documentType` parameter set to `VISA`. If the visa document type cannot be determined, it is
|
|
2412
|
+
* displayed as `Unknown`.
|
|
2413
|
+
*/
|
|
2414
|
+
type BookingVisaTypeResponseEnum = 'U.S. Non Immigrant Visa' | 'U.S. Immigrant Visa' | 'Visa' | 'Unknown' | (string & {});
|
|
2415
|
+
/** Identifies the type of the loyalty program. */
|
|
2416
|
+
type BookingProgramTypeEnum = 'FREQUENT_FLYER' | 'FREQUENT_RENTER' | 'LOYALTY_ID' | 'CORPORATE_LOYALTY_ID' | (string & {});
|
|
2417
|
+
/**
|
|
2418
|
+
* Specifies the IATA-defined reason for the issuance code (RFIC) applicable to the Electronic
|
|
2419
|
+
* Miscellaneous Document (EMD) that will be issued for the subcode identified in this record. The
|
|
2420
|
+
* UNKNOWN option is used for the read-only purpose by getBooking API.
|
|
2421
|
+
*/
|
|
2422
|
+
type BookingReasonForIssuanceEnum = 'AIR_TRANSPORTATION' | 'SURFACE_TRANSPORTATION_NON_AIR_SERVICES' | 'BAGGAGE' | 'FINANCIAL_IMPACT' | 'AIRPORT_SERVICES' | 'MERCHANDISE' | 'INFLIGHT_SERVICES' | 'INDIVIDUAL_AIRLINE_USE' | 'UNKNOWN' | (string & {});
|
|
2423
|
+
/** The application source that provides the ancillary service. */
|
|
2424
|
+
type BookingAncillarySourceEnum = 'ATPCO' | 'MERCHANDISING_MANAGER' | (string & {});
|
|
2425
|
+
/**
|
|
2426
|
+
* Identifies the applicability of the ancillary item to the flights in the booking. Can be
|
|
2427
|
+
* `Single` (an ancillary item applies to a single flight/sector of the booking), `Multiple` (an
|
|
2428
|
+
* ancillary item applies to the portion of flights in the booking), or `Unknown` (applicability of
|
|
2429
|
+
* the ancillary cannot be determined). This information is required when
|
|
2430
|
+
* `electronicMiscellaneousDocumentType` has the value `OTHER_THAN_EMD`.
|
|
2431
|
+
*/
|
|
2432
|
+
type BookingFlightApplicabilityTypeEnum = 'Single' | 'Multiple' | 'Unknown' | (string & {});
|
|
2433
|
+
/** Identifies the meaningful value describing the ancillary status. */
|
|
2434
|
+
type BookingAncillaryStatusNameEnum = 'Confirmed' | 'Confirmed with EMD issued' | 'On Request' | 'Pending' | 'Cancelled' | 'Unconfirmed' | 'Confirmed with pending payment' | 'Schedule change' | (string & {});
|
|
2435
|
+
/** Contains desired tax codes and their associated amounts. */
|
|
2436
|
+
interface BookingTax {
|
|
2437
|
+
/** The desired tax code. Must be combined with `amount`. Ej.: `XY`. */
|
|
2438
|
+
taxCode: string;
|
|
2439
|
+
/** The monetary amount. Ej.: `100.00`. */
|
|
2440
|
+
amount: string;
|
|
2441
|
+
}
|
|
2442
|
+
/** Identifies source type of the flight. */
|
|
2443
|
+
type BookingFlightSourceEnum = 'ATPCO' | 'LCC' | 'NDC' | (string & {});
|
|
2444
|
+
/** Contains detailed information about the seat. */
|
|
2445
|
+
interface BookingSeat {
|
|
2446
|
+
/** The traveler's assigned seat number. Ej.: `13A`. */
|
|
2447
|
+
number: string;
|
|
2448
|
+
/**
|
|
2449
|
+
* Lists all IATA-defined characteristic codes associated with the seat. For the list of all
|
|
2450
|
+
* codes refer to the following resource - IATA PADIS codeset element 9825.
|
|
2451
|
+
*/
|
|
2452
|
+
characteristics?: string[];
|
|
2453
|
+
/** The two-letter status code used by vendors. It indicates the seat status. Ej.: `AF`. */
|
|
2454
|
+
statusCode?: string;
|
|
2455
|
+
/** The meaningful value describing the seat status. */
|
|
2456
|
+
statusName?: BookingStatusNameEnum;
|
|
2457
|
+
}
|
|
2458
|
+
/** Contains the meal options provided on the flight. */
|
|
2459
|
+
interface BookingMeal {
|
|
2460
|
+
/**
|
|
2461
|
+
* The code of the type of meal. Available meal type codes are `P`, `B`, `O`, `C`, `K`, `D`, `F`,
|
|
2462
|
+
* `G`, `H`, `L`, `M`, `N`, `R`, `V` and `S`. Ej.: `H`.
|
|
2463
|
+
*/
|
|
2464
|
+
code: string;
|
|
2465
|
+
/** The description of the meal corresponding to the meal type code. */
|
|
2466
|
+
description: BookingMealDescriptionEnum;
|
|
2467
|
+
}
|
|
2468
|
+
/** Contains detailed information about the hidden stop location. */
|
|
2469
|
+
interface BookingHiddenStop {
|
|
2470
|
+
/** The three-letter IATA airport code of the hidden stop location. Ej.: `DFW`. */
|
|
2471
|
+
airportCode?: string;
|
|
2472
|
+
/**
|
|
2473
|
+
* The scheduled departure date in `YYYY-MM-DD` format in the airport's timezone. Ej.:
|
|
2474
|
+
* `2024-07-09`.
|
|
2475
|
+
*/
|
|
2476
|
+
departureDate?: string;
|
|
2477
|
+
/** The scheduled time of departure in `HH:MM` format. Ej.: `09:15`. */
|
|
2478
|
+
departureTime?: string;
|
|
2479
|
+
/**
|
|
2480
|
+
* The scheduled arrival date in `YYYY-MM-DD` format in the airport's timezone. Ej.:
|
|
2481
|
+
* `2024-07-09`.
|
|
2482
|
+
*/
|
|
2483
|
+
arrivalDate?: string;
|
|
2484
|
+
/** The scheduled time of arrival in `HH:MM` format. Ej.: `12:28`. */
|
|
2485
|
+
arrivalTime?: string;
|
|
2486
|
+
/** The IATA code of the aircraft. Ej.: `E90`. */
|
|
2487
|
+
aircraftTypeCode?: string;
|
|
2488
|
+
/** The name of the aircraft model. Ej.: `EMBRAER EMB E90`. */
|
|
2489
|
+
aircraftTypeName?: string;
|
|
2490
|
+
/** Layover duration in minutes. Ej.: `300`. */
|
|
2491
|
+
durationInMinutes?: number;
|
|
2492
|
+
}
|
|
2493
|
+
interface BookingIdentityDocumentReference {
|
|
2494
|
+
/**
|
|
2495
|
+
* The unique identifier of the document. Ej.:
|
|
2496
|
+
* `76c2817b178cc264fa44cf85df1da5fb9e1b963006b2339aa5edc09129415bba5fcf5bf91a5f`.
|
|
2497
|
+
*/
|
|
2498
|
+
itemId?: string;
|
|
2499
|
+
/** Status of the identity document for the given flight. Not applicable for NDC. */
|
|
2500
|
+
status?: BookingStatusNameEnum;
|
|
2501
|
+
}
|
|
2502
|
+
/** Identifies the applicability type associated with a particular fare rule penalty. */
|
|
2503
|
+
type BookingFareRulePenaltyApplicabilityEnum = 'BEFORE_DEPARTURE' | 'AFTER_DEPARTURE' | (string & {});
|
|
2504
|
+
/** Contains monetary amount information. */
|
|
2505
|
+
interface BookingValue {
|
|
2506
|
+
/** The monetary amount. Ej.: `100.00`. */
|
|
2507
|
+
amount: string;
|
|
2508
|
+
/** The three-letter ISO 4217 currency code. Ej.: `USD`. */
|
|
2509
|
+
currencyCode: string;
|
|
2510
|
+
}
|
|
2511
|
+
/** Contains a Branded Fare attribute. */
|
|
2512
|
+
interface BookingBrandAttribute {
|
|
2513
|
+
/** The ID of a given Branded Fare attribute. Ej.: `SABRE_NDCC_ID_1`. */
|
|
2514
|
+
itemId?: string;
|
|
2515
|
+
/** Marketing information about the product. Ej.: `Qantas Points`. */
|
|
2516
|
+
description?: string;
|
|
1061
2517
|
}
|
|
1062
|
-
/**
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
2518
|
+
/**
|
|
2519
|
+
* Contains a breakdown of the fare difference between the initially offered fare totals and the
|
|
2520
|
+
* final fare totals.
|
|
2521
|
+
*/
|
|
2522
|
+
interface BookingFareDifferenceBreakdown {
|
|
2523
|
+
/** The monetary amount of the adjusted fare. Ej.: `100.00`. */
|
|
2524
|
+
adjustedAmount?: string;
|
|
2525
|
+
/** The three-letter ISO 4217 currency code. Ej.: `USD`. */
|
|
2526
|
+
currencyCode?: string;
|
|
2527
|
+
/** Lists Goods and Services Taxes (GST) that adjust the total tax amount. */
|
|
2528
|
+
goodsAndServicesTaxes?: BookingGoodsAndServicesTax[];
|
|
2529
|
+
/** Lists handling fees. */
|
|
2530
|
+
fees?: BookingHandlingFee[];
|
|
2531
|
+
}
|
|
2532
|
+
/** Contains hotel address information. */
|
|
2533
|
+
type BookingHotelAddress = BookingGenericAddress & {
|
|
2534
|
+
/** The three-letter IATA city code of the hotel location. Ej.: `DFW`. */
|
|
2535
|
+
cityCode?: string;
|
|
2536
|
+
};
|
|
2537
|
+
/** Contains basic information of the rooms in the hotel with the number of rooms booked. */
|
|
2538
|
+
interface BookingRoom {
|
|
2539
|
+
/** The type of the room provided by the hotel supplier. Ej.: `2 double beds`. */
|
|
2540
|
+
roomType: string;
|
|
2541
|
+
/** Lists room extra information. */
|
|
2542
|
+
roomExtras?: BookingRoomExtraResponse[];
|
|
2543
|
+
/** The number of booked rooms of this room type. Ej.: `1`. */
|
|
2544
|
+
quantity: number;
|
|
2545
|
+
/**
|
|
2546
|
+
* The detailed description of the room provided by the hotel supplier. Ej.: `Deluxe Room, 2
|
|
2547
|
+
* Double Beds`.
|
|
2548
|
+
*/
|
|
2549
|
+
description?: string;
|
|
2550
|
+
/** The unique ID for a room type at a given vendor. Ej.: `100144834`. */
|
|
2551
|
+
roomTypeCode?: string;
|
|
2552
|
+
/**
|
|
2553
|
+
* The inventory block code of the room. An ID returned by GDS suppliers for all unique room+rate
|
|
2554
|
+
* combinations. Populated only for GDS products. Ej.: `SM3A00`.
|
|
2555
|
+
*/
|
|
2556
|
+
productCode?: string;
|
|
2557
|
+
/** The room rate amount and currency per night. */
|
|
2558
|
+
roomRate?: BookingValue;
|
|
2559
|
+
/**
|
|
2560
|
+
* Lists the travelers within the `travelers` list. Indicates which travelers are considered to
|
|
2561
|
+
* be guests associated with a particular room. It is possible that not all travelers are listed
|
|
2562
|
+
* as hotel guests in the hotel booking.
|
|
2563
|
+
*/
|
|
2564
|
+
travelerIndices?: number[];
|
|
2565
|
+
/** Contains commission details applicable to the hotel rate. */
|
|
2566
|
+
agencyCommission?: BookingAgencyCommission;
|
|
2567
|
+
/** The client ID code of a negotiated rate specified by `supplierRateCode`. Ej.: `FOF`. */
|
|
2568
|
+
clientIdCode?: string;
|
|
2569
|
+
/**
|
|
2570
|
+
* The supplier-negotiated rate plan code for the client identified by `clientIdCode`. Ej.:
|
|
2571
|
+
* `FOS`.
|
|
2572
|
+
*/
|
|
2573
|
+
supplierRateCode?: string;
|
|
2574
|
+
/** Lists hotel stay rate divided into interval (mostly per night) rates. */
|
|
2575
|
+
rateBreakdown?: BookingRateInterval[];
|
|
2576
|
+
/** Lists additional free-text rate information provided by the hotel supplier. */
|
|
2577
|
+
supplierRateDescription?: string[];
|
|
1067
2578
|
}
|
|
1068
2579
|
/**
|
|
1069
|
-
*
|
|
1070
|
-
*
|
|
2580
|
+
* Contains the date range up to which a hotel penalty is applicable, including the total cost of
|
|
2581
|
+
* the penalty.
|
|
1071
2582
|
*/
|
|
1072
|
-
interface
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
2583
|
+
interface BookingHotelDateRangeRefundPenalty {
|
|
2584
|
+
/**
|
|
2585
|
+
* The date from when the penalty becomes applicable, in [ISO
|
|
2586
|
+
* 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Ej.:
|
|
2587
|
+
* `2024-07-07T16:00:00Z`.
|
|
2588
|
+
*/
|
|
2589
|
+
applicableFromDate?: string;
|
|
2590
|
+
/**
|
|
2591
|
+
* The date when the penalty applicability ends, in [ISO
|
|
2592
|
+
* 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Ej.:
|
|
2593
|
+
* `2024-07-09T16:00:00Z`.
|
|
2594
|
+
*/
|
|
2595
|
+
applicableToDate?: string;
|
|
2596
|
+
/** Total cost of the penalty. */
|
|
2597
|
+
penalty: BookingHotelPenaltyValue;
|
|
2598
|
+
}
|
|
2599
|
+
/** Identifies the OTA payment name. */
|
|
2600
|
+
type BookingGuaranteeTypeNameEnum = 'Credit card' | 'Travel agency name/address' | 'Travel agency IATA number' | 'Company name/address' | 'Corporate ID/CD number' | 'Virtual card' | (string & {});
|
|
2601
|
+
/** Identifies the hotel payment policy. */
|
|
2602
|
+
type BookingHotelPaymentPolicyEnum = 'DEPOSIT' | 'GUARANTEE' | 'LATE' | (string & {});
|
|
2603
|
+
/** Contains flight arrival and departure information used mainly for hotel bookings. */
|
|
2604
|
+
type BookingAssociatedFlightDetails = BookingAssociatedArrivalFlight & {
|
|
2605
|
+
/** The scheduled time of arrival in `HH:MM` format. Ej.: `12:28`. */
|
|
2606
|
+
arrivalTime?: string;
|
|
2607
|
+
/**
|
|
2608
|
+
* The two-letter [IATA](https://www.iata.org/about/members/Pages/airline-list.aspx?All=true)
|
|
2609
|
+
* designator code of the marketing airline for the departure flight. Ej.: `AA`.
|
|
2610
|
+
*/
|
|
2611
|
+
departureAirlineCode?: string;
|
|
2612
|
+
/** The flight number associated with the marketing carrier for the departure flight. Ej.: `123`. */
|
|
2613
|
+
departureFlightNumber?: number;
|
|
2614
|
+
/** The scheduled time of departure in `HH:MM` format. Ej.: `09:15`. */
|
|
2615
|
+
departureTime?: string;
|
|
2616
|
+
};
|
|
2617
|
+
/** Identifies the source of the hotel booking. */
|
|
2618
|
+
type BookingHotelSourceEnum = 'Legacy' | 'Sabre GDS' | 'Expedia Associate Network' | 'HotelBeds.com' | 'Booking.com' | 'CMNet' | 'Unknown' | (string & {});
|
|
2619
|
+
/** Information about force update for hotel segment. */
|
|
2620
|
+
interface BookingForceHotelUpdateDetails {
|
|
2621
|
+
/** If true, force update was applied to retrieve the latest booking state. */
|
|
2622
|
+
isUpdated?: boolean;
|
|
2623
|
+
/**
|
|
2624
|
+
* Provides the exact point in time when the force update request is generated. The
|
|
2625
|
+
* updateDateTime is expressed in UTC and presented in the YYYY-MM-DDTHH:MM:SSZ format. Ej.:
|
|
2626
|
+
* `2024-10-28T11:11:21Z`.
|
|
2627
|
+
*/
|
|
2628
|
+
updateDateTime?: string;
|
|
1078
2629
|
}
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
2630
|
+
/** Contains information about the car rental location. */
|
|
2631
|
+
interface BookingCarRentalSite {
|
|
2632
|
+
/**
|
|
2633
|
+
* The ID of the car rental location. Cannot be combined with other address-related qualifiers.
|
|
2634
|
+
* Ej.: `ABC123`.
|
|
2635
|
+
*/
|
|
2636
|
+
id?: string;
|
|
2637
|
+
/** The name of the car rental location. Ej.: `TEST LOCATION`. */
|
|
2638
|
+
name?: string;
|
|
2639
|
+
/**
|
|
2640
|
+
* The phone number of the car rental location involved in vehicle collection or delivery. Ej.:
|
|
2641
|
+
* `8175551212`.
|
|
2642
|
+
*/
|
|
2643
|
+
phone?: string;
|
|
1083
2644
|
}
|
|
1084
|
-
/**
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
/**
|
|
1090
|
-
|
|
1091
|
-
|
|
2645
|
+
/**
|
|
2646
|
+
* Contains the date range up to which a penalty is applicable, including the total cost of the
|
|
2647
|
+
* penalty.
|
|
2648
|
+
*/
|
|
2649
|
+
interface BookingDateRangeRefundPenalty {
|
|
2650
|
+
/**
|
|
2651
|
+
* The date from when the penalty becomes applicable, in [ISO
|
|
2652
|
+
* 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Ej.:
|
|
2653
|
+
* `2024-07-07T16:00:00Z`.
|
|
2654
|
+
*/
|
|
2655
|
+
applicableFromDate?: string;
|
|
2656
|
+
/**
|
|
2657
|
+
* The date when the penalty applicability ends, in [ISO
|
|
2658
|
+
* 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Ej.:
|
|
2659
|
+
* `2024-07-09T16:00:00Z`.
|
|
2660
|
+
*/
|
|
2661
|
+
applicableToDate?: string;
|
|
2662
|
+
/** Total cost of the penalty. */
|
|
2663
|
+
penalty: BookingValue;
|
|
1092
2664
|
}
|
|
1093
2665
|
/**
|
|
1094
|
-
*
|
|
1095
|
-
*
|
|
1096
|
-
*
|
|
1097
|
-
* - Clases de servicio y fechas: ver `itineraryFlights`. Las horas salen de `time` sin el offset.
|
|
1098
|
-
* - `MaxStopsQuantity` es el máximo de conexiones de un tramo, para no rechazar itinerarios
|
|
1099
|
-
* con escala.
|
|
1100
|
-
* - `Fixed: false` y `VerificationItinCallLogic: "L"` se copian del ejemplo de Sabre; su
|
|
1101
|
-
* efecto no está documentado.
|
|
2666
|
+
* Identifies the name of the car type based on the second character of the
|
|
2667
|
+
* [ACRISS](https://www.acriss.org/car-codes/) code.
|
|
1102
2668
|
*/
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
2669
|
+
type BookingVehicleTypeNameEnum = 'Two/Three Door' | 'Two/Four Door' | 'Four/Five Door' | 'Wagon/Estate' | 'Passenger Van' | 'Limousine/Sedan' | 'Sport' | 'Convertible' | 'SUV' | 'Open Air All Terrain' | 'Special' | 'Pick up single/extended cab 2 door' | 'Pick up double cab 4 door' | 'Special Offer Car' | 'Coupe' | 'Monospace' | 'Recreational Vehicle' | 'Motor Home' | 'Two Wheel Vehicle' | 'Roadster' | 'Crossover' | 'Commercial Van/Truck' | (string & {});
|
|
2670
|
+
/** Identifies the payment information type provided to the car vendor. */
|
|
2671
|
+
type BookingGuaranteePaymentTypeEnum = 'Guarantee' | 'Deposit' | 'Unknown' | (string & {});
|
|
2672
|
+
/** Contains the ticket's coupon information. */
|
|
2673
|
+
interface BookingCouponStatus {
|
|
2674
|
+
/** The descriptive current status of the coupon. */
|
|
2675
|
+
couponStatus: BookingCouponStatusEnum;
|
|
2676
|
+
/** The code of the current status of the ticket coupon based on IATA PADIS Codeset 4405. */
|
|
2677
|
+
couponStatusCode: BookingCouponStatusCodeEnum;
|
|
2678
|
+
}
|
|
2679
|
+
/** Contains details of a form of payment. */
|
|
2680
|
+
type BookingGenericFormOfPayment = BookingBasicFormOfPayment & {
|
|
2681
|
+
/** Contains `PAYMENTCARD` holder information. Used primarily for hotel and vehicle bookings. */
|
|
2682
|
+
cardHolder?: BookingCardHolder;
|
|
2683
|
+
/** Contains manual approval details of a form of payment. Use with `PAYMENTCARD`. */
|
|
2684
|
+
manualApproval?: BookingManualApproval;
|
|
1109
2685
|
/**
|
|
1110
|
-
*
|
|
1111
|
-
* `
|
|
2686
|
+
* Lists all strong customer authentication details for the payment card. For use with
|
|
2687
|
+
* `PAYMENTCARD`.
|
|
1112
2688
|
*/
|
|
1113
|
-
|
|
2689
|
+
authentications?: BookingStrongCustomerAuthentication[];
|
|
2690
|
+
/** Contains virtual card details. Used primarily for the hotel bookings. */
|
|
2691
|
+
virtualCard?: BookingVirtualCard;
|
|
1114
2692
|
/**
|
|
1115
|
-
*
|
|
1116
|
-
*
|
|
2693
|
+
* The agency IATA number. Use with `AGENCY_IATA`. Used primarily for the hotel bookings. Ej.:
|
|
2694
|
+
* `129345738`.
|
|
1117
2695
|
*/
|
|
1118
|
-
|
|
2696
|
+
agencyIataNumber?: string;
|
|
2697
|
+
/** Contains the agency address. Use with `AGENCY_NAME`. Used primarily for the hotel bookings. */
|
|
2698
|
+
agencyAddress?: BookingGenericAddress;
|
|
2699
|
+
/** The corporate identifier. Use with `CORPORATE` or `PAYMENTCARD`. Ej.: `CC006`. */
|
|
2700
|
+
corporateId?: string;
|
|
2701
|
+
/** Contains company address. Use with `COMPANY_NAME`. Used primarily for the hotel bookings. */
|
|
2702
|
+
companyAddress?: BookingGenericAddress;
|
|
2703
|
+
/** Contains `VOUCHER` information. Used primarily for vehicle bookings. */
|
|
2704
|
+
voucher?: BookingVoucher;
|
|
2705
|
+
/** The net balance value. Use with `INSTALLMENTS`. Ej.: `300.20`. */
|
|
2706
|
+
netBalance?: string;
|
|
1119
2707
|
/**
|
|
1120
|
-
*
|
|
1121
|
-
* `
|
|
1122
|
-
* `byPnrLocator`. Un `pnrLocator` vacío o mezclado con `segments`, `passengers` o
|
|
1123
|
-
* `returnSeatMapsOnlyForSegmentRefs` lanza `TypeError` sin llamar a la red.
|
|
2708
|
+
* The prefix of the docket (a free text document) selected as form of payment. Use with
|
|
2709
|
+
* `DOCKET`. Ej.: `AGT*V`.
|
|
1124
2710
|
*/
|
|
1125
|
-
|
|
2711
|
+
docketPrefix?: string;
|
|
2712
|
+
/**
|
|
2713
|
+
* The number of the docket (a free text document) selected as form of payment. Use with
|
|
2714
|
+
* `DOCKET`. Ej.: `654456`.
|
|
2715
|
+
*/
|
|
2716
|
+
docketNumber?: string;
|
|
2717
|
+
/** The initials of the agent who issues the docket. Use with `DOCKET`. Ej.: `LS`. */
|
|
2718
|
+
docketIssuingAgentInitials?: string;
|
|
2719
|
+
/**
|
|
2720
|
+
* Details of the docket selected as form of payment in free text format. Use with `DOCKET`. Ej.:
|
|
2721
|
+
* `DOCKET NUM 0123456`.
|
|
2722
|
+
*/
|
|
2723
|
+
docketDescription?: string;
|
|
2724
|
+
/**
|
|
2725
|
+
* Details of the Government Travel Request selected as form of payment in free text format. Use
|
|
2726
|
+
* with `GOVERNMENT_TRAVEL_REQUEST`. Ej.: `REQ-123456`.
|
|
2727
|
+
*/
|
|
2728
|
+
governmentTravelRequestDescription?: string;
|
|
2729
|
+
/**
|
|
2730
|
+
* Details of the agency invoice selected as form of payment in free text format. Use with
|
|
2731
|
+
* `INVOICE`. Ej.: `AGT INVOICE`.
|
|
2732
|
+
*/
|
|
2733
|
+
invoiceDescription?: string;
|
|
2734
|
+
/**
|
|
2735
|
+
* Identifies the single use type associated with the form of payment. This property will be
|
|
2736
|
+
* deprecated in the future major version of this API. If you wish to check the associated use
|
|
2737
|
+
* type, use the `useTypes` array instead.
|
|
2738
|
+
*/
|
|
2739
|
+
useType?: BookingFormOfPaymentUseTypeEnum;
|
|
2740
|
+
/**
|
|
2741
|
+
* Identifies the single trip type associated with the form of payment. This property will be
|
|
2742
|
+
* deprecated in the future major version of this API. If you wish to check the associated trip
|
|
2743
|
+
* type, use the `tripTypes` array instead.
|
|
2744
|
+
*/
|
|
2745
|
+
tripType?: BookingFormOfPaymentTripTypeEnum;
|
|
2746
|
+
/** Lists use types associated with the form of payment. */
|
|
2747
|
+
useTypes?: BookingFormOfPaymentUseTypeEnum[];
|
|
2748
|
+
/** Lists trip types associated with the form of payment. */
|
|
2749
|
+
tripTypes?: BookingFormOfPaymentTripTypeEnum[];
|
|
2750
|
+
/** If `true`, the card selected as form of payment belongs to a travel agency. */
|
|
2751
|
+
isAgencyPaymentCard?: boolean;
|
|
2752
|
+
/**
|
|
2753
|
+
* If `true`, the invoice form of payment free text description is preceded by a substring
|
|
2754
|
+
* `INV/`. Use with `INVOICE` and invoice description.
|
|
2755
|
+
*/
|
|
2756
|
+
addInvoiceDescriptionPrefix?: boolean;
|
|
2757
|
+
};
|
|
2758
|
+
/**
|
|
2759
|
+
* Identifies the type of payment method. The `MISCELLANEOUS` payment method must be activated on
|
|
2760
|
+
* the agency level and requires a specific payment credit code. `INSTALLMENTS` is used for BSP
|
|
2761
|
+
* Brazil customers only and refers to payment by means of card installments commonly referred to
|
|
2762
|
+
* as "parcelado". `VIRTUAL_CARD`, `AGENCY_NAME`, `AGENCY_IATA`, `CORPORATE`, `COMPANY_NAME` are
|
|
2763
|
+
* used for hotel bookings. `VOUCHER` is used for vehicle booking.
|
|
2764
|
+
*/
|
|
2765
|
+
type BookingFormOfPaymentTypeResponseEnum = 'PAYMENTCARD' | 'CASH' | 'CHECK' | 'MISCELLANEOUS' | 'INSTALLMENTS' | 'VIRTUAL_CARD' | 'AGENCY_NAME' | 'AGENCY_IATA' | 'CORPORATE' | 'COMPANY_NAME' | 'VOUCHER' | 'DOCKET' | 'GOVERNMENT_TRAVEL_REQUEST' | 'INVOICE' | 'ON_ACCOUNT' | (string & {});
|
|
2766
|
+
/** Identifies the meal provided on the flight, matching accordingly to the meal type code. */
|
|
2767
|
+
type BookingMealDescriptionEnum = 'Alcoholic beverages for purchase' | 'Breakfast' | 'Cold meal' | 'Complimentary alcoholic beverages' | 'Continental breakfast' | 'Dinner' | 'Food for purchase' | 'Food and beverage for purchase' | 'Hot meal' | 'Lunch' | 'Meal' | 'No meal service' | 'Refreshment' | 'Refreshment for purchase' | 'Snack' | (string & {});
|
|
2768
|
+
/**
|
|
2769
|
+
* Contains detailed information about the handling fee applied to the fare. This fee typically
|
|
2770
|
+
* covers administrative or processing costs.
|
|
2771
|
+
*/
|
|
2772
|
+
interface BookingHandlingFee {
|
|
2773
|
+
/** The fee code. Ej.: `D`. */
|
|
2774
|
+
code?: string;
|
|
2775
|
+
/** The fee type. Ej.: `PTK`. */
|
|
2776
|
+
type?: string;
|
|
2777
|
+
/** The monetary amount of the fee. Ej.: `25.00`. */
|
|
2778
|
+
amount?: string;
|
|
1126
2779
|
}
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
/**
|
|
1138
|
-
|
|
2780
|
+
/** Contains room extra information. */
|
|
2781
|
+
interface BookingRoomExtraResponse {
|
|
2782
|
+
/** Identifies the type of the room extra. Ej.: `196`. */
|
|
2783
|
+
typeCode?: number;
|
|
2784
|
+
/** The three-letter ISO 4217 currency code. Ej.: `USD`. */
|
|
2785
|
+
currencyCode?: string;
|
|
2786
|
+
/** Identifies the name of the room extra. */
|
|
2787
|
+
typeName?: BookingRoomExtrasNameEnum;
|
|
2788
|
+
/** The number of room extras of this type. Ej.: `2`. */
|
|
2789
|
+
quantity?: number;
|
|
2790
|
+
/** The total monetary sum for room extras. Ej.: `100.00`. */
|
|
2791
|
+
amount?: string;
|
|
2792
|
+
}
|
|
2793
|
+
/** Contains commission details applicable to the hotel rate. */
|
|
2794
|
+
type BookingAgencyCommission = BookingCommission & {
|
|
2795
|
+
/**
|
|
2796
|
+
* Text describing commission details, as returned in the supplier’s rate display. Ej.:
|
|
2797
|
+
* `COMMISSIONABLE - 10.00 PERCENT`.
|
|
2798
|
+
*/
|
|
2799
|
+
text?: string;
|
|
2800
|
+
};
|
|
2801
|
+
/** Hotel rate for a particular time range of the whole reservation. */
|
|
2802
|
+
interface BookingRateInterval {
|
|
2803
|
+
/** The monetary amount. Ej.: `100.00`. */
|
|
2804
|
+
amount?: string;
|
|
2805
|
+
/** The three-letter ISO 4217 currency code. Ej.: `USD`. */
|
|
2806
|
+
currencyCode?: string;
|
|
2807
|
+
/**
|
|
2808
|
+
* The start date of the rate applicability in [ISO
|
|
2809
|
+
* 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Ej.: `2026-07-09`.
|
|
2810
|
+
*/
|
|
2811
|
+
startDate?: string;
|
|
2812
|
+
/**
|
|
2813
|
+
* The end date of the rate applicability in [ISO
|
|
2814
|
+
* 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Ej.: `2026-07-19`.
|
|
2815
|
+
*/
|
|
2816
|
+
endDate?: string;
|
|
2817
|
+
}
|
|
2818
|
+
/** Contains monetary amount information of hotel penalty. */
|
|
2819
|
+
type BookingHotelPenaltyValue = BookingValue & {
|
|
2820
|
+
/**
|
|
2821
|
+
* The hotel refund penalty expressed as percentage. If present, ignore `amount` returned. Ej.:
|
|
2822
|
+
* `5.00`.
|
|
2823
|
+
*/
|
|
2824
|
+
percentage?: string;
|
|
2825
|
+
/**
|
|
2826
|
+
* Hotel cancellation penalty returned as the number of nights. If present, ignore `amount`
|
|
2827
|
+
* returned. Ej.: `2`.
|
|
2828
|
+
*/
|
|
2829
|
+
numberOfNights?: number;
|
|
2830
|
+
};
|
|
2831
|
+
/** Contains flight information used for cars bookings. */
|
|
2832
|
+
interface BookingAssociatedArrivalFlight {
|
|
2833
|
+
/**
|
|
2834
|
+
* The two-letter [IATA](https://www.iata.org/about/members/Pages/airline-list.aspx?All=true)
|
|
2835
|
+
* designator code of the marketing airline for the arrival flight. Ej.: `AA`.
|
|
2836
|
+
*/
|
|
2837
|
+
arrivalAirlineCode?: string;
|
|
2838
|
+
/** The flight number associated with the marketing carrier for the arrival flight. Ej.: `123`. */
|
|
2839
|
+
arrivalFlightNumber?: number;
|
|
2840
|
+
}
|
|
2841
|
+
/** Identifies descriptive status of the corresponding coupon status code. */
|
|
2842
|
+
type BookingCouponStatusEnum = 'Airport Control' | 'Lifted' | 'Checked In' | 'Exchanged' | 'Flown' | 'Not Flown' | 'Refunded' | 'Voided' | 'Printed' | 'Okay' | 'Reactivated' | 'Irregular Operations' | 'Print Exchange' | 'Paper Ticket' | 'Suspended' | 'Locked' | (string & {});
|
|
2843
|
+
/** Identifies the coupon status code based on the IATA PADIS Codeset 4405. */
|
|
2844
|
+
type BookingCouponStatusCodeEnum = 'AL' | 'BD' | 'CK' | 'E' | 'B' | 'I' | 'RF' | 'V' | 'PR' | 'IO' | 'P' | 'PE' | 'T' | 'S' | 'XX' | (string & {});
|
|
2845
|
+
/** Contains a set of basic details related to the form of payment. */
|
|
2846
|
+
interface BookingBasicFormOfPayment {
|
|
2847
|
+
/** The vendor code of a credit or debit card. Use with `PAYMENTCARD`. Ej.: `VI`. */
|
|
2848
|
+
cardTypeCode?: string;
|
|
2849
|
+
/** The number of a credit or debit card. Use with `PAYMENTCARD`. Ej.: `4537156488578956`. */
|
|
2850
|
+
cardNumber?: string;
|
|
2851
|
+
/** The security code of a credit or debit card. Use with `PAYMENTCARD`. Ej.: `123`. */
|
|
2852
|
+
cardSecurityCode?: string;
|
|
2853
|
+
/** The expiration date of a credit or debit card. Use with `PAYMENTCARD`. Ej.: `2024-07`. */
|
|
2854
|
+
expiryDate?: string;
|
|
2855
|
+
/**
|
|
2856
|
+
* The number of months by which your payment can be extended. Use with `PAYMENTCARD` or
|
|
2857
|
+
* `MISCELLANEOUS`. Ej.: `12`.
|
|
2858
|
+
*/
|
|
2859
|
+
extendedPayment?: number;
|
|
2860
|
+
/** The miscellaneous credit code. Use with `MISCELLANEOUS`. Ej.: `PL189947`. */
|
|
2861
|
+
miscellaneousCreditCode?: string;
|
|
2862
|
+
/** The number of installments. Use with `INSTALLMENTS`. Ej.: `4`. */
|
|
2863
|
+
numberOfInstallments?: number;
|
|
2864
|
+
/** The airline plan code. Use with `INSTALLMENTS`. Ej.: `RG065`. */
|
|
2865
|
+
airlinePlanCode?: string;
|
|
2866
|
+
/** The amount of the first installment. Use with `INSTALLMENTS`. Ej.: `100`. */
|
|
2867
|
+
installmentAmount?: string;
|
|
2868
|
+
}
|
|
2869
|
+
/** Contains payment card holder information. */
|
|
2870
|
+
interface BookingCardHolder {
|
|
2871
|
+
/** The card holder's first name. Ej.: `John`. */
|
|
2872
|
+
givenName: string;
|
|
2873
|
+
/** The card holder's last name. Ej.: `Smith`. */
|
|
2874
|
+
surname: string;
|
|
2875
|
+
/** The card holder's email address. Ej.: `john@smith.family.priv`. */
|
|
2876
|
+
email?: string;
|
|
2877
|
+
/** The formatted phone numbers of the card holder. Ej.: `+1-555-123-4567`. */
|
|
2878
|
+
phone?: string;
|
|
2879
|
+
/** The address of the traveler. */
|
|
2880
|
+
address?: BookingAddress;
|
|
2881
|
+
}
|
|
2882
|
+
/** Contains manual approval details of a form of payment. Use with `PAYMENTCARD`. */
|
|
2883
|
+
interface BookingManualApproval {
|
|
2884
|
+
/** The manual approval code of a credit or debit card. Use with `PAYMENTCARD`. Ej.: `12345`. */
|
|
2885
|
+
code: string;
|
|
2886
|
+
/**
|
|
2887
|
+
* The manual approval request date in [ISO
|
|
2888
|
+
* 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Time should be provided
|
|
2889
|
+
* in UTC time zone. Ej.: `2024-07-09T09:15:00Z`.
|
|
2890
|
+
*/
|
|
2891
|
+
requestDateTime: string;
|
|
2892
|
+
/**
|
|
2893
|
+
* The manual approval expiration date in [ISO
|
|
2894
|
+
* 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Time should be provided
|
|
2895
|
+
* in UTC time zone. Ej.: `2024-07-09T09:15:00Z`.
|
|
2896
|
+
*/
|
|
2897
|
+
expiryDateTime: string;
|
|
2898
|
+
/**
|
|
2899
|
+
* The two-letter [IATA](https://www.iata.org/about/members/Pages/airline-list.aspx?All=true)
|
|
2900
|
+
* designator code of the desired manual approval airline. Ej.: `AA`.
|
|
2901
|
+
*/
|
|
2902
|
+
airlineCode: string;
|
|
2903
|
+
/** The monetary cash amount of the manual approval. Ej.: `100.00`. */
|
|
2904
|
+
amount: string;
|
|
2905
|
+
/** The [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Ej.: `USD`. */
|
|
2906
|
+
currencyCode: string;
|
|
1139
2907
|
}
|
|
2908
|
+
/** Contains strong customer authentication details for the payment card. */
|
|
2909
|
+
interface BookingStrongCustomerAuthentication {
|
|
2910
|
+
/**
|
|
2911
|
+
* The 3DS authentication value (MasterCard - AAV; Amex - AEVV; Visa - CAVV). A 20-byte value
|
|
2912
|
+
* that has been Base64 encoded, giving a 28-byte result. Ej.: `ABC123455533533444455555678`.
|
|
2913
|
+
*/
|
|
2914
|
+
secureAuthenticationValue?: string;
|
|
2915
|
+
/**
|
|
2916
|
+
* The 3DS transaction ID returned by the 3DS Directory Server. A 20 byte unsigned binary value.
|
|
2917
|
+
* Ej.: `ABCDEFGHI123456789012!.1234567890123`.
|
|
2918
|
+
*/
|
|
2919
|
+
secureTransactionId?: string;
|
|
2920
|
+
/**
|
|
2921
|
+
* Indicates that authentication was attempted for a transaction, but there was an authentication
|
|
2922
|
+
* outage in the authentication flow between the merchant, gateway 3-D Secure (3DS) server, and
|
|
2923
|
+
* the Directory Server. This means an authentication request was not possible and an
|
|
2924
|
+
* authentication response could not be received. This is not a formal exemption, but information
|
|
2925
|
+
* for issuers to consider. Ej.: `AO`.
|
|
2926
|
+
*/
|
|
2927
|
+
issueCode?: string;
|
|
2928
|
+
/** Indicates whether authentication was successful. Ej.: `OK`. */
|
|
2929
|
+
resultCode?: string;
|
|
2930
|
+
/**
|
|
2931
|
+
* Determines how the card number was collected for the transaction. Can be `K` - keyed in for
|
|
2932
|
+
* this transaction, or `S` - card on file (previously stored credentials). Ej.: `K`.
|
|
2933
|
+
*/
|
|
2934
|
+
cardNumberCollectionCode?: string;
|
|
2935
|
+
/**
|
|
2936
|
+
* Indicates which channel the transaction was initiated in. Can be `MO` - Mail Order, `TO` -
|
|
2937
|
+
* Telephone Order, `EC` - ECOM, `FA` - Face to Face. Ej.: `MO`.
|
|
2938
|
+
*/
|
|
2939
|
+
channelCode?: string;
|
|
2940
|
+
/**
|
|
2941
|
+
* The Electronic Commerce Indicator (ECI) is two alphanumeric code that is returned by the
|
|
2942
|
+
* issuing banks and credit card specific networks. Ej.: `12`.
|
|
2943
|
+
*/
|
|
2944
|
+
electronicCommerceIndicator?: string;
|
|
2945
|
+
/**
|
|
2946
|
+
* Determines which exemption was used by the Payment Service Provider (PSP). Can be `SC` -
|
|
2947
|
+
* Secure Corporate Exemption, `DA` - Delegated Authentication, `TR` - Transaction Risk Analysis
|
|
2948
|
+
* Exemption, `TB` - Trusted Beneficiary Exemption, `LV` - Low Value Exemption. Ej.: `SC`.
|
|
2949
|
+
*/
|
|
2950
|
+
exemptionTypeCode?: string;
|
|
2951
|
+
/**
|
|
2952
|
+
* Identifies the SCA update date and time in [ISO
|
|
2953
|
+
* 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Ej.:
|
|
2954
|
+
* `2024-07-07T16:00:00Z`.
|
|
2955
|
+
*/
|
|
2956
|
+
updatedDateTime?: string;
|
|
2957
|
+
/**
|
|
2958
|
+
* Describes the agreed mandate between the cardholder and the agent/third party. Can be one of
|
|
2959
|
+
* the following values: `NA` - No agreement for future transactions, `NS` - Agreement for future
|
|
2960
|
+
* no show or cancellation fee, `AC` - Agreement for any payments due after check in to cover
|
|
2961
|
+
* charges during stay, `CO` - Any charges post checkout, `BP` - Agreement for pre-payment,
|
|
2962
|
+
* deposit or balance payment, `FR` - Agreement for recurring payment (fixed date and fixed
|
|
2963
|
+
* amount), `VR` - Agreement for recurring payment (fixed date and variable amount), `UR` -
|
|
2964
|
+
* Agreement for recurring payment (non fixed date and variable amount). It is possible to enter
|
|
2965
|
+
* more than one value using a comma as a separator e.g. NA, NS. Ej.: `NA`.
|
|
2966
|
+
*/
|
|
2967
|
+
mandateTypeCode?: string;
|
|
2968
|
+
/** The name of the merchant containing up to 40 alphanumeric characters. Ej.: `TEST CREDIT CARD`. */
|
|
2969
|
+
merchantName?: string;
|
|
2970
|
+
/**
|
|
2971
|
+
* The identifier of the authorization (Authorization Trace ID/Authorization Trans ID) request
|
|
2972
|
+
* when performed by the booking agent. This value can be up to 16 alphanumeric and special
|
|
2973
|
+
* characters, and is returned from the initial authorization response. Ej.: `1234547839012345`.
|
|
2974
|
+
*/
|
|
2975
|
+
originalPaymentReference?: string;
|
|
2976
|
+
/** Indicates purchase amount. Ej.: `1234.56`. */
|
|
2977
|
+
amount?: string;
|
|
2978
|
+
/** The three-letter ISO 4217 currency code. Ej.: `USD`. */
|
|
2979
|
+
currencyCode?: string;
|
|
2980
|
+
/**
|
|
2981
|
+
* The authentication value for tokens (e.g. TAVV). A 20-byte value that has been Base64 encoded,
|
|
2982
|
+
* giving a 28-byte result. Ej.: `ABC3434334343556677487312567`.
|
|
2983
|
+
*/
|
|
2984
|
+
tokenAuthenticationValue?: string;
|
|
2985
|
+
/** Indicates whether the cardholder is enrolled in 3DS. Ej.: `PASS`. */
|
|
2986
|
+
verificationResultCode?: string;
|
|
2987
|
+
/**
|
|
2988
|
+
* The 3DS Program Protocol version. A 3 alphanumeric character value, without dots between. Ej.:
|
|
2989
|
+
* `120`.
|
|
2990
|
+
*/
|
|
2991
|
+
version?: string;
|
|
2992
|
+
}
|
|
2993
|
+
/** Contains virtual card information. */
|
|
2994
|
+
interface BookingVirtualCard {
|
|
2995
|
+
/** The customer account code of a virtual card. Use with `VIRTUAL_CARD`. Ej.: `John`. */
|
|
2996
|
+
customerAccountCode?: string;
|
|
2997
|
+
/** The agency email address. Ej.: `john@smith.family.priv`. */
|
|
2998
|
+
agencyEmail?: string;
|
|
2999
|
+
/** The hotel's fax number. Ej.: `+1-555-123-4567`. */
|
|
3000
|
+
hotelFax?: string;
|
|
3001
|
+
/**
|
|
3002
|
+
* The full name of the hotel. Pass the value obtained from
|
|
3003
|
+
* HotelPriceCheckRS/PriceCheckInfo/HotelInfo/@HotelName. Ej.: `Ilia Hotel and Luxury Suites`.
|
|
3004
|
+
*/
|
|
3005
|
+
hotelName?: string;
|
|
3006
|
+
/**
|
|
3007
|
+
* The type of the room provided by the hotel supplier. Pass the value obtained from
|
|
3008
|
+
* HotelPriceCheckRS/PriceCheckInfo/HotelRateInfo/Rooms/Room/RoomDescription/@Name. Ej.: `2
|
|
3009
|
+
* double beds`.
|
|
3010
|
+
*/
|
|
3011
|
+
roomType?: string;
|
|
3012
|
+
/**
|
|
3013
|
+
* The detailed description of the room provided by the hotel supplier. Pass the value obtained
|
|
3014
|
+
* from HotelPriceCheckRS/PriceCheckInfo/HotelRateInfo/Rooms/Room/RoomDescription/Text. Ej.:
|
|
3015
|
+
* `Deluxe Room, 2 Double Beds`.
|
|
3016
|
+
*/
|
|
3017
|
+
roomDescription?: string;
|
|
3018
|
+
/**
|
|
3019
|
+
* Total amount for the hotel booking. Pass the value obtained from
|
|
3020
|
+
* HotelPriceCheckRS/PriceCheckInfo/HotelRateInfo/RateInfos/RateInfo/@AmountAfterTax and
|
|
3021
|
+
* @CurrencyCode.
|
|
3022
|
+
*/
|
|
3023
|
+
rateAmount?: BookingValue;
|
|
3024
|
+
/**
|
|
3025
|
+
* Lists all extra charges that can be covered by the virtual card. If the card is used to cover
|
|
3026
|
+
* room only please pass "Room Only" value.
|
|
3027
|
+
*/
|
|
3028
|
+
virtualCardCharges?: string[];
|
|
3029
|
+
}
|
|
3030
|
+
/** Contains voucher information. */
|
|
3031
|
+
interface BookingVoucher {
|
|
3032
|
+
/** The billing number associated with the voucher. Ej.: `1234567`. */
|
|
3033
|
+
billingNumber?: string;
|
|
3034
|
+
/** Abbreviated code that indicates the type of voucher. Ej.: `FC`. */
|
|
3035
|
+
type?: string;
|
|
3036
|
+
}
|
|
3037
|
+
/** Identifies the use type associated with the selected form of payment. */
|
|
3038
|
+
type BookingFormOfPaymentUseTypeEnum = 'All' | 'Ancillary' | 'Airline' | 'Bus/Ground Transportation' | 'Car' | 'Cruise' | 'Hotel' | 'Insurance' | 'Low-Cost Carrier' | 'Other' | 'Rail' | 'Specialty Service' | 'Tour' | 'Interface Record' | 'Unknown' | (string & {});
|
|
3039
|
+
/** Identifies the trip type associated with the selected form of payment. */
|
|
3040
|
+
type BookingFormOfPaymentTripTypeEnum = 'All' | 'Corporate/Business' | 'Leisure' | 'Emergency' | 'Family' | 'Group' | 'Unknown' | (string & {});
|
|
3041
|
+
/** Identifies the type of the room extra. */
|
|
3042
|
+
type BookingRoomExtrasNameEnum = 'Unknown' | 'Crib' | 'Roll-away Bed' | 'Extra Person' | (string & {});
|
|
1140
3043
|
|
|
1141
3044
|
type CreateBookingErrorPolicy = 'HALT_ON_ERROR' | 'DO_NOT_HALT_ON_FLIGHT_PRICING_ERROR' | 'DO_NOT_HALT_ON_HOTEL_BOOKING_ERROR' | 'DO_NOT_HALT_ON_ANCILLARY_BOOKING_ERROR' | 'DO_NOT_HALT_ON_SEAT_BOOKING_ERROR' | 'HALT_ON_INVALID_MINIMUM_CONNECTING_TIME_ERROR' | 'DO_NOT_HALT_ON_CAR_BOOKING_ERROR' | 'DO_NOT_HALT_ON_IDENTITY_DOCUMENT_WARNING';
|
|
1142
3045
|
/** Body de `POST /v1/trip/orders/createBooking`. Ningún campo es obligatorio en el primer nivel. */
|
|
@@ -1327,21 +3230,12 @@ interface CreateBookingOptions {
|
|
|
1327
3230
|
signal?: AbortSignal;
|
|
1328
3231
|
/** Respuesta cruda del último intento HTTP. El body trae PII: ver `SabreRawResponse`. */
|
|
1329
3232
|
onRawResponse?: SabreRawResponseCallback;
|
|
3233
|
+
/** Request crudo del último intento que se mandó, sin `Authorization`. Trae PII: ver `SabreRawRequest`. */
|
|
3234
|
+
onRawRequest?: SabreRawRequestCallback;
|
|
1330
3235
|
}
|
|
1331
3236
|
/** Elemento de `errors[]` de Create Booking. */
|
|
1332
3237
|
type CreateBookingResponseError = BookingResponseError;
|
|
1333
|
-
|
|
1334
|
-
* `Booking` del spec (mismo modelo que Get Booking). Se tipa el primer nivel; el detalle de
|
|
1335
|
-
* `flights`, `travelers`, `fares`, etc. queda sin tipar en el Tier 1.
|
|
1336
|
-
*/
|
|
1337
|
-
interface Booking {
|
|
1338
|
-
bookingId?: string;
|
|
1339
|
-
startDate?: string;
|
|
1340
|
-
endDate?: string;
|
|
1341
|
-
isCancelable?: boolean;
|
|
1342
|
-
isTicketed?: boolean;
|
|
1343
|
-
[field: string]: unknown;
|
|
1344
|
-
}
|
|
3238
|
+
|
|
1345
3239
|
/**
|
|
1346
3240
|
* Reserva creada. Si Sabre la creó con avisos o con errores no fatales (p. ej. con
|
|
1347
3241
|
* `errorHandlingPolicy: DO_NOT_HALT_ON_*`), no se lanza: van adjuntos aquí.
|
|
@@ -1396,6 +3290,8 @@ interface GetBookingOptions {
|
|
|
1396
3290
|
signal?: AbortSignal;
|
|
1397
3291
|
/** Respuesta cruda del último intento HTTP. El body trae PII: ver `SabreRawResponse`. */
|
|
1398
3292
|
onRawResponse?: SabreRawResponseCallback;
|
|
3293
|
+
/** Request crudo del último intento que se mandó, sin `Authorization`. Trae PII: ver `SabreRawRequest`. */
|
|
3294
|
+
onRawRequest?: SabreRawRequestCallback;
|
|
1399
3295
|
}
|
|
1400
3296
|
/**
|
|
1401
3297
|
* Reserva leída, con el `Booking` en el primer nivel tal cual lo define Sabre (no se normaliza
|
|
@@ -1482,6 +3378,8 @@ interface CancelBookingOptions {
|
|
|
1482
3378
|
signal?: AbortSignal;
|
|
1483
3379
|
/** Respuesta cruda del último intento HTTP. El body trae PII: ver `SabreRawResponse`. */
|
|
1484
3380
|
onRawResponse?: SabreRawResponseCallback;
|
|
3381
|
+
/** Request crudo del último intento que se mandó, sin `Authorization`. Trae PII: ver `SabreRawRequest`. */
|
|
3382
|
+
onRawRequest?: SabreRawRequestCallback;
|
|
1485
3383
|
}
|
|
1486
3384
|
/** Cancelación con éxito: sin errores fatales y sin `NO_ITEMS_CANCELLED`. */
|
|
1487
3385
|
interface CancelBookingResponse {
|
|
@@ -1588,9 +3486,14 @@ interface SoapRequest {
|
|
|
1588
3486
|
/** `true` para devolver el `BinarySecurityToken` de la respuesta (solo `SessionCreateRQ`). */
|
|
1589
3487
|
readSecurityToken?: boolean;
|
|
1590
3488
|
signal?: AbortSignal;
|
|
1591
|
-
/** Método público sin `legacy.`, p. ej. `'queue.access'`. Lo
|
|
3489
|
+
/** Método público sin `legacy.`, p. ej. `'queue.access'`. Lo reciben `onRawResponse` y `onRawRequest`. */
|
|
1592
3490
|
operation?: string;
|
|
1593
3491
|
onRawResponse?: SabreRawResponseCallback;
|
|
3492
|
+
/**
|
|
3493
|
+
* No se llama con `usernameToken` (`SessionCreateRQ`): el sobre lleva `wsse:Password` y el
|
|
3494
|
+
* `ClientSecret`, y la regla de auth lo deja fuera (ADR-029).
|
|
3495
|
+
*/
|
|
3496
|
+
onRawRequest?: SabreRawRequestCallback;
|
|
1594
3497
|
}
|
|
1595
3498
|
interface SoapResponse {
|
|
1596
3499
|
/** Elemento hijo del `Body` (p. ej. `QueueAccessRS`), parseado y sin prefijos de namespace. */
|
|
@@ -1601,6 +3504,8 @@ interface SoapResponse {
|
|
|
1601
3504
|
warnings: SabreWarning[];
|
|
1602
3505
|
/** `eb:MessageId` de la respuesta, el dato que pide soporte de Sabre. */
|
|
1603
3506
|
messageId: string | undefined;
|
|
3507
|
+
/** `eb:Timestamp` de la respuesta, en UTC con `Z` (ver `respondedAtOf`). */
|
|
3508
|
+
respondedAt: string | undefined;
|
|
1604
3509
|
/** El sobre redactado, como `raw` de los errores que arme la operación al leer el payload. */
|
|
1605
3510
|
raw: string;
|
|
1606
3511
|
/** El `BinarySecurityToken` del header, solo con `readSecurityToken`. */
|
|
@@ -1660,9 +3565,9 @@ interface QueueItem {
|
|
|
1660
3565
|
locator: string;
|
|
1661
3566
|
/**
|
|
1662
3567
|
* `Line/DateTime`, tal cual llegó: con año en las respuestas reales (`"2024-05-15T13:24"`), sin
|
|
1663
|
-
* año en el design (`"12-21T07:00"`).
|
|
1664
|
-
*
|
|
1665
|
-
*
|
|
3568
|
+
* año en el design (`"12-21T07:00"`). Al entrar a una cola (`access`, `ignore`, `remove`, `place`)
|
|
3569
|
+
* es la **última modificación del PNR**, no la colocación en la cola: para un mismo PNR no
|
|
3570
|
+
* coincide con el de `list`, que sí es la colocación (producción, #96 y #155). Se devuelve tal cual.
|
|
1666
3571
|
*/
|
|
1667
3572
|
placedAt?: string;
|
|
1668
3573
|
/** `Line/POS/Source`: quién colocó el PNR. `agentSine` puede ser `SABRE`. */
|
|
@@ -1681,19 +3586,38 @@ interface QueueItem {
|
|
|
1681
3586
|
paragraph: readonly string[];
|
|
1682
3587
|
}
|
|
1683
3588
|
/**
|
|
1684
|
-
*
|
|
1685
|
-
*
|
|
1686
|
-
|
|
3589
|
+
* Un mensaje de la cola `S`, la de mensajes del PCC (ADR-028). No es un PNR: no trae localizador
|
|
3590
|
+
* ni datos de colocación, solo texto libre.
|
|
3591
|
+
*/
|
|
3592
|
+
interface QueueMessage {
|
|
3593
|
+
/** `Paragraph/Text`, línea por línea y tal cual, con su sangría. */
|
|
3594
|
+
text: string[];
|
|
3595
|
+
}
|
|
3596
|
+
/**
|
|
3597
|
+
* Resultado de una operación que avanza en la cola. Lo que queda en pantalla se distingue por
|
|
3598
|
+
* `kind`: un PNR (`'pnr'`, en las colas numéricas y con nombre) o un mensaje (`'message'`, en la
|
|
3599
|
+
* cola `S`). El fin de cola es un resultado, no un error: `END OF DISPLAY FOR REQUESTED DATA`
|
|
3600
|
+
* llega como `{ done: true }`, también al entrar a una cola vacía, y deja la sesión fuera de la
|
|
3601
|
+
* cola.
|
|
1687
3602
|
*/
|
|
1688
3603
|
type QueueStep = {
|
|
1689
3604
|
done: false;
|
|
3605
|
+
kind: 'pnr';
|
|
1690
3606
|
item: QueueItem;
|
|
1691
3607
|
warnings: SabreWarning[];
|
|
3608
|
+
respondedAt?: string;
|
|
3609
|
+
} | {
|
|
3610
|
+
done: false;
|
|
3611
|
+
kind: 'message';
|
|
3612
|
+
message: QueueMessage;
|
|
3613
|
+
warnings: SabreWarning[];
|
|
3614
|
+
respondedAt?: string;
|
|
1692
3615
|
} | {
|
|
1693
3616
|
done: true;
|
|
1694
3617
|
reason: QueueEndReason;
|
|
1695
3618
|
message: string;
|
|
1696
3619
|
warnings: SabreWarning[];
|
|
3620
|
+
respondedAt?: string;
|
|
1697
3621
|
};
|
|
1698
3622
|
|
|
1699
3623
|
interface QueueCountRequest {
|
|
@@ -1725,6 +3649,11 @@ interface QueueCountResponse {
|
|
|
1725
3649
|
countedAt?: string;
|
|
1726
3650
|
/** Los `stl:Warning` de la respuesta. No lanzan. */
|
|
1727
3651
|
warnings: SabreWarning[];
|
|
3652
|
+
/**
|
|
3653
|
+
* `eb:Timestamp` de la respuesta de Sabre, en ISO 8601 UTC (`"2026-11-06T17:34:16Z"`). A
|
|
3654
|
+
* diferencia de las fechas del host, trae año y zona. Falta si Sabre no lo manda.
|
|
3655
|
+
*/
|
|
3656
|
+
respondedAt?: string;
|
|
1728
3657
|
}
|
|
1729
3658
|
|
|
1730
3659
|
interface QueueListRequest {
|
|
@@ -1733,9 +3662,20 @@ interface QueueListRequest {
|
|
|
1733
3662
|
pcc?: string;
|
|
1734
3663
|
/** `true` para pedir también el pasajero principal de cada PNR (`Q/…/LN`). */
|
|
1735
3664
|
primaryPassenger?: boolean;
|
|
3665
|
+
/**
|
|
3666
|
+
* Hasta 8 filtros, como en `access`, pero Sabre solo acepta `QD` (fecha de colocación en la cola,
|
|
3667
|
+
* p. ej. `{ function: 'QD', criteria: '05NOV' }`) o `AK` (el agente que lo colocó, PCC más firma,
|
|
3668
|
+
* p. ej. `{ function: 'AK', criteria: 'PCC1AAT' }`) en la lista: con otro código responde
|
|
3669
|
+
* `VALID SELECTION CODE FOR QUEUE LIST ARE QD OR AK` (producción, #155). El SDK lo rechaza sin red.
|
|
3670
|
+
*/
|
|
3671
|
+
selection?: readonly QueueSelection[];
|
|
1736
3672
|
}
|
|
1737
3673
|
type QueueListOptions = RequestOptions;
|
|
1738
|
-
/**
|
|
3674
|
+
/**
|
|
3675
|
+
* Un PNR de la lista: los campos de su `Line`. Su `placedAt` es la **colocación en la cola**, la
|
|
3676
|
+
* fecha por la que filtra `QD`. No es la misma fecha que el `placedAt` de `access`, que es la última
|
|
3677
|
+
* modificación del PNR (producción, #155).
|
|
3678
|
+
*/
|
|
1739
3679
|
interface QueueListEntry extends Omit<QueueItem, 'paragraph'> {
|
|
1740
3680
|
/** `Line@Number`: la posición en la lista. */
|
|
1741
3681
|
position?: number;
|
|
@@ -1748,6 +3688,11 @@ interface QueueListResponse {
|
|
|
1748
3688
|
/** `Paragraph/Text` tal cual: empieza con la cabecera `QUEUE LIST FOR <PCC> QUEUE <n>`. */
|
|
1749
3689
|
paragraph: string[];
|
|
1750
3690
|
warnings: SabreWarning[];
|
|
3691
|
+
/**
|
|
3692
|
+
* `eb:Timestamp` de la respuesta de Sabre, en ISO 8601 UTC (`"2026-11-06T17:34:16Z"`). A
|
|
3693
|
+
* diferencia de las fechas del host, trae año y zona. Falta si Sabre no lo manda.
|
|
3694
|
+
*/
|
|
3695
|
+
respondedAt?: string;
|
|
1751
3696
|
}
|
|
1752
3697
|
|
|
1753
3698
|
/** Una cola de destino. */
|
|
@@ -1787,6 +3732,11 @@ interface QueuePlaceResult {
|
|
|
1787
3732
|
/** Las líneas `Text`, tal cual (p. ej. `"OK 1030 NMIUTF"`). */
|
|
1788
3733
|
text: string[];
|
|
1789
3734
|
warnings: SabreWarning[];
|
|
3735
|
+
/**
|
|
3736
|
+
* `eb:Timestamp` de la respuesta de Sabre, en ISO 8601 UTC (`"2026-11-06T17:34:16Z"`). A
|
|
3737
|
+
* diferencia de las fechas del host, trae año y zona. Falta si Sabre no lo manda.
|
|
3738
|
+
*/
|
|
3739
|
+
respondedAt?: string;
|
|
1790
3740
|
}
|
|
1791
3741
|
/**
|
|
1792
3742
|
* Lo que devuelve `place`: un `QueueStep` dentro de una cola, y un `QueuePlaceResult` fuera. Se
|
|
@@ -1846,17 +3796,35 @@ declare class QueueManagement {
|
|
|
1846
3796
|
* `TypeError` sin red.
|
|
1847
3797
|
*/
|
|
1848
3798
|
count(request?: QueueCountRequest, options?: QueueCountOptions): Promise<QueueCountResponse>;
|
|
3799
|
+
/**
|
|
3800
|
+
* Get Queue Activity (`QueueAnalysisLLSRQ` 2.0.0, el `QA` del host): por cada cola del PCC, los
|
|
3801
|
+
* ocho contadores de actividad (`numMessages`, `ended`, `ignored`, `moved`, `removed`,
|
|
3802
|
+
* `transferred`, `leftMessageToContact` y `unableToReach`), más los totales. Cada `queue` se puede
|
|
3803
|
+
* pasar tal cual a las demás operaciones de cola. Ninguna fuente dice desde cuándo cuentan
|
|
3804
|
+
* (Q-097): el SDK los devuelve sin interpretar.
|
|
3805
|
+
*
|
|
3806
|
+
* Se puede llamar dentro o fuera de una cola, y no cambia `state`. Es una lectura: se reintenta
|
|
3807
|
+
* ante fallos transitorios. No pide duty code 9 (CERT y producción, Q-098). Un PCC que no tiene 3
|
|
3808
|
+
* o 4 caracteres alfanuméricos lanza `TypeError` sin red.
|
|
3809
|
+
*/
|
|
3810
|
+
activity(request?: QueueActivityRequest, options?: QueueActivityOptions): Promise<QueueActivityResponse>;
|
|
1849
3811
|
/**
|
|
1850
3812
|
* La lista de localizadores de una cola (`QueueAccessLLSRQ` con `List`), sin recorrerla. Con
|
|
1851
3813
|
* `primaryPassenger: true`, cada entrada trae también el pasajero principal. Una cola vacía da
|
|
1852
3814
|
* una lista vacía.
|
|
1853
3815
|
*
|
|
3816
|
+
* No pagina: Sabre devuelve la cola entera en una respuesta, también con más de 1000 PNR. Con
|
|
3817
|
+
* `selection`, solo los PNR que cumplen el filtro; Sabre acepta solo `QD` o `AK` en la lista.
|
|
3818
|
+
*
|
|
1854
3819
|
* No cambia `state`. Es una lectura: se reintenta ante fallos transitorios. Lanza `TypeError`
|
|
1855
|
-
* sin red si `queue` o `pcc` no son válidos,
|
|
3820
|
+
* sin red si `queue` o `pcc` no son válidos, si `primaryPassenger` no es un boolean, o si
|
|
3821
|
+
* `selection` no es válida o trae un código que no es `QD` ni `AK`.
|
|
1856
3822
|
*/
|
|
1857
3823
|
list(request: QueueListRequest, options?: QueueListOptions): Promise<QueueListResponse>;
|
|
1858
3824
|
/**
|
|
1859
|
-
* Access Queue (`QueueAccessLLSRQ` 2.1.1): entra a una cola y devuelve su primer PNR
|
|
3825
|
+
* Access Queue (`QueueAccessLLSRQ` 2.1.1): entra a una cola y devuelve su primer PNR
|
|
3826
|
+
* (`kind: 'pnr'`). En la cola `S`, la de mensajes, devuelve el primer mensaje
|
|
3827
|
+
* (`kind: 'message'`), y `ignore` pasa al siguiente sin borrarlo (CERT, 2026-11-06). Una cola
|
|
1860
3828
|
* vacía, o sin PNR que cumplan `selection`, devuelve `{ done: true }` y la sesión sigue afuera.
|
|
1861
3829
|
*
|
|
1862
3830
|
* Lanza `TypeError` sin red si la sesión ya está dentro de una cola (o en `'unknown'`: hay que
|
|
@@ -1872,7 +3840,8 @@ declare class QueueManagement {
|
|
|
1872
3840
|
ignore(options?: QueueNavigationOptions): Promise<QueueStep>;
|
|
1873
3841
|
/**
|
|
1874
3842
|
* Saca el PNR actual de la cola y pasa al siguiente (`QR`). Con `from` (de 1 a 3 colas), lo saca
|
|
1875
|
-
* de esas colas a la vez. Fuera de una cola lanza `TypeError` sin red.
|
|
3843
|
+
* de esas colas a la vez. Fuera de una cola lanza `TypeError` sin red. En la cola `S` manda `QR`
|
|
3844
|
+
* igual, pero no hay evidencia de qué hace Sabre con el mensaje.
|
|
1876
3845
|
*/
|
|
1877
3846
|
remove(request?: QueueRemoveRequest, options?: QueueNavigationOptions): Promise<QueueStep>;
|
|
1878
3847
|
/**
|
|
@@ -1920,6 +3889,37 @@ declare class QueueManagement {
|
|
|
1920
3889
|
place(request: QueuePlaceRequest, options?: QueuePlaceOptions): Promise<QueuePlaceResponse>;
|
|
1921
3890
|
}
|
|
1922
3891
|
|
|
3892
|
+
/** @internal Lo que `SessionReservation` necesita de la sesión. */
|
|
3893
|
+
interface ReservationContext {
|
|
3894
|
+
send(request: SessionRequest): Promise<SoapResponse>;
|
|
3895
|
+
}
|
|
3896
|
+
declare class SessionReservation {
|
|
3897
|
+
#private;
|
|
3898
|
+
/** @internal Lo construye `SabreSession`. */
|
|
3899
|
+
constructor(context: ReservationContext);
|
|
3900
|
+
/**
|
|
3901
|
+
* Get Itinerary History (`TravelItineraryHistoryLLSRQ` 2.4.0, el `*H` del host): el historial
|
|
3902
|
+
* del PNR, una entrada por transacción. Cada una trae quién la firmó, cuándo y desde qué PCC, y
|
|
3903
|
+
* los elementos que cambió con su `action`: los segmentos de vuelo con su estado en ese momento,
|
|
3904
|
+
* y SSR, ticketing, teléfonos, nombres y emails como texto en `generalInfo`. Lo que no se tipa
|
|
3905
|
+
* queda en la respuesta cruda (`onRawResponse`). **Trae datos del pasajero.**
|
|
3906
|
+
*
|
|
3907
|
+
* El historial no registra las colocaciones en cola, ni las del sistema ni un `place` manual
|
|
3908
|
+
* (CERT, 2026-11-06, Q-097): para eso están `queue.list`/`access` o los remarks `QUEUE_PLACE` de
|
|
3909
|
+
* Get Booking.
|
|
3910
|
+
*
|
|
3911
|
+
* **Dentro de una cola, Sabre lo rechaza** para otro PNR (CERT, 2026-11-06, Q-102): lanza
|
|
3912
|
+
* `SabreBusinessError` con `NAK6 -NOT ALLOWED- FINISH OR IGNORE OTHER ACTIVITY`. El PNR del AAA
|
|
3913
|
+
* no cambia, `queue.state` sigue en `'inside'` y el recorrido sigue con `ignore`. Conviene
|
|
3914
|
+
* llamarlo fuera de una cola.
|
|
3915
|
+
*
|
|
3916
|
+
* Es una lectura: se reintenta ante fallos transitorios. Un `locator` que no es de 6 caracteres
|
|
3917
|
+
* alfanuméricos en mayúscula lanza `TypeError` sin red. Un PNR que no existe sale como
|
|
3918
|
+
* `SabreBusinessError` (`service: 'itineraryHistory'`).
|
|
3919
|
+
*/
|
|
3920
|
+
history(locator: string, options?: ReservationHistoryOptions): Promise<ReservationHistoryResponse>;
|
|
3921
|
+
}
|
|
3922
|
+
|
|
1923
3923
|
interface SabreCommandOptions extends RequestOptions {
|
|
1924
3924
|
/**
|
|
1925
3925
|
* `true` solo si el comando es una lectura (`W/PT¥*`, `DC¥…`): entra en la política de
|
|
@@ -1939,6 +3939,11 @@ interface SabreCommandResponse {
|
|
|
1939
3939
|
warnings: SabreWarning[];
|
|
1940
3940
|
/** `eb:MessageId` de la respuesta, el dato que pide soporte de Sabre. */
|
|
1941
3941
|
messageId: string | undefined;
|
|
3942
|
+
/**
|
|
3943
|
+
* `eb:Timestamp` de la respuesta de Sabre, en ISO 8601 UTC (`"2026-11-06T17:34:16Z"`). A
|
|
3944
|
+
* diferencia de las fechas del host, trae año y zona. Falta si Sabre no lo manda.
|
|
3945
|
+
*/
|
|
3946
|
+
respondedAt?: string;
|
|
1942
3947
|
}
|
|
1943
3948
|
|
|
1944
3949
|
/** Lo que una operación pide al transporte. La sesión agrega `CPAId`, `ConversationId` y el token. */
|
|
@@ -1967,6 +3972,8 @@ declare class SabreSession {
|
|
|
1967
3972
|
#private;
|
|
1968
3973
|
/** Queue Management: contar, recorrer y colocar en colas, dentro de esta sesión. */
|
|
1969
3974
|
readonly queue: QueueManagement;
|
|
3975
|
+
/** La reserva: el historial de un PNR, dentro de esta sesión. */
|
|
3976
|
+
readonly reservation: SessionReservation;
|
|
1970
3977
|
/** @internal Se crea con `SabreLegacy.openSession()`. */
|
|
1971
3978
|
constructor(internal: {
|
|
1972
3979
|
transport: SoapTransport;
|
|
@@ -2238,6 +4245,32 @@ interface QueueParagraph {
|
|
|
2238
4245
|
*/
|
|
2239
4246
|
declare function parseQueueParagraph(lines: readonly string[], options: QueueParagraphOptions): QueueParagraph;
|
|
2240
4247
|
|
|
4248
|
+
/** Un remark `QUEUE_PLACE` ya separado en sus partes. */
|
|
4249
|
+
interface QueuePlaceRemark {
|
|
4250
|
+
/** El PCC de la cola, de 3 o 4 caracteres alfanuméricos (`'MEX'`, `'AB12'`). */
|
|
4251
|
+
pcc: string;
|
|
4252
|
+
/**
|
|
4253
|
+
* La fecha de la colocación, `DDMMM` sin año, tal cual llegó (`'25SEP'`). El año se resuelve con
|
|
4254
|
+
* `resolveHostDate(date, referenceDate)`.
|
|
4255
|
+
*/
|
|
4256
|
+
date: string;
|
|
4257
|
+
/** El número de cola, de 0 a 511. */
|
|
4258
|
+
queue: number;
|
|
4259
|
+
/** El PIC (prefatory instruction code), de 0 a 191 o de 200 a 254. Llega con ceros a la izquierda. */
|
|
4260
|
+
pic: number;
|
|
4261
|
+
}
|
|
4262
|
+
/**
|
|
4263
|
+
* Parsea el `text` de un remark `QUEUE_PLACE` de Get Booking (`remarks[].type === 'QUEUE_PLACE'`).
|
|
4264
|
+
* La forma salió de remarks reales de producción (Q-090): `MEX25SEP146/015` da
|
|
4265
|
+
* `{ pcc: 'MEX', date: '25SEP', queue: 146, pic: 15 }`.
|
|
4266
|
+
*
|
|
4267
|
+
* Devuelve `null` si el texto no tiene esa forma, o si el día no está entre 01 y 31, el mes entre
|
|
4268
|
+
* `JAN` y `DEC`, la cola entre 0 y 511, o el PIC en 0–191 o 200–254. No lanza: con un valor que no
|
|
4269
|
+
* es un string también devuelve `null`. Ignora los espacios a los costados. Sabre manda el texto en
|
|
4270
|
+
* mayúsculas, así que uno en minúsculas da `null`.
|
|
4271
|
+
*/
|
|
4272
|
+
declare function parseQueuePlaceRemark(text: string): QueuePlaceRemark | null;
|
|
4273
|
+
|
|
2241
4274
|
interface SeatAvailabilityRequestSource {
|
|
2242
4275
|
/** Grupo del itinerario: aporta la fecha de cada tramo. */
|
|
2243
4276
|
group: ItineraryGroup;
|
|
@@ -2323,6 +4356,6 @@ interface BookingFlightDetailsSource {
|
|
|
2323
4356
|
*/
|
|
2324
4357
|
declare function buildBookingFlightDetails(source: BookingFlightDetailsSource): FlightDetails;
|
|
2325
4358
|
|
|
2326
|
-
declare const VERSION = "0.
|
|
4359
|
+
declare const VERSION = "0.5.0";
|
|
2327
4360
|
|
|
2328
|
-
export { Air, type
|
|
4361
|
+
export { Air, BargainFinderMaxRequest, BargainFinderMaxResponse, type BookContactInformation, type BookGenericSeat, type BookSeat, type BookTraveler, type Booking, type BookingAccountingFormOfPaymentTypeEnum, type BookingAccountingItem, type BookingAccountingItemCreationTypeEnum, type BookingAddress, type BookingAgency, type BookingAgencyCommission, type BookingAncillary, type BookingAncillarySourceEnum, type BookingAncillaryStatusNameEnum, type BookingAssociatedArrivalFlight, type BookingAssociatedFlightDetails, type BookingBaggageAllowance, type BookingBaggagePolicy, type BookingBasicFormOfPayment, type BookingBrandAttribute, type BookingCar, type BookingCarItem, type BookingCarReference, type BookingCarRentalSite, type BookingCardHolder, type BookingCommission, type BookingCommonOtherServiceInformation, type BookingContactInformation, type BookingCouponStatus, type BookingCouponStatusCodeEnum, type BookingCouponStatusEnum, type BookingCreationDetails, type BookingCruise, type BookingCruiseItem, type BookingCruiseReference, type BookingDateRangeRefundPenalty, type BookingDocumentSubTypeEnum, type BookingDocumentTypeEnum, type BookingEmployerIdTypeEnum, type BookingFare, type BookingFareApplicationTypeEnum, type BookingFareComponent, type BookingFareCreationDetails, type BookingFareDifferenceBreakdown, type BookingFareOffer, type BookingFareRule, type BookingFareRulePenalty, type BookingFareRulePenaltyApplicabilityEnum, type BookingFareService, type BookingFlight, type BookingFlightApplicabilityTypeEnum, type BookingFlightDetailsSource, type BookingFlightItem, type BookingFlightReference, type BookingFlightReferenceCoupon, type BookingFlightSourceEnum, type BookingFlightTicket, type BookingForceHotelUpdateDetails, type BookingFormOfPaymentResponse, type BookingFormOfPaymentTripTypeEnum, type BookingFormOfPaymentTypeResponseEnum, type BookingFormOfPaymentUseTypeEnum, type BookingFutureTicketingPolicy, type BookingGenderEnum, type BookingGenericAddress, type BookingGenericFormOfPayment, type BookingGenericTotalValues, type BookingGoodsAndServicesTax, type BookingGuaranteePaymentTypeEnum, type BookingGuaranteeTypeNameEnum, type BookingHandlingFee, type BookingHiddenStop, type BookingHotel, type BookingHotelAddress, type BookingHotelDateRangeRefundPenalty, type BookingHotelItem, type BookingHotelPaymentPolicyEnum, type BookingHotelPenaltyValue, type BookingHotelReference, type BookingHotelSourceEnum, type BookingIdentityDocument, type BookingIdentityDocumentReference, type BookingInitialSellingFare, type BookingItemReference, type BookingJourney, type BookingLoyaltyProgram, BookingManagement, type BookingManualApproval, type BookingMeal, type BookingMealDescriptionEnum, type BookingNonElectronicTicket, type BookingNonElectronicTicketStatusEnum, type BookingOriginalTotalValues, type BookingOtherServiceInformation, type BookingPassportTypeResponseEnum, type BookingPhone, type BookingPhoneResponse, type BookingPricingStatusCodeEnum, type BookingPricingStatusNameEnum, type BookingPricingTypeCodeEnum, type BookingPricingTypeNameEnum, type BookingProfile, type BookingProgramTypeEnum, type BookingRateInterval, type BookingReasonForIssuanceEnum, type BookingRemark, type BookingRemarkTypeEnum, type BookingResponseError, type BookingRoom, type BookingRoomExtraResponse, type BookingRoomExtrasNameEnum, type BookingSeat, type BookingSeatSelection, type BookingSegmentBasicAttributes, type BookingSegmentBasics, type BookingSegmentReference, type BookingSource, type BookingSpecialService, type BookingStatusNameEnum, type BookingStrongCustomerAuthentication, type BookingTariffBasisTypeEnum, type BookingTax, type BookingTaxComponent, type BookingTicketCoupon, type BookingTicketStatusEnum, type BookingTotalPayments, type BookingTotalValues, type BookingTrain, type BookingTrainItem, type BookingTrainReference, type BookingTraveler, type BookingTravelerTypeEnum, type BookingTravelersEmployer, type BookingTravelersGroup, type BookingValue, type BookingVehicleTypeNameEnum, type BookingVirtualCard, type BookingVisaTypeResponseEnum, type BookingVoucher, type BrandedFare, type BuildCredentialsOptions, type BuildCredentialsOptionsV2, type BuildCredentialsOptionsV3, type BuiltCredentialsV2, type BuiltCredentialsV3, type CancelBookingErrorPolicy, type CancelBookingNotification, type CancelBookingOptions, type CancelBookingRequest, type CancelBookingResponse, type CancelSegmentReference, type CreateBookingErrorPolicy, type CreateBookingOptions, type CreateBookingRequest, type CreateBookingResponse, type CreateBookingResponseError, type FlightDetails, type FlightStatusCode, type FlightTicketOperation, type FlightToBook, type GetBookingExtraFeatures, type GetBookingOptions, type GetBookingRequest, type GetBookingResponse, type GetBookingReturnOnly, type GetSeatsRequest, type GetSeatsResponse, GroupedItineraryResponse, type HostDateDirection, Itinerary, ItineraryGroup, type OpenSessionOptions, OtaAirLowFareSearchRq, type PassengerPricing, type PaymentMethod, type PriceComparison, type PriceComparisonType, type PricedSeat, type PricingDetails, type PricingQualifiers, type QueueAccessOptions, type QueueAccessRequest, QueueActivityOptions, QueueActivityRequest, QueueActivityResponse, type QueueCount, type QueueCountOptions, type QueueCountRequest, type QueueCountResponse, type QueueEndReason, type QueueItem, type QueueListEntry, type QueueListOptions, type QueueListRequest, type QueueListResponse, QueueManagement, type QueueMessage, type QueueNavigationOptions, type QueueParagraph, type QueueParagraphAirSegment, type QueueParagraphMessage, type QueueParagraphOptions, type QueueParagraphOtherSegment, type QueueParagraphPassenger, type QueueParagraphReceivedFrom, type QueueParagraphSegment, type QueueParagraphTicketing, type QueueParagraphTicketingEntry, type QueuePlaceOptions, type QueuePlaceRemark, type QueuePlaceRequest, type QueuePlaceResponse, type QueuePlaceResult, type QueuePlaceTarget, type QueuePlacement, type QueueProcessAction, type QueueProcessRequest, type QueueProcessResult, QueueRef, type QueueRemoveRequest, type QueueRemoveTarget, type QueueSelection, type QueueState, type QueueStep, type RawSeatAvailabilityRs, type RefundDocumentsType, RequestOptions, ReservationHistoryOptions, ReservationHistoryResponse, type ResolveHostDateOptions, RetryOptions, type RevalidateItineraryRequest, type RevalidateItineraryRequestSource, type RevalidateItineraryResponse, Sabre, type SabreAuthVersion, SabreBusinessError, type SabreCommandOptions, type SabreCommandResponse, type SabreConfig, type SabreConfigFromCredentials, type SabreConfigV2, type SabreConfigV2FromCredentials, type SabreConfigV3, type SabreCredentials, type SabreCredentialsAnyVersion, type SabreCredentialsV2, type SabreEnvironment, SabreError, SabreLegacy, type SabreLogEvent, type SabreLogLevel, type SabreLogger, SabreRawRequestCallback, SabreRawResponseCallback, SabreSession, type SabreTokenStore, SabreWarning, type Seat, type SeatAreaPreference, type SeatAvailabilityByPayloadRq, type SeatAvailabilityByPnrLocatorRq, type SeatAvailabilityIssue, type SeatAvailabilityRequestSource, type SeatAvailabilityResponse, type SeatCabinAisle, type SeatCabinCompartment, type SeatCabinFacility, type SeatCabinLayout, type SeatCabinRowPosition, type SeatCharacteristic, type SeatDisplayOnlyItem, type SeatFareComponent, type SeatFareDetail, type SeatFareSegmentAssociation, type SeatFlightLeg, type SeatKeyValuePair, type SeatLoyaltyProgramAccount, type SeatMap, type SeatOfferItem, type SeatOfferItemDetails, type SeatPassenger, type SeatPassengerPayloadRq, type SeatPassengerRs, type SeatPriceBreakdown, type SeatPriceDefinition, type SeatRow, type SeatSegment, type SeatSegmentPayloadRq, type SeatSegmentRs, type SeatServiceDefinition, type SeatSpecialServiceRequest, type SeatTax, SessionReservation, type SpecificFare, type StoredToken, type TicketingPolicy, type TravelerPhone, type TravelerTitle, VERSION, buildBookingFlightDetails, buildCredentials, buildRevalidateItineraryRequest, buildSeatAvailabilityRequest, parseQueueParagraph, parseQueuePlaceRemark, resolveHostDate };
|