mts-booking-library 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
package/lib/config.d.ts CHANGED
@@ -1,4 +1,20 @@
1
+ export declare const setConfig: (env: "dev" | "stag" | "prod", sub_key: string) => {
2
+ API_ENDPOINT: string;
3
+ OCP_SUBSCRIPTION_KEY: string;
4
+ } | {
5
+ API_ENDPOINT: string;
6
+ OCP_SUBSCRIPTION_KEY: string;
7
+ } | {
8
+ API_ENDPOINT: string;
9
+ OCP_SUBSCRIPTION_KEY: string;
10
+ };
1
11
  export declare const getConfig: () => {
2
12
  API_ENDPOINT: string;
3
13
  OCP_SUBSCRIPTION_KEY: string;
14
+ } | {
15
+ API_ENDPOINT: string;
16
+ OCP_SUBSCRIPTION_KEY: string;
17
+ } | {
18
+ API_ENDPOINT: string;
19
+ OCP_SUBSCRIPTION_KEY: string;
4
20
  };
package/lib/config.js CHANGED
@@ -1,17 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getConfig = void 0;
4
- var MODE = "test";
3
+ exports.getConfig = exports.setConfig = void 0;
5
4
  var config = {
5
+ dev: {
6
+ API_ENDPOINT: "https://myticketsolutionapim.azure-api.net/api/dev",
7
+ OCP_SUBSCRIPTION_KEY: ""
8
+ },
9
+ stag: {
10
+ API_ENDPOINT: "https://myticketsolutionapim.azure-api.net/api/stag",
11
+ OCP_SUBSCRIPTION_KEY: ""
12
+ },
6
13
  prod: {
7
14
  API_ENDPOINT: "https://myticketsolutionapim.azure-api.net/api/",
8
- },
9
- test: {
10
- API_ENDPOINT: "https://myticketsolutionapim.azure-api.net/api/dev",
11
- OCP_SUBSCRIPTION_KEY: "6bfc2f70b9d643a1892ffd930a32ae3b"
15
+ OCP_SUBSCRIPTION_KEY: ""
12
16
  }
13
17
  };
18
+ var global_env = "dev";
19
+ var setConfig = function (env, sub_key) {
20
+ global_env = env;
21
+ config[global_env].OCP_SUBSCRIPTION_KEY = sub_key;
22
+ return config[global_env];
23
+ };
24
+ exports.setConfig = setConfig;
14
25
  var getConfig = function () {
15
- return config[MODE];
26
+ return config[global_env];
16
27
  };
17
28
  exports.getConfig = getConfig;
package/lib/index.d.ts CHANGED
@@ -1,37 +1,74 @@
1
- import { Cart, TourCart, TripCart } from "./types/Cart";
1
+ import { Cart, TourCart, JourneyCart } from "./types/Cart";
2
2
  import { Details } from "./types/Details";
