sabre-client 0.2.0 → 0.2.2

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/dist/index.js CHANGED
@@ -1,3 +1,89 @@
1
+ // src/air/search.ts
2
+ var Search = class {
3
+ /**
4
+ * Bargain Finder Max v5
5
+ *
6
+ * Bargain Finder Max (BFM),
7
+ * nuestro producto de búsqueda de tarifas bajas líder en su clase,
8
+ * se utiliza para buscar los itinerarios con los precios más bajos disponibles según una fecha específica.
9
+ *
10
+ * Revalidate Itinerary v5
11
+ *
12
+ * La API Revalidate Itinerary permite volver a consultar la disponibilidad
13
+ * y el precio de una opción de itinerario específica sin tener que reservarla.
14
+ * La solución revalida si la opción de itinerario es válida para la compra.
15
+ * Revalidate Itinerary no admite contenido NDC.
16
+ *
17
+ * @param sabre Sabre Client Reference
18
+ */
19
+ constructor(sabre) {
20
+ this.sabre = sabre;
21
+ }
22
+ /**
23
+ * Crear solicitud de Buscador de ofertas Max.
24
+ *
25
+ * payload - El mensaje de solicitud de búsqueda de tarifa baja solicita opciones
26
+ * de itinerario para vuelos entre pares de ciudades específicos, en fechas específicas,
27
+ * para un número y tipo de pasajeros específicos.
28
+ * La información opcional de la solicitud puede incluir:
29
+ * hora/ventana horaria, ciudades de conexión
30
+ * y preferencias del cliente (aerolíneas, cabina, tipo de vuelo, etc.).
31
+ * La solicitud de búsqueda de tarifa baja contiene información similar a
32
+ * la de una búsqueda de tarifa baja en el CRS o GDS de una aerolínea.
33
+ * @param payload BargainFinderMaxOptions
34
+ * @returns {Promise<BargainFinderMaxResponseSuccess>}
35
+ */
36
+ async shop(payload) {
37
+ const path = "/v5/offers/shop";
38
+ return this.sabre.post(path, payload);
39
+ }
40
+ /**
41
+ * Crear solicitud de revalidación de itinerario.
42
+ *
43
+ * payload - El mensaje de solicitud de búsqueda de tarifa baja solicita opciones
44
+ * de itinerario para vuelos entre pares de ciudades específicos, en fechas específicas,
45
+ * para un número y tipo de pasajeros específicos.
46
+ * La información opcional de la solicitud puede incluir:
47
+ * hora/ventana horaria, ciudades de conexión
48
+ * y preferencias del cliente (aerolíneas, cabina, tipo de vuelo, etc.).
49
+ * La solicitud de búsqueda de tarifa baja contiene información similar a
50
+ * la de una búsqueda de tarifa baja en el CRS o GDS de una aerolínea.
51
+ * @param payload RevalidateItineraryOptions
52
+ * @returns {Promise<RevalidateItineraryResponseSuccess>}
53
+ */
54
+ async revalidate(payload) {
55
+ const path = "/v5/shop/flights/revalidate";
56
+ return this.sabre.post(path, payload);
57
+ }
58
+ };
59
+
60
+ // src/air/ticketing.ts
61
+ var Ticketing = class {
62
+ /**
63
+ * Enhanced Air Ticket v1.3.0
64
+ *
65
+ * La API de boletos aéreos mejorados se utiliza para emitir uno o varios boletos aéreos
66
+ * y/o EMD (documentos electrónicos varios) dentro de una sola llamada API.
67
+ *
68
+ * @param sabre Sabre Client Reference
69
+ */
70
+ constructor(sabre) {
71
+ this.sabre = sabre;
72
+ }
73
+ /**
74
+ * La API de boletos aéreos mejorados (AirTicketRQ)
75
+ * se utiliza para emitir boletos aéreos y documentos electrónicos varios (EMD) en una sola solicitud.
76
+ *
77
+ * payload - Solicitud de API de boletos aéreos orquestada.
78
+ * @param payload EnhancedAirTicketOptions
79
+ * @returns {Promise<EnhancedAirTicketResponseSuccess>}
80
+ */
81
+ async issue(payload) {
82
+ const path = "/v1.3.0/air/ticket";
83
+ return this.sabre.post(path, payload);
84
+ }
85
+ };
86
+
1
87
  // src/authentication/authentication.ts
