mts-booking-library 1.3.5 → 1.3.7

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.
@@ -81,15 +81,15 @@ var booking_1 = require("./booking");
81
81
  var ServiceBooking = /** @class */ (function (_super) {
82
82
  __extends(ServiceBooking, _super);
83
83
  /**
84
- * This is the constructor of the ServiceBooking class.
85
- * @param {MTSEnvs} env The environment in which the app is running. Can be "DEV", "STAGING" or "PROD"
86
- * @param {string} sub_key The subscription key for using the APIs
87
- * @param {boolean} [debug=false] If true, the app will run in debug mode (meaning that will print requests and responses in the console)
88
- * @param {string} [language=Booking.Languages.EN] The language in which the app is running. Can be "it", "en", "fr", "de" or "es"
89
- * @param {string} [access_token=undefined] The access token for calling MTS APIs
90
- * @param {number} [sellerId=undefined] The id of the seller. If not set, it will return the results for all sellers
91
- * @param {number} [resellerId=undefined] The id of the reseller.
92
- */
84
+ * This is the constructor of the ServiceBooking class.
85
+ * @param {MTSEnvs} env The environment in which the app is running. Can be "DEV", "STAGING" or "PROD"
86
+ * @param {string} sub_key The subscription key for using the APIs
87
+ * @param {boolean} [debug=false] If true, the app will run in debug mode (meaning that will print requests and responses in the console)
88
+ * @param {string} [language=Booking.Languages.EN] The language in which the app is running. Can be "it", "en", "fr", "de" or "es"
89
+ * @param {string} [access_token=undefined] The access token for calling MTS APIs
90
+ * @param {number} [sellerId=undefined] The id of the seller. If not set, it will return the results for all sellers
91
+ * @param {number} [resellerId=undefined] The id of the reseller.
92
+ */
93
93
  function ServiceBooking(env, sub_key, debug, language, access_token, sellerId, resellerId) {
94
94
  if (debug === void 0) { debug = false; }
95
95
  if (language === void 0) { language = booking_1.Booking.Languages.EN; }
@@ -166,7 +166,7 @@ var ServiceBooking = /** @class */ (function (_super) {
166
166
  return [2 /*return*/, this.callGetApi(url).then(function (response) {
167
167
  if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
168
168
  _this.resetBooking();
169
- throw new Error(response);
169
+ throw new Error(JSON.stringify(response, null, 2));
170
170
  }
171
171
  // Check that the cart doe not have issued tickets
172
172
  if (response.cart.hasIssuedTickets) {
@@ -178,10 +178,10 @@ var ServiceBooking = /** @class */ (function (_super) {
178
178
  });
179
179
  };
180
180
  /**
181
- * This method allows to delete a cart, thus allowing the user to exit from the booking process.
182
- * @returns An {@link ErrorResponse} object in case of error, nothing otherwise. Note that also in case of error, all
183
- * data will be deleted.
184
- */
181
+ * This method allows to delete a cart, thus allowing the user to exit from the booking process.
182
+ * @returns An {@link ErrorResponse} object in case of error, nothing otherwise. Note that also in case of error, all
183
+ * data will be deleted.
184
+ */
185
185
  ServiceBooking.prototype.deleteCart = function () {
186
186
  return __awaiter(this, void 0, void 0, function () {
187
187
  var url;
@@ -201,28 +201,30 @@ var ServiceBooking = /** @class */ (function (_super) {
201
201
  });
202
202
  };
203
203
  /**
204
- * This method returns the list of cities in which the seller offers tours.
205
- * If the sellerId is not set or it is 0, it will return the list of cities for all sellers.
206
- * @returns {string[]} The list of possible cities
207
- */
204
+ * This method returns the list of cities in which the seller offers tours.
205
+ * If the sellerId is not set or it is 0, it will return the list of cities for all sellers.
206
+ * @returns {string[]} The list of possible cities
207
+ */
208
208
  ServiceBooking.prototype.getServiceCities = function () {
209
209
  return __awaiter(this, void 0, void 0, function () {
210
210
  var url;
211
211
  return __generator(this, function (_a) {
212
212
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/services/cities?");
213
213
  return [2 /*return*/, this.callGetApi(url).then(function (response) {
214
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.cities;
214
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
215
+ ? response
216
+ : response.cities;
215
217
  })];
216
218
  });
217
219
  });
218
220
  };
219
221
  /**
220
- * This method returns the tours sold by this seller in the given city.
221
- * If the sellerId is not set or it is 0, it will return the tours in the given city for all sellers.
222
- * @param {string} [cityName=undefined] The name of the selected city (as returned by {@link getTourCities})
223
- * @param {Booking.Currencies} currency The currency in which the prices should be returned
224
- * @returns {Tour[]} The returned tours
225
- */
222
+ * This method returns the tours sold by this seller in the given city.
223
+ * If the sellerId is not set or it is 0, it will return the tours in the given city for all sellers.
224
+ * @param {string} [cityName=undefined] The name of the selected city (as returned by {@link getTourCities})
225
+ * @param {Booking.Currencies} currency The currency in which the prices should be returned
226
+ * @returns {Tour[]} The returned tours
227
+ */
226
228
  ServiceBooking.prototype.getServices = function (currency, cityName) {
227
229
  return __awaiter(this, void 0, void 0, function () {
228
230
  var searchParams, url;
@@ -230,19 +232,21 @@ var ServiceBooking = /** @class */ (function (_super) {
230
232
  searchParams = new URLSearchParams(__assign(__assign({}, (cityName && { cityName: cityName })), { currency: currency }));
231
233
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/services?").concat(searchParams);
232
234
  return [2 /*return*/, this.callGetApi(url).then(function (response) {
233
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.services;
235
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
236
+ ? response
237
+ : response.services;
234
238
  })];
235
239
  });
236
240
  });
237
241
  };
238
242
  /**
239
- * This method returns the tours available for the given date. This method can be used if the seller wants the user to book a specific date
240
- * and/or a specific hour for the tour.
241
- * You should call this method only if {@link Service.isDateOptional} or {@link Service.isDateRequired} is true for the selected tour.
242
- * @param {number} serviceId The id of the selected tour (can be retrieved in the object {@link Service} returned by {@link getTours})
243
- * @param {string} date The date on which to get the tours, in ISO string format
244
- * @returns {ServiceTripsResponse} The returned information about the tour (tripId and hour)
245
- */
243
+ * This method returns the tours available for the given date. This method can be used if the seller wants the user to book a specific date
244
+ * and/or a specific hour for the tour.
245
+ * You should call this method only if {@link Service.isDateOptional} or {@link Service.isDateRequired} is true for the selected tour.
246
+ * @param {number} serviceId The id of the selected tour (can be retrieved in the object {@link Service} returned by {@link getTours})
247
+ * @param {string} date The date on which to get the tours, in ISO string format
248
+ * @returns {ServiceTripsResponse} The returned information about the tour (tripId and hour)
249
+ */
246
250
  ServiceBooking.prototype.getServiceTrips = function (serviceId, date) {
247
251
  return __awaiter(this, void 0, void 0, function () {
248
252
  var searchParams, url;
@@ -250,7 +254,9 @@ var ServiceBooking = /** @class */ (function (_super) {
250
254
  searchParams = new URLSearchParams({ date: date });
251
255
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/services/").concat(serviceId, "/trips?").concat(searchParams);
252
256
  return [2 /*return*/, this.callGetApi(url).then(function (response) {
253
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response;
257
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
258
+ ? response
259
+ : response;
254
260
  })];
255
261
  });
256
262
  });
@@ -312,7 +318,7 @@ var ServiceBooking = /** @class */ (function (_super) {
312
318
  return {
313
319
  buyerDataStatus: response.buyerDataStatus,
314
320
  buyer: response.buyer,
315
- passengers: [],
321
+ passengers: []
316
322
  };
317
323
  })];
318
324
  });
@@ -374,7 +380,7 @@ var ServiceBooking = /** @class */ (function (_super) {
374
380
  }
375
381
  request = {
376
382
  buyer: buyerDetails,
377
- passengers: [],
383
+ passengers: []
378
384
  };
379
385
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/carts/").concat(this.cart.id, "/details");
380
386
  return [2 /*return*/, this.callPostApi(url, request).then(function (response) {
@@ -479,9 +485,11 @@ var ServiceBooking = /** @class */ (function (_super) {
479
485
  // Update the booking process status
480
486
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
481
487
  // Update the cart
482
- _this.cart = __assign(__assign({}, _this.cart), { totalAmountToPay: reductionResponse.totalAmountToPay, reductions: (_c = (_b = (_a = _this.cart) === null || _a === void 0 ? void 0 : _a.reductions) === null || _b === void 0 ? void 0 : _b.filter(function (reduction) { return reduction.type === Reduction_1.ReductionType.WALLET ||
483
- reduction.type === Reduction_1.ReductionType.VOUCHER ||
484
- (reduction.type === Reduction_1.ReductionType.CASH && reduction.tripId !== tripId); })) !== null && _c !== void 0 ? _c : [] });
488
+ _this.cart = __assign(__assign({}, _this.cart), { totalAmountToPay: reductionResponse.totalAmountToPay, reductions: (_c = (_b = (_a = _this.cart) === null || _a === void 0 ? void 0 : _a.reductions) === null || _b === void 0 ? void 0 : _b.filter(function (reduction) {
489
+ return reduction.type === Reduction_1.ReductionType.WALLET ||
490
+ reduction.type === Reduction_1.ReductionType.VOUCHER ||
491
+ (reduction.type === Reduction_1.ReductionType.CASH && reduction.tripId !== tripId);
492
+ })) !== null && _c !== void 0 ? _c : [] });
485
493
  return true;
486
494
  })];
487
495
  });
@@ -509,7 +517,11 @@ var ServiceBooking = /** @class */ (function (_super) {
509
517
  if (!issueStep)
510
518
  throw Error("Booking step: ".concat(booking_1.Booking.BookingSteps.ISSUE, " not found!"));
511
519
  if (!!issueStep[0]) return [3 /*break*/, 5];
512
- _i = 0, _a = [booking_1.Booking.BookingSteps.SEATS_SELECTION, booking_1.Booking.BookingSteps.EXTRAS, booking_1.Booking.BookingSteps.DISCOUNTS];
520
+ _i = 0, _a = [
521
+ booking_1.Booking.BookingSteps.SEATS_SELECTION,
522
+ booking_1.Booking.BookingSteps.EXTRAS,
523
+ booking_1.Booking.BookingSteps.DISCOUNTS
524
+ ];
513
525
  _c.label = 1;
514
526
  case 1:
515
527
  if (!(_i < _a.length)) return [3 /*break*/, 4];
@@ -9,15 +9,15 @@ import { Booking } from "./booking";
9
9
  export declare class SubscriptionBooking extends Booking {
10
10
  private cart?;
11
11
  /**
12
- * This is the constructor of the ServiceBooking class.
13
- * @param {MTSEnvs} env The environment in which the app is running. Can be "DEV", "STAGING" or "PROD"
14
- * @param {string} sub_key The subscription key for using the APIs
15
- * @param {boolean} [debug=false] If true, the app will run in debug mode (meaning that will print requests and responses in the console)
16
- * @param {string} [language=Booking.Languages.EN] The language in which the app is running. Can be "it", "en", "fr", "de" or "es"
17
- * @param {string} [access_token=undefined] The access token for calling MTS APIs
18
- * @param {number} [sellerId=undefined] The id of the seller. If not set, it will return the results for all sellers
19
- * @param {number} [resellerId=undefined] The id of the reseller.
20
- */
12
+ * This is the constructor of the ServiceBooking class.
13
+ * @param {MTSEnvs} env The environment in which the app is running. Can be "DEV", "STAGING" or "PROD"
14
+ * @param {string} sub_key The subscription key for using the APIs
15
+ * @param {boolean} [debug=false] If true, the app will run in debug mode (meaning that will print requests and responses in the console)
16
+ * @param {string} [language=Booking.Languages.EN] The language in which the app is running. Can be "it", "en", "fr", "de" or "es"
17
+ * @param {string} [access_token=undefined] The access token for calling MTS APIs
18
+ * @param {number} [sellerId=undefined] The id of the seller. If not set, it will return the results for all sellers
19
+ * @param {number} [resellerId=undefined] The id of the reseller.
20
+ */
21
21
  constructor(env: MTSEnvs, sub_key: string, debug?: boolean, language?: string, access_token?: string, sellerId?: number, resellerId?: number);
22
22
  getStorage(): import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<{
23
23
  cartId: number | undefined;
@@ -70,39 +70,39 @@ export declare class SubscriptionBooking extends Booking {
70
70
  fetchAndSetCart(cartId: number): Promise<void>;
71
71
  fetchCart(cartId: number): Promise<SubscriptionCart>;
72
72
  /**
73
- * This method allows to delete a cart, thus allowing the user to exit from the booking process.
74
- * @returns An {@link ErrorResponse} object in case of error, nothing otherwise. Note that also in case of error, all
75
- * data will be deleted.
76
- */
73
+ * This method allows to delete a cart, thus allowing the user to exit from the booking process.
74
+ * @returns An {@link ErrorResponse} object in case of error, nothing otherwise. Note that also in case of error, all
75
+ * data will be deleted.
76
+ */
77
77
  deleteCart(): Promise<ErrorResponse | any>;
78
78
  /**
79
- * This method returns the possible departures for all subscriptions sold by this seller.
80
- * @returns {string[]} The list of possible departures
81
- */
79
+ * This method returns the possible departures for all subscriptions sold by this seller.
80
+ * @returns {string[]} The list of possible departures
81
+ */
82
82
  getSubscriptionsDepartures(): Promise<ErrorResponse | string[]>;
83
83
  /**
84
- * This method returns the possible destination for the subscriptions sold by this seller that start at the selected departure.
85
- * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
86
- * @returns {string[]} The list of possible destinations
87
- */
84
+ * This method returns the possible destination for the subscriptions sold by this seller that start at the selected departure.
85
+ * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
86
+ * @returns {string[]} The list of possible destinations
87
+ */
88
88
  getSubscriptionsDestinations(departureStopName: string): Promise<ErrorResponse | string[]>;
89
89
  /**
90
- * This method returns the possible validity types for the subscriptions sold by this seller between the selected departure and destination.
91
- * The validity type is the duration of the subscription (1 week, 1 month, etc.). See {@link ValidityTypes} for more details.
92
- * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
93
- * @param {string} destinationStopName The destination stop name (as returned by {@link getSubscriptionsDstinations})
94
- * @returns {ValidityTypes[]} The list of possible validity types
95
- */
90
+ * This method returns the possible validity types for the subscriptions sold by this seller between the selected departure and destination.
91
+ * The validity type is the duration of the subscription (1 week, 1 month, etc.). See {@link ValidityTypes} for more details.
92
+ * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
93
+ * @param {string} destinationStopName The destination stop name (as returned by {@link getSubscriptionsDstinations})
94
+ * @returns {ValidityTypes[]} The list of possible validity types
95
+ */
96
96
  getSubscriptionsValidityTypes(departureStopName: string, destinationStopName: string): Promise<ErrorResponse | SubscriptionBooking.ValidityTypes[]>;
97
97
  /**
98
- * This method returns the subscriptions that match the given parameters.
99
- * Note that it will always return the subscription for the one-way trip.
100
- * If you want to get the subscription for the round trip, you have to call this method twice (make sure to swap departureStopName and destinationStopName)
101
- * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
102
- * @param {string} destinationStopName The destination stop name (as returned by {@link getSubscriptionsDstinations})
103
- * @param {string} validityType The validity type (as returned by {@link getSubscriptionsValidityTypes})
104
- * @returns {Array<Subscription>} The subscriptions that match the given parameters
105
- */
98
+ * This method returns the subscriptions that match the given parameters.
99
+ * Note that it will always return the subscription for the one-way trip.
100
+ * If you want to get the subscription for the round trip, you have to call this method twice (make sure to swap departureStopName and destinationStopName)
101
+ * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
102
+ * @param {string} destinationStopName The destination stop name (as returned by {@link getSubscriptionsDstinations})
103
+ * @param {string} validityType The validity type (as returned by {@link getSubscriptionsValidityTypes})
104
+ * @returns {Array<Subscription>} The subscriptions that match the given parameters
105
+ */
106
106
  getSubscriptions(departureStopName: string, destinationStopName: string, validityType: string): Promise<ErrorResponse | Subscription[]>;
107
107
  /**
108
108
  * This method returns the availability of the subscription for the given parameters.
@@ -81,15 +81,15 @@ var booking_1 = require("./booking");
81
81
  var SubscriptionBooking = /** @class */ (function (_super) {
82
82
  __extends(SubscriptionBooking, _super);
83
83
  /**
84
- * This is the constructor of the ServiceBooking class.
85
- * @param {MTSEnvs} env The environment in which the app is running. Can be "DEV", "STAGING" or "PROD"
86
- * @param {string} sub_key The subscription key for using the APIs
87
- * @param {boolean} [debug=false] If true, the app will run in debug mode (meaning that will print requests and responses in the console)
88
- * @param {string} [language=Booking.Languages.EN] The language in which the app is running. Can be "it", "en", "fr", "de" or "es"
89
- * @param {string} [access_token=undefined] The access token for calling MTS APIs
90
- * @param {number} [sellerId=undefined] The id of the seller. If not set, it will return the results for all sellers
91
- * @param {number} [resellerId=undefined] The id of the reseller.
92
- */
84
+ * This is the constructor of the ServiceBooking class.
85
+ * @param {MTSEnvs} env The environment in which the app is running. Can be "DEV", "STAGING" or "PROD"
86
+ * @param {string} sub_key The subscription key for using the APIs
87
+ * @param {boolean} [debug=false] If true, the app will run in debug mode (meaning that will print requests and responses in the console)
88
+ * @param {string} [language=Booking.Languages.EN] The language in which the app is running. Can be "it", "en", "fr", "de" or "es"
89
+ * @param {string} [access_token=undefined] The access token for calling MTS APIs
90
+ * @param {number} [sellerId=undefined] The id of the seller. If not set, it will return the results for all sellers
91
+ * @param {number} [resellerId=undefined] The id of the reseller.
92
+ */
93
93
  function SubscriptionBooking(env, sub_key, debug, language, access_token, sellerId, resellerId) {
94
94
  if (debug === void 0) { debug = false; }
95
95
  if (language === void 0) { language = booking_1.Booking.Languages.EN; }
@@ -166,7 +166,7 @@ var SubscriptionBooking = /** @class */ (function (_super) {
166
166
  return [2 /*return*/, this.callGetApi(url).then(function (response) {
167
167
  if ((0, ErrorResponse_1.objectIsMTSErrorResponse)(response)) {
168
168
  _this.resetBooking();
169
- throw new Error(response);
169
+ throw new Error(JSON.stringify(response, null, 2));
170
170
  }
171
171
  // Check that the cart doe not have issued tickets
172
172
  if (response.cart.hasIssuedTickets) {
@@ -178,10 +178,10 @@ var SubscriptionBooking = /** @class */ (function (_super) {
178
178
  });
179
179
  };
180
180
  /**
181
- * This method allows to delete a cart, thus allowing the user to exit from the booking process.
182
- * @returns An {@link ErrorResponse} object in case of error, nothing otherwise. Note that also in case of error, all
183
- * data will be deleted.
184
- */
181
+ * This method allows to delete a cart, thus allowing the user to exit from the booking process.
182
+ * @returns An {@link ErrorResponse} object in case of error, nothing otherwise. Note that also in case of error, all
183
+ * data will be deleted.
184
+ */
185
185
  SubscriptionBooking.prototype.deleteCart = function () {
186
186
  return __awaiter(this, void 0, void 0, function () {
187
187
  var url;
@@ -200,25 +200,27 @@ var SubscriptionBooking = /** @class */ (function (_super) {
200
200
  });
201
201
  };
202
202
  /**
203
- * This method returns the possible departures for all subscriptions sold by this seller.
204
- * @returns {string[]} The list of possible departures
205
- */
203
+ * This method returns the possible departures for all subscriptions sold by this seller.
204
+ * @returns {string[]} The list of possible departures
205
+ */
206
206
  SubscriptionBooking.prototype.getSubscriptionsDepartures = function () {
207
207
  return __awaiter(this, void 0, void 0, function () {
208
208
  var url;
209
209
  return __generator(this, function (_a) {
210
210
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/subscriptions/departures?");
211
211
  return [2 /*return*/, this.callGetApi(url).then(function (response) {
212
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.departures;
212
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
213
+ ? response
214
+ : response.departures;
213
215
  })];
214
216
  });
215
217
  });
216
218
  };
217
219
  /**
218
- * This method returns the possible destination for the subscriptions sold by this seller that start at the selected departure.
219
- * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
220
- * @returns {string[]} The list of possible destinations
221
- */
220
+ * This method returns the possible destination for the subscriptions sold by this seller that start at the selected departure.
221
+ * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
222
+ * @returns {string[]} The list of possible destinations
223
+ */
222
224
  SubscriptionBooking.prototype.getSubscriptionsDestinations = function (departureStopName) {
223
225
  return __awaiter(this, void 0, void 0, function () {
224
226
  var searchParams, url;
@@ -226,18 +228,20 @@ var SubscriptionBooking = /** @class */ (function (_super) {
226
228
  searchParams = new URLSearchParams({ departureStopName: departureStopName });
227
229
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/subscriptions/destinations?").concat(searchParams);
228
230
  return [2 /*return*/, this.callGetApi(url).then(function (response) {
229
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.destinations;
231
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
232
+ ? response
233
+ : response.destinations;
230
234
  })];
231
235
  });
232
236
  });
233
237
  };
234
238
  /**
235
- * This method returns the possible validity types for the subscriptions sold by this seller between the selected departure and destination.
236
- * The validity type is the duration of the subscription (1 week, 1 month, etc.). See {@link ValidityTypes} for more details.
237
- * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
238
- * @param {string} destinationStopName The destination stop name (as returned by {@link getSubscriptionsDstinations})
239
- * @returns {ValidityTypes[]} The list of possible validity types
240
- */
239
+ * This method returns the possible validity types for the subscriptions sold by this seller between the selected departure and destination.
240
+ * The validity type is the duration of the subscription (1 week, 1 month, etc.). See {@link ValidityTypes} for more details.
241
+ * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
242
+ * @param {string} destinationStopName The destination stop name (as returned by {@link getSubscriptionsDstinations})
243
+ * @returns {ValidityTypes[]} The list of possible validity types
244
+ */
241
245
  SubscriptionBooking.prototype.getSubscriptionsValidityTypes = function (departureStopName, destinationStopName) {
242
246
  return __awaiter(this, void 0, void 0, function () {
243
247
  var searchParams, url;
@@ -248,20 +252,22 @@ var SubscriptionBooking = /** @class */ (function (_super) {
248
252
  });
249
253
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/subscriptions/validityTypes?").concat(searchParams);
250
254
  return [2 /*return*/, this.callGetApi(url).then(function (response) {
251
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.validityTypes;
255
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
256
+ ? response
257
+ : response.validityTypes;
252
258
  })];
253
259
  });
254
260
  });
255
261
  };
256
262
  /**
257
- * This method returns the subscriptions that match the given parameters.
258
- * Note that it will always return the subscription for the one-way trip.
259
- * If you want to get the subscription for the round trip, you have to call this method twice (make sure to swap departureStopName and destinationStopName)
260
- * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
261
- * @param {string} destinationStopName The destination stop name (as returned by {@link getSubscriptionsDstinations})
262
- * @param {string} validityType The validity type (as returned by {@link getSubscriptionsValidityTypes})
263
- * @returns {Array<Subscription>} The subscriptions that match the given parameters
264
- */
263
+ * This method returns the subscriptions that match the given parameters.
264
+ * Note that it will always return the subscription for the one-way trip.
265
+ * If you want to get the subscription for the round trip, you have to call this method twice (make sure to swap departureStopName and destinationStopName)
266
+ * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
267
+ * @param {string} destinationStopName The destination stop name (as returned by {@link getSubscriptionsDstinations})
268
+ * @param {string} validityType The validity type (as returned by {@link getSubscriptionsValidityTypes})
269
+ * @returns {Array<Subscription>} The subscriptions that match the given parameters
270
+ */
265
271
  SubscriptionBooking.prototype.getSubscriptions = function (departureStopName, destinationStopName, validityType) {
266
272
  return __awaiter(this, void 0, void 0, function () {
267
273
  var searchParams, url;
@@ -273,7 +279,9 @@ var SubscriptionBooking = /** @class */ (function (_super) {
273
279
  });
274
280
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/subscriptions/search?").concat(searchParams);
275
281
  return [2 /*return*/, this.callGetApi(url).then(function (response) {
276
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response.subscriptions;
282
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
283
+ ? response
284
+ : response.subscriptions;
277
285
  })];
278
286
  });
279
287
  });
@@ -300,7 +308,9 @@ var SubscriptionBooking = /** @class */ (function (_super) {
300
308
  });
301
309
  url = "".concat(this.config.API_ENDPOINT, "/v3_booking/subscriptions/availabilities?").concat(searchParams);
302
310
  return [2 /*return*/, this.callGetApi(url).then(function (response) {
303
- return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response) ? response : response;
311
+ return (0, ErrorResponse_1.objectIsMTSErrorResponse)(response)
312
+ ? response
313
+ : response;
304
314
  })];
305
315
  });
306
316
  });
@@ -374,18 +384,20 @@ var SubscriptionBooking = /** @class */ (function (_super) {
374
384
  ];
375
385
  }));
376
386
  // Parse the return tariffs
377
- passenger.returnTariffs = passenger.returnTariffs ? new Map(Object.entries(passenger.returnTariffs).map(function (_a) {
378
- var tripId = _a[0], tariffs = _a[1];
379
- return [
380
- +tripId,
381
- tariffs
382
- ];
383
- })) : null;
387
+ passenger.returnTariffs = passenger.returnTariffs
388
+ ? new Map(Object.entries(passenger.returnTariffs).map(function (_a) {
389
+ var tripId = _a[0], tariffs = _a[1];
390
+ return [
391
+ +tripId,
392
+ tariffs
393
+ ];
394
+ }))
395
+ : null;
384
396
  });
385
397
  return {
386
398
  buyerDataStatus: response.buyerDataStatus,
387
399
  buyer: response.buyer,
388
- passengers: passengers,
400
+ passengers: passengers
389
401
  };
390
402
  })];
391
403
  });
@@ -554,9 +566,11 @@ var SubscriptionBooking = /** @class */ (function (_super) {
554
566
  // Update the booking process status
555
567
  _this.bookingStepsToStatus = (0, processBookingSteps_1.processBookingSteps)(reductionResponse.stepsToStatus);
556
568
  // Update the cart
557
- _this.cart = __assign(__assign({}, _this.cart), { totalAmountToPay: reductionResponse.totalAmountToPay, reductions: (_c = (_b = (_a = _this.cart) === null || _a === void 0 ? void 0 : _a.reductions) === null || _b === void 0 ? void 0 : _b.filter(function (reduction) { return reduction.type === Reduction_1.ReductionType.WALLET ||
558
- reduction.type === Reduction_1.ReductionType.VOUCHER ||
559
- (reduction.type === Reduction_1.ReductionType.CASH && reduction.tripId !== tripId); })) !== null && _c !== void 0 ? _c : [] });
569
+ _this.cart = __assign(__assign({}, _this.cart), { totalAmountToPay: reductionResponse.totalAmountToPay, reductions: (_c = (_b = (_a = _this.cart) === null || _a === void 0 ? void 0 : _a.reductions) === null || _b === void 0 ? void 0 : _b.filter(function (reduction) {
570
+ return reduction.type === Reduction_1.ReductionType.WALLET ||
571
+ reduction.type === Reduction_1.ReductionType.VOUCHER ||
572
+ (reduction.type === Reduction_1.ReductionType.CASH && reduction.tripId !== tripId);
573
+ })) !== null && _c !== void 0 ? _c : [] });
560
574
  return true;
561
575
  })];
562
576
  });
@@ -584,7 +598,11 @@ var SubscriptionBooking = /** @class */ (function (_super) {
584
598
  if (!issueStep)
585
599
  throw Error("Booking step: ".concat(booking_1.Booking.BookingSteps.ISSUE, " not found!"));
586
600
  if (!!issueStep[0]) return [3 /*break*/, 5];
587
- _i = 0, _a = [booking_1.Booking.BookingSteps.SEATS_SELECTION, booking_1.Booking.BookingSteps.EXTRAS, booking_1.Booking.BookingSteps.DISCOUNTS];
601
+ _i = 0, _a = [
602
+ booking_1.Booking.BookingSteps.SEATS_SELECTION,
603
+ booking_1.Booking.BookingSteps.EXTRAS,
604
+ booking_1.Booking.BookingSteps.DISCOUNTS
605
+ ];
588
606
  _c.label = 1;
589
607
  case 1:
590
608
  if (!(_i < _a.length)) return [3 /*break*/, 4];
@@ -11,15 +11,15 @@ import { Booking } from "./booking";
11
11
  export declare class TplBooking extends Booking {
12
12
  private cart?;
13
13
  /**
14
- * This is the constructor of the TplBooking class.
15
- * @param {MTSEnvs} env The environment in which the app is running. Can be "DEV", "STAGING" or "PROD"
16
- * @param {string} sub_key The subscription key for using the APIs
17
- * @param {boolean} [debug=false] If true, the app will run in debug mode (meaning that will print requests and responses in the console)
18
- * @param {string} [language=Booking.Languages.EN] The language in which the app is running. Can be "it", "en", "fr", "de" or "es"
19
- * @param {string} [access_token=undefined] The access token for calling MTS APIs
20
- * @param {number} [sellerId=undefined] The id of the seller. If not set, it will return the results for all sellers
21
- * @param {number} [resellerId=undefined] The id of the reseller.
22
- */
14
+ * This is the constructor of the TplBooking class.
15
+ * @param {MTSEnvs} env The environment in which the app is running. Can be "DEV", "STAGING" or "PROD"
16
+ * @param {string} sub_key The subscription key for using the APIs
17
+ * @param {boolean} [debug=false] If true, the app will run in debug mode (meaning that will print requests and responses in the console)
18
+ * @param {string} [language=Booking.Languages.EN] The language in which the app is running. Can be "it", "en", "fr", "de" or "es"
19
+ * @param {string} [access_token=undefined] The access token for calling MTS APIs
20
+ * @param {number} [sellerId=undefined] The id of the seller. If not set, it will return the results for all sellers
21
+ * @param {number} [resellerId=undefined] The id of the reseller.
22
+ */
23
23
  constructor(env: MTSEnvs, sub_key: string, debug?: boolean, language?: string, access_token?: string, sellerId?: number, resellerId?: number);
24
24
  getStorage(): import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<{
25
25
  cartId: number | undefined;
@@ -96,9 +96,14 @@ export declare class TplBooking extends Booking {
96
96
  getTermsTypes(superAreaId: number): Promise<ErrorResponse | TermsType[]>;
97
97
  /**
98
98
  * This method fetches the list of available tariffs for the selected terms type in a given super area.
99
- * @returns An array of {@link GetTariffsResponse} if the call is successful, an {@link ErrorResponse} object otherwise.
99
+ * @param {number} superAreaId The id of the super area (as returned by the {@link getSuperAreas} method).
100
+ * @param {number | null} termsTypeId The id of the terms type (as returned by the {@link getTermsTypes} method).
101
+ * If null, tariffs from all terms types will be considered.
102
+ * @param {boolean} onlyTickets If true, only only return the tariffs that are for single tickets.
103
+ * @param {boolean} onlySubscriptions If true, only return the tariffs that are for subscriptions.
104
+ * @returns A {@link GetTariffsResponse} if the call is successful, an {@link ErrorResponse} object otherwise.
100
105
  */
101
- getTariffs(superAreaId: number, termsTypeId: number): Promise<ErrorResponse | GetTariffsResponse>;
106
+ getTariffs(superAreaId: number, termsTypeId: number | null, onlyTickets: boolean, onlySubscriptions: boolean): Promise<ErrorResponse | GetTariffsResponse>;
102
107
  /**
103
108
  * This method allows to create a TPL cart.
104
109
  * @param {Map<number, number>} tariffIdToQuantity A map that associates a tariff id (the one chosen by the user) to the number of tickets to buy for that tariff.