3
- import { Tour } from "./types/Tour";
4
- import { Trip } from "./types/Trip";
5
- import { TripSearch } from "./types/TripSearch";
6
- type BookingParams = {
7
- sellerId?: number;
8
- onCartExpiration: () => void;
9
- };
10
- type StopNames = string[];
3
+ import { Tour, TourTrip } from "./types/Tours/Tour";
4
+ import { JourneySearch } from "./types/Journeys/JourneySearch";
5
+ import { Subscription } from "./types/Subscriptions/Subscrptions";
6
+ import { ValidityTypes } from "./types/Subscriptions/ValidityTypes";
7
+ import { Journey } from "./types/Journeys/Journey";
11
8
  export declare class Booking {
12
9
  readonly sellerId?: number | undefined;
13
10
  private readonly config;
14
11
  private cart?;
15
12
  private cartStatus;
16
13
  private onCartExpiration;
17
- constructor(params: BookingParams);
14
+ /**
15
+ * This is the constructor of the Booking class.
16
+ * @param {string} env The environment in which the app is running. Can be "dev", "stag" or "prod"
17
+ * @param {string} sub_key The subscription key for using the APIs
18
+ * @param {() => void} onCartExpiration A callback function that will be called when the cart expires
19
+ * @param {number} [sellerId=undefined] The id of the seller. If not set, it will return the results for all sellers
20
+ */
21
+ constructor(env: "dev" | "stag" | "prod", sub_key: string, onCartExpiration: () => void, sellerId?: number);
18
22
  getCartStatus(): Booking.CartStatus;
19
23
  getCart(): Cart | undefined;
20
24
  private fetchAndSetCart;
21
25
  private createCartTimer;
22
26
  getCartExpirationTimeInMs(): Promise<number>;
23
- getTourCities(): Promise<StopNames>;
24
- getTours(params: {
25
- cityName?: string;
26
- currency: Booking.Currencies;
27
- }): Promise<Tour[]>;
28
- getToursTrips(tourId: number, date: Date): Promise<any>;
27
+ /**
28
+ * This method returns the list of cities in which the seller offers tours.
29
+ * If the sellerId is not set or it is 0, it will return the list of cities for all sellers.
30
+ * @returns {string[]} The list of possible cities
31
+ */
32
+ getTourCities(): Promise<string[]>;
33
+ /**
34
+ * This method returns the tours sold by this seller in the given city.
35
+ * If the sellerId is not set or it is 0, it will return the tours in the given city for all sellers.
36
+ * @param {string} [cityName=undefined] The name of the selected city (as returned by {@link getTourCities})
37
+ * @param {Booking.Currencies} currency The currency in which the prices should be returned
38
+ * @returns {Tour[]} The returned tours
39
+ */
40
+ getTours(currency: Booking.Currencies, cityName?: string): Promise<Tour[]>;
41
+ /**
42
+ * 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
43
+ * and/or a specific hour for the tour.
44
+ * You should call this method only if {@link Tour.isDateOptional} or {@link Tour.isDateRequired} is true for the selected tour.
45
+ * @param {number} tourId The id of the selected tour (can be retrieved in the object {@link Tour} returned by {@link getTours})
46
+ * @param {Date} date The date on which to get the tours
47
+ * @returns {TourTrip[]} The returned information about the tour (tripId and hour)
48
+ */
49
+ getToursTrips(tourId: number, date: Date): Promise<TourTrip[]>;
29
50
  createTourCart(tourCart: TourCart): Promise<Cart>;
30
51
  fetchCart(cartId: number): Promise<Cart>;
31
- getTripsDepartures(): Promise<StopNames>;
32
- getTripsDestinations(departureStopName: string): Promise<StopNames>;
33
- getTrips(params: TripSearch): Promise<Trip[]>;
34
- createTripCart(tripCart: TripCart): Promise<Cart>;
52
+ /**
53
+ * This method returns the possible departures for all journeys (MLP) sold by this seller.
54
+ * @returns {string[]} The list of possible departures
55
+ */
56
+ getJourneysDepartures(): Promise<string[]>;
57
+ /**
58
+ * This method returns the possible destination for the journeys sold by this seller that start at the selected departure.
59
+ * @param {string} departureStopName The departure stop name (as returned by {@link getJourneysDepartures})
60
+ * @returns {string[]} The list of possible destinations
61
+ */
62
+ getJourneysDestinations(departureStopName: string): Promise<string[]>;
63
+ /**
64
+ * This method returns the journeys that match the given parameters.
65
+ * Note that it will always return the journeys for the one-way trip.
66
+ * If you want to get the journeys for the round trip, you have to call this method twice (make sure to swap departureStopName and destinationStopName)
67
+ * @param {JourneySearch} params an object of type {@link JourneySearch} containing the parameters of the search
68
+ * @returns {Journey[]} The returned journeys that match the given parameters
69
+ */
70
+ getJourneys(params: JourneySearch): Promise<Journey[]>;
71
+ createJourneyCart(tripCart: JourneyCart): Promise<Cart>;
35
72
  getBusMatrix(params: {
36
73
  tripId: number;
37
74
  departureStopId: number;
@@ -42,10 +79,40 @@ export declare class Booking {
42
79
  departureStopId: number;
43
80
  destinationStopId: number;
44
81
  }): Promise<any>;
45
- updateSeatsStatus(params: {
82
+ movePassengers(params: {
46
83
  tripId: number;
47
84
  seatsIds: number[];
48
85
  }): Promise<any>;
86
+ /**
87
+ * This method returns the possible departures for all subscriptions sold by this seller.
88
+ * @returns {string[]} The list of possible departures
89
+ */
90
+ getSubscriptionsDepartures(): Promise<string[]>;
91
+ /**
92
+ * This method returns the possible destination for the subscriptions sold by this seller that start at the selected departure.
93
+ * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
94
+ * @returns {string[]} The list of possible destinations
95
+ */
96
+ getSubscrptionsDestinations(departureStopName: string): Promise<string[]>;
97
+ /**
98
+ * This method returns the possible validity types for the subscriptions sold by this seller between the selected departure and destination.
99
+ * The validity type is the duration of the subscription (1 week, 1 month, etc.). See {@link ValidityTypes} for more details.
100
+ * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
101
+ * @param {string} destinationStopName The destination stop name (as returned by {@link getSubscriptionsDstinations})
102
+ * @returns {ValidityTypes[]} The list of possible validity types
103
+ */
104
+ getSubscrptionsValidityTypes(departureStopName: string, destinationStopName: string): Promise<ValidityTypes[]>;
105
+ /**
106
+ * This method returns the subscriptions that match the given parameters.
107
+ * Note that it will always return the subscription for the one-way trip.
108
+ * 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)
109
+ * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
110
+ * @param {string} destinationStopName The destination stop name (as returned by {@link getSubscriptionsDstinations})
111
+ * @param {string} validityType The validity type (as returned by {@link getSubscriptionsValidityTypes})
112
+ * @returns {Array<Subscription>} The subscriptions that match the given parameters
113
+ */
114
+ getSubscrptions(departureStopName: string, destinationStopName: string, validityType: string): Promise<Subscription[]>;
115
+ getSubscrptionAvailabilities(departureStopName: string, destinationStopName: string, validityType: string): Promise<Subscription[]>;
49
116
  getPassengersDetails(): Promise<any>;
50
117
  updatePassengersDetails(passengersDetails: Details): Promise<any>;
51
118
  }
@@ -58,10 +125,9 @@ export declare namespace Booking {
58
125
  enum CartStatus {
59
126
  EMPTY = "EMPTY",
60
127
  CREATION = "CREATION",
61
- SEAT = "SEATS",
62
- EXTRAS = "EXTRAS",
63
128
  PASSENGERS = "PASSENGERS",
129
+ SEATS = "SEATS",
130
+ EXTRAS = "EXTRAS",
64
131
  PAYMENT = "PAYMENT"
65
132
  }
66
133
  }
67
- export {};
package/lib/index.js CHANGED
@@ -55,11 +55,18 @@ if (typeof localStorage === "undefined" || localStorage === null) {
55
55
  global.localStorage = new LocalStorage("./scratch");
56
56
  }
57
57
  var Booking = /** @class */ (function () {
58
- function Booking(params) {
58
+ /**
59
+ * This is the constructor of the Booking class.
60
+ * @param {string} env The environment in which the app is running. Can be "dev", "stag" or "prod"
61
+ * @param {string} sub_key The subscription key for using the APIs
62
+ * @param {() => void} onCartExpiration A callback function that will be called when the cart expires
63
+ * @param {number} [sellerId=undefined] The id of the seller. If not set, it will return the results for all sellers
64
+ */
65
+ function Booking(env, sub_key, onCartExpiration, sellerId) {
59
66
  this.cartStatus = Booking.CartStatus.EMPTY;
60
- this.sellerId = params.sellerId || undefined;
61
- this.config = (0, config_1.getConfig)();
62
- this.onCartExpiration = params.onCartExpiration;
67
+ this.sellerId = sellerId || undefined;
68
+ this.config = (0, config_1.setConfig)(env, sub_key);
69
+ this.onCartExpiration = onCartExpiration;
63
70
  var cartId = localStorage.getItem("cartId");
64
71
  if (cartId) {
65
72
  this.fetchAndSetCart(parseInt(cartId));
@@ -115,7 +122,12 @@ var Booking = /** @class */ (function () {
115
122
  });
116
123
  });
117
124
  };
118
- // Tours config
125
+ // #region Tours config
126
+ /**
127
+ * This method returns the list of cities in which the seller offers tours.
128
+ * If the sellerId is not set or it is 0, it will return the list of cities for all sellers.
129
+ * @returns {string[]} The list of possible cities
130
+ */
119
131
  Booking.prototype.getTourCities = function () {
120
132
  return __awaiter(this, void 0, void 0, function () {
121
133
  var url;
@@ -125,15 +137,30 @@ var Booking = /** @class */ (function () {
125
137
  });
126
138
  });
127
139
  };
128
- Booking.prototype.getTours = function (params) {
140
+ /**
141
+ * This method returns the tours sold by this seller in the given city.
142
+ * If the sellerId is not set or it is 0, it will return the tours in the given city for all sellers.
143
+ * @param {string} [cityName=undefined] The name of the selected city (as returned by {@link getTourCities})
144
+ * @param {Booking.Currencies} currency The currency in which the prices should be returned
145
+ * @returns {Tour[]} The returned tours
146
+ */
147
+ Booking.prototype.getTours = function (currency, cityName) {
129
148
  return __awaiter(this, void 0, void 0, function () {
130
149
  var url;
131
150
  return __generator(this, function (_a) {
132
- url = "".concat(this.config.API_ENDPOINT, "/booking/tours?").concat(new URLSearchParams(__assign(__assign(__assign({}, (this.sellerId && { sellerId: this.sellerId.toString() })), (params.cityName && { cityName: params.cityName })), { currency: params.currency })));
151
+ url = "".concat(this.config.API_ENDPOINT, "/booking/tours?").concat(new URLSearchParams(__assign(__assign(__assign({}, (this.sellerId && { sellerId: this.sellerId.toString() })), (cityName && { cityName: cityName })), { currency: currency })));
133
152
  return [2 /*return*/, (0, apiCall_1.makeGet)(url)];
134
153
  });
135
154
  });
136
155
  };
156
+ /**
157
+ * 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
158
+ * and/or a specific hour for the tour.
159
+ * You should call this method only if {@link Tour.isDateOptional} or {@link Tour.isDateRequired} is true for the selected tour.
160
+ * @param {number} tourId The id of the selected tour (can be retrieved in the object {@link Tour} returned by {@link getTours})
161
+ * @param {Date} date The date on which to get the tours
162
+ * @returns {TourTrip[]} The returned information about the tour (tripId and hour)
163
+ */
137
164
  Booking.prototype.getToursTrips = function (tourId, date) {
138
165
  return __awaiter(this, void 0, void 0, function () {
139
166
  var url;
@@ -158,6 +185,7 @@ var Booking = /** @class */ (function () {
158
185
  });
159
186
  });
160
187
  };
188
+ //#endregion
161
189
  Booking.prototype.fetchCart = function (cartId) {
162
190
  return __awaiter(this, void 0, void 0, function () {
163
191
  var url;
@@ -167,8 +195,12 @@ var Booking = /** @class */ (function () {
167
195
  });
168
196
  });
169
197
  };
170
- // Trips config
171
- Booking.prototype.getTripsDepartures = function () {
198
+ //#region Journeys config
199
+ /**
200
+ * This method returns the possible departures for all journeys (MLP) sold by this seller.
201
+ * @returns {string[]} The list of possible departures
202
+ */
203
+ Booking.prototype.getJourneysDepartures = function () {
172
204
  return __awaiter(this, void 0, void 0, function () {
173
205
  var url;
174
206
  return __generator(this, function (_a) {
@@ -177,7 +209,12 @@ var Booking = /** @class */ (function () {
177
209
  });
178
210
  });
179
211
  };
180
- Booking.prototype.getTripsDestinations = function (departureStopName) {
212
+ /**
213
+ * This method returns the possible destination for the journeys sold by this seller that start at the selected departure.
214
+ * @param {string} departureStopName The departure stop name (as returned by {@link getJourneysDepartures})
215
+ * @returns {string[]} The list of possible destinations
216
+ */
217
+ Booking.prototype.getJourneysDestinations = function (departureStopName) {
181
218
  return __awaiter(this, void 0, void 0, function () {
182
219
  var url;
183
220
  return __generator(this, function (_a) {
@@ -186,16 +223,26 @@ var Booking = /** @class */ (function () {
186
223
  });
187
224
  });
188
225
  };
189
- Booking.prototype.getTrips = function (params) {
226
+ /**
227
+ * This method returns the journeys that match the given parameters.
228
+ * Note that it will always return the journeys for the one-way trip.
229
+ * If you want to get the journeys for the round trip, you have to call this method twice (make sure to swap departureStopName and destinationStopName)
230
+ * @param {JourneySearch} params an object of type {@link JourneySearch} containing the parameters of the search
231
+ * @returns {Journey[]} The returned journeys that match the given parameters
232
+ */
233
+ Booking.prototype.getJourneys = function (params) {
190
234
  return __awaiter(this, void 0, void 0, function () {
191
235
  var url;
192
236
  return __generator(this, function (_a) {
237
+ if (params.departureStopName === undefined || params.destinationStopName === undefined) {
238
+ throw Error("Fields departureStopName and destinationStopName are required");
239
+ }
193
240
  url = "".concat(this.config.API_ENDPOINT, "/booking/journeys?").concat(new URLSearchParams(__assign(__assign({}, (this.sellerId && { sellerId: this.sellerId.toString() })), { departureStopName: params.departureStopName, destinationStopName: params.destinationStopName, passengersNumber: params.passengersNumber.toString(), date: params.date.toDateString(), currency: params.currency, isRoundtrip: params.isRoundtrip.toString() })));
194
241
  return [2 /*return*/, (0, apiCall_1.makeGet)(url)];
195
242
  });
196
243
  });
197
244
  };
198
- Booking.prototype.createTripCart = function (tripCart) {
245
+ Booking.prototype.createJourneyCart = function (tripCart) {
199
246
  return __awaiter(this, void 0, void 0, function () {
200
247
  var url;
201
248
  var _this = this;
@@ -231,7 +278,7 @@ var Booking = /** @class */ (function () {
231
278
  });
232
279
  });
233
280
  };
234
- Booking.prototype.updateSeatsStatus = function (params) {
281
+ Booking.prototype.movePassengers = function (params) {
235
282
  return __awaiter(this, void 0, void 0, function () {
236
283
  var url;
237
284
  return __generator(this, function (_a) {
@@ -243,6 +290,79 @@ var Booking = /** @class */ (function () {
243
290
  });
244
291
  });
245
292
  };
293
+ //#endregion
294
+ //#region Subscriptions config
295
+ /**
296
+ * This method returns the possible departures for all subscriptions sold by this seller.
297
+ * @returns {string[]} The list of possible departures
298
+ */
299
+ Booking.prototype.getSubscriptionsDepartures = function () {
300
+ return __awaiter(this, void 0, void 0, function () {
301
+ var url;
302
+ return __generator(this, function (_a) {
303
+ url = "".concat(this.config.API_ENDPOINT, "/booking/subscriptions/departures?").concat(new URLSearchParams(__assign({}, (this.sellerId && { sellerId: this.sellerId.toString() }))));
304
+ return [2 /*return*/, (0, apiCall_1.makeGet)(url)];
305
+ });
306
+ });
307
+ };
308
+ /**
309
+ * This method returns the possible destination for the subscriptions sold by this seller that start at the selected departure.
310
+ * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
311
+ * @returns {string[]} The list of possible destinations
312
+ */
313
+ Booking.prototype.getSubscrptionsDestinations = function (departureStopName) {
314
+ return __awaiter(this, void 0, void 0, function () {
315
+ var url;
316
+ return __generator(this, function (_a) {
317
+ url = "".concat(this.config.API_ENDPOINT, "/booking/subscriptions/destinations?").concat(new URLSearchParams(__assign(__assign({}, (this.sellerId && { sellerId: this.sellerId.toString() })), { departureStopName: departureStopName })));
318
+ return [2 /*return*/, (0, apiCall_1.makeGet)(url)];
319
+ });
320
+ });
321
+ };
322
+ /**
323
+ * This method returns the possible validity types for the subscriptions sold by this seller between the selected departure and destination.
324
+ * The validity type is the duration of the subscription (1 week, 1 month, etc.). See {@link ValidityTypes} for more details.
325
+ * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
326
+ * @param {string} destinationStopName The destination stop name (as returned by {@link getSubscriptionsDstinations})
327
+ * @returns {ValidityTypes[]} The list of possible validity types
328
+ */
329
+ Booking.prototype.getSubscrptionsValidityTypes = function (departureStopName, destinationStopName) {
330
+ return __awaiter(this, void 0, void 0, function () {
331
+ var url;
332
+ return __generator(this, function (_a) {
333
+ url = "".concat(this.config.API_ENDPOINT, "/booking/subscriptions/validityTypes?").concat(new URLSearchParams(__assign(__assign({}, (this.sellerId && { sellerId: this.sellerId.toString() })), { departureStopName: departureStopName, destinationStopName: destinationStopName })));
334
+ return [2 /*return*/, (0, apiCall_1.makeGet)(url)];
335
+ });
336
+ });
337
+ };
338
+ /**
339
+ * This method returns the subscriptions that match the given parameters.
340
+ * Note that it will always return the subscription for the one-way trip.
341
+ * 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)
342
+ * @param {string} departureStopName The departure stop name (as returned by {@link getSubscriptionsDepartures})
343
+ * @param {string} destinationStopName The destination stop name (as returned by {@link getSubscriptionsDstinations})
344
+ * @param {string} validityType The validity type (as returned by {@link getSubscriptionsValidityTypes})
345
+ * @returns {Array<Subscription>} The subscriptions that match the given parameters
346
+ */
347
+ Booking.prototype.getSubscrptions = function (departureStopName, destinationStopName, validityType) {
348
+ return __awaiter(this, void 0, void 0, function () {
349
+ var url;
350
+ return __generator(this, function (_a) {
351
+ url = "".concat(this.config.API_ENDPOINT, "/booking/subscriptions/search?").concat(new URLSearchParams(__assign(__assign({}, (this.sellerId && { sellerId: this.sellerId.toString() })), { departureStopName: departureStopName, destinationStopName: destinationStopName, validityType: validityType })));
352
+ return [2 /*return*/, (0, apiCall_1.makeGet)(url)];
353
+ });
354
+ });
355
+ };
356
+ Booking.prototype.getSubscrptionAvailabilities = function (departureStopName, destinationStopName, validityType) {
357
+ return __awaiter(this, void 0, void 0, function () {
358
+ var url;
359
+ return __generator(this, function (_a) {
360
+ url = "".concat(this.config.API_ENDPOINT, "/booking/subscriptions/search?").concat(new URLSearchParams(__assign(__assign({}, (this.sellerId && { sellerId: this.sellerId.toString() })), { departureStopName: departureStopName, destinationStopName: destinationStopName, validityType: validityType })));
361
+ return [2 /*return*/, (0, apiCall_1.makeGet)(url)];
362
+ });
363
+ });
364
+ };
365
+ //#endregion
246
366
  Booking.prototype.getPassengersDetails = function () {
247
367
  return __awaiter(this, void 0, void 0, function () {
248
368
  var url;
@@ -281,10 +401,9 @@ exports.Booking = Booking;
281
401
  (function (CartStatus) {
282
402
  CartStatus["EMPTY"] = "EMPTY";
283
403
  CartStatus["CREATION"] = "CREATION";
284
- CartStatus["SEAT"] = "SEATS";
285
- CartStatus["EXTRAS"] = "EXTRAS";
286
404
  CartStatus["PASSENGERS"] = "PASSENGERS";
405
+ CartStatus["SEATS"] = "SEATS";
406
+ CartStatus["EXTRAS"] = "EXTRAS";
287
407
  CartStatus["PAYMENT"] = "PAYMENT";
288
408
  })(CartStatus = Booking.CartStatus || (Booking.CartStatus = {}));
289
- })(Booking = exports.Booking || (exports.Booking = {}));
290
- exports.Booking = Booking;
409
+ })(Booking || (exports.Booking = Booking = {}));
@@ -61,7 +61,7 @@ export type TourCart = {
61
61
  tariffsMatrix: TariffMatrix;
62
62
  };
63
63
  };
64
- export type TripCart = {
64
+ export type JourneyCart = {
65
65
  cartId?: number;
66
66
  currency: Booking.Currencies;
67
67
  outboundJourney: {
@@ -0,0 +1,8 @@
1
+ import { Info } from "./Info";
2
+ import { Stop } from "./Stop";
3
+ import { Trip } from "./Trip";
4
+ export type Journey = {
5
+ stops: Stop[];
6
+ info: Info;
7
+ trips: Trip[];
8
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import { Booking } from "..";
2
+ export type JourneySearch = {
3
+ departureStopName: string;
4
+ destinationStopName: string;
5
+ passengersNumber: number;
6
+ date: Date;
7
+ currency: Booking.Currencies;
8
+ isRoundtrip: boolean;
9
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,8 @@
1
+ import { Stop } from "./Stop";
2
+ import { Info } from "../Info";
3
+ import { Trip } from "./Trip";
4
+ export type Journey = {
5
+ stops: Stop[];
6
+ info: Info;
7
+ trips: Trip[];
8
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ import { Booking } from "../..";
2
+ export type JourneySearch = {
3
+ departureStopName: string | undefined;
4
+ destinationStopName: string | undefined;
5
+ passengersNumber: number;
6
+ date: Date;
7
+ currency: Booking.Currencies;
8
+ isRoundtrip: boolean;
9
+ };
10
+ export declare const DefaultJourneySearch: JourneySearch;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultJourneySearch = void 0;
4
+ var __1 = require("../..");
5
+ exports.DefaultJourneySearch = {
6
+ departureStopName: "",
7
+ destinationStopName: "",
8
+ passengersNumber: 1,
9
+ date: new Date(Date.UTC(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 1)),
10
+ currency: __1.Booking.Currencies.EUR,
11
+ isRoundtrip: false,
12
+ };
@@ -0,0 +1,7 @@
1
+ export type Stop = {
2
+ id: number;
3
+ departureTime: Date;
4
+ destinationTime: Date;
5
+ name: string;
6
+ address: string;
7
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import { TariffMatrix, TariffType, TermsType } from "../TermsAndTariffs";
2
+ export type Trip = {
3
+ id: number;
4
+ departureStopName: string;
5
+ destinationStopName: string;
6
+ tariffsMatrix: TariffMatrix;
7
+ tariffTypes: TariffType[];
8
+ termsTypes: TermsType[];
9
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,12 @@
1
+ export type Subscription = {
2
+ departurePhysicalAgencyStopId: number;
3
+ departureStopName: string;
4
+ destinationPhysicalAgencyStopId: number;
5
+ destinationStopName: string;
6
+ departureTime: string;
7
+ destinationTime: string;
8
+ lineName: string;
9
+ routeId: number;
10
+ routeName: string;
11
+ sellerId: number;
12
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ export declare enum ValidityTypes {
2
+ WORKING_WEEK = "WORKING_WEEK",
3
+ WEEKLY = "WEEKLY",
4
+ MONTHLY = "MONTHLY",
5
+ YEARLY = "YEARLY"
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidityTypes = void 0;
4
+ var ValidityTypes;
5
+ (function (ValidityTypes) {
6
+ ValidityTypes["WORKING_WEEK"] = "WORKING_WEEK";
7
+ ValidityTypes["WEEKLY"] = "WEEKLY";
8
+ ValidityTypes["MONTHLY"] = "MONTHLY";
9
+ ValidityTypes["YEARLY"] = "YEARLY";
10
+ })(ValidityTypes || (exports.ValidityTypes = ValidityTypes = {}));
@@ -10,6 +10,7 @@ export type Tour = {
10
10
  termsTypes: TermsType[];
11
11
  isDateOptional: boolean;
12
12
  isDateRequired: boolean;
13
+ isTripMandatory: boolean;
13
14
  };
14
15
  export type TourTrip = {
15
16
  tripId: number;
@@ -0,0 +1,18 @@
1
+ import { Info } from "../Info";
2
+ import { Line } from "../Line";
3
+ import { TariffMatrix, TariffType, TermsType } from "../TermsAndTariffs";
4
+ export type Tour = {
5
+ id: number;
6
+ line: Line;
7
+ info: Info;
8
+ tariffsMatrix: TariffMatrix;
9
+ tariffTypes: TariffType[];
10
+ termsTypes: TermsType[];
11
+ isDateOptional: boolean;
12
+ isDateRequired: boolean;
13
+ isTripMandatory: boolean;
14
+ };
15
+ export type TourTrip = {
16
+ tripId: number;
17
+ hour: Date;
18
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,15 +1,9 @@
1
- import { Info } from "./Info";
2
- import { Stop } from "./Stop";
3
1
  import { TariffMatrix, TariffType, TermsType } from "./TermsAndTariffs";
4
2
  export type Trip = {
5
- stops: Stop[];
6
- info: Info;
7
- trips: {
8
- id: number;
9
- departureStopName: string;
10
- destinationStopName: string;
11
- tariffsMatrix: TariffMatrix;
12
- tariffTypes: TariffType[];
13
- termsTypes: TermsType[];
14
- }[];
3
+ id: number;
4
+ departureStopName: string;
5
+ destinationStopName: string;
6
+ tariffsMatrix: TariffMatrix;
7
+ tariffTypes: TariffType[];
8
+ termsTypes: TermsType[];
15
9
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mts-booking-library",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Library for use MyTicketSolution Booking API",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -14,10 +14,10 @@
14
14
  },
15
15
  "license": "ISC",
16
16
  "devDependencies": {
17
- "@types/jest": "^29.5.1",
18
- "jest": "^29.5.0",
19
- "ts-jest": "^29.1.0",
20
- "typescript": "^5.0.4"
17
+ "@types/jest": "^29.5.4",
18
+ "jest": "^29.7.0",
19
+ "ts-jest": "^29.1.1",
20
+ "typescript": "^5.2.2"
21
21
  },
22
22
  "files": [
23
23
  "lib/**/*"
@@ -28,7 +28,7 @@
28
28
  ],
29
29
  "author": "M",
30
30
  "dependencies": {
31
- "axios": "^1.4.0",
32
- "node-localstorage": "^2.2.1"
31
+ "axios": "^1.5.0",
32
+ "node-localstorage": "^3.0.5"
33
33
  }
34
34
  }