2
88
  var grantType = new URLSearchParams({ "grant_type": "client_credentials" }).toString();
3
89
  var Authentication = class {
@@ -141,7 +227,7 @@ var FlightTickets = class {
141
227
  };
142
228
 
143
229
  // package.json
144
- var version = "0.2.0";
230
+ var version = "0.2.1";
145
231
 
146
232
  // src/config.ts
147
233
  var defaultBaseUrl = "https://api.platform.sabre.com";
@@ -165,6 +251,35 @@ var SabreError = class extends Error {
165
251
  }
166
252
  };
167
253
 
254
+ // src/trip-management/reservation.ts
255
+ var Reservation = class {
256
+ /**
257
+ * Reservation
258
+ *
259
+ * La API para crear un registro de nombre de pasajero es una API
260
+ * orquestada que integra varias funciones y operaciones en una sola llamada.
261
+ *
262
+ * Esta API permite crear un registro de nombre de pasajero (PNR),
263
+ * incluyendo segmentos aéreos, en una sola llamada.
264
+ *
265
+ * @param sabre Sabre Client Reference
266
+ */
267
+ constructor(sabre) {
268
+ this.sabre = sabre;
269
+ }
270
+ /**
271
+ * Cree una reserva completa de contenido aéreo, hotel y automóvil de alquiler, todo dentro de una sola solicitud.
272
+ *
273
+ * payload - Contiene elementos obligatorios y opcionales para realizar una solicitud de reserva.
274
+ * @param payload CreatePassengerNameRecordOptions
275
+ * @returns {Promise<CreatePassengerNameRecordResponseSuccess>}
276
+ */
277
+ create(payload) {
278
+ const path = "/v2.5.0/passenger/records?mode=create";
279
+ return this.sabre.post(path, payload);
280
+ }
281
+ };
282
+
168
283
  // src/sabre.ts
169
284
  var Sabre = class {
170
285
  constructor(options = {}) {
@@ -194,6 +309,9 @@ var Sabre = class {
194
309
  authentication = new Authentication(this);
195
310
  booking = new Booking(this);
196
311
  flightTickets = new FlightTickets(this);
312
+ search = new Search(this);
313
+ ticketing = new Ticketing(this);
314
+ reservation = new Reservation(this);
197
315
  setAuthorization(token) {
198
316
  this.headers.set("Authorization", `Bearer ${token}`);
199
317
  this.headers.set("Content-Type", "application/json");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sabre-client",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Sabre Node.js SDK",
5
5
  "keywords": [
6
6
  "sabre",
@@ -42,7 +42,9 @@
42
42
  "test": "jest --passWithNoTests",
43
43
  "test:watch": "jest --watch",
44
44
  "lint": "eslint . --ext .ts --report-unused-disable-directives --max-warnings 0",
45
- "type-check": "tsc --noEmit"
45
+ "type-check": "tsc --noEmit",
46
+ "example:auth-atk": "node --env-file=.env --import=tsx examples/auth-atk.ts",
47
+ "example:search-shop": "node --env-file=.env --import=tsx examples/search-shop.ts"
46
48
  },
47
49
  "devDependencies": {
48
50
  "@eslint/js": "^9.38.0",
@@ -53,7 +55,8 @@
53
55
  "ts-jest": "^29.4.5",
54
56
  "ts-node": "^10.9.2",
55
57
  "tsup": "^8.5.0",
58
+ "tsx": "^4.20.6",
56
59
  "typescript": "^5.9.3",
57
60
  "typescript-eslint": "^8.46.1"
58
61
  }
59
- }
62
+ }