@qite/tide-client 1.0.62 → 1.0.65

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.
Files changed (35) hide show
  1. package/build/index.js +6366 -6364
  2. package/build/index.js.map +1 -1
  3. package/build/types/enums/service-type.d.ts +2 -0
  4. package/build/types/offer/booking-v2/request/booking-package-address.d.ts +14 -14
  5. package/build/types/offer/booking-v2/request/booking-package-book-request.d.ts +16 -16
  6. package/build/types/offer/booking-v2/request/booking-package-details-request.d.ts +14 -14
  7. package/build/types/offer/booking-v2/response/booking-package-allotment-info.d.ts +2 -0
  8. package/build/types/offer/booking-v2/response/booking-package-item.d.ts +28 -23
  9. package/build/types/offer/booking-v2/response/booking-travel-agent.d.ts +6 -6
  10. package/build/types/offer/booking-v2/response/index.d.ts +8 -8
  11. package/build/types/offer/booking-v2/shared/booking-package-availability.d.ts +7 -7
  12. package/build/types/offer/booking-v2/shared/booking-package-flight-meta-data-line.d.ts +16 -16
  13. package/build/types/offer/booking-v2/shared/booking-package-flight-meta-data.d.ts +9 -9
  14. package/build/types/offer/booking-v2/shared/booking-package-flight.d.ts +13 -13
  15. package/build/types/offer/booking-v2/shared/booking-package-room-option.d.ts +14 -14
  16. package/build/types/offer/booking-v2/shared/booking-package.d.ts +42 -42
  17. package/build/types/offer/booking-v2/shared/index.d.ts +19 -19
  18. package/build/utils/booking-v2-client.d.ts +42 -42
  19. package/package.json +56 -56
  20. package/src/types/enums/service-type.ts +2 -0
  21. package/src/types/offer/booking-v2/request/booking-package-address.ts +14 -14
  22. package/src/types/offer/booking-v2/request/booking-package-book-request.ts +18 -18
  23. package/src/types/offer/booking-v2/request/booking-package-details-request.ts +15 -15
  24. package/src/types/offer/booking-v2/response/booking-package-allotment-info.ts +2 -0
  25. package/src/types/offer/booking-v2/response/booking-package-item.ts +29 -24
  26. package/src/types/offer/booking-v2/response/booking-travel-agent.ts +6 -6
  27. package/src/types/offer/booking-v2/response/index.ts +8 -8
  28. package/src/types/offer/booking-v2/shared/booking-package-availability.ts +7 -7
  29. package/src/types/offer/booking-v2/shared/booking-package-flight-meta-data-line.ts +16 -16
  30. package/src/types/offer/booking-v2/shared/booking-package-flight-meta-data.ts +10 -10
  31. package/src/types/offer/booking-v2/shared/booking-package-flight.ts +14 -14
  32. package/src/types/offer/booking-v2/shared/booking-package-room-option.ts +14 -14
  33. package/src/types/offer/booking-v2/shared/booking-package.ts +50 -50
  34. package/src/types/offer/booking-v2/shared/index.ts +19 -19
  35. package/src/utils/booking-v2-client.ts +93 -93
@@ -1,14 +1,14 @@
1
- export interface BookingPackageAddress {
2
- name: string;
3
- street: string;
4
- number: string;
5
- box?: string;
6
- postalCode: string;
7
- location: string;
8
- country: string;
9
- mobilePhone?: string;
10
- phone?: string;
11
- email: string;
12
- vatNumber?: string;
13
- customerType?: number;
14
- }
1
+ export interface BookingPackageAddress {
2
+ name: string;
3
+ street: string;
4
+ number: string;
5
+ box?: string;
6
+ postalCode: string;
7
+ location: string;
8
+ country: string;
9
+ mobilePhone?: string;
10
+ phone?: string;
11
+ email: string;
12
+ vatNumber?: string;
13
+ customerType?: number;
14
+ }
@@ -1,18 +1,18 @@
1
- import { BookingPackage } from "../shared";
2
- import { BookingPackagePax } from "../shared/booking-package-pax";
3
- import { BookingPackageAddress } from "./booking-package-address";
4
-
5
- export interface BookingPackageBookRequest {
6
- saleType?: number;
7
- status: number;
8
- customStatusId?: number;
9
- package: BookingPackage;
10
- returnPaymentUrl?: boolean;
11
- redirectUrl?: string;
12
- calculateDeposit?: boolean;
13
- tagIds?: number[];
14
-
15
- address?: BookingPackageAddress;
16
- pax: BookingPackagePax[];
17
- nonTravelPax: BookingPackagePax[];
18
- }
1
+ import { BookingPackage } from "../shared";
2
+ import { BookingPackagePax } from "../shared/booking-package-pax";
3
+ import { BookingPackageAddress } from "./booking-package-address";
4
+
5
+ export interface BookingPackageBookRequest {
6
+ saleType?: number;
7
+ status: number;
8
+ customStatusId?: number;
9
+ package: BookingPackage;
10
+ returnPaymentUrl?: boolean;
11
+ redirectUrl?: string;
12
+ calculateDeposit?: boolean;
13
+ tagIds?: number[];
14
+
15
+ address?: BookingPackageAddress;
16
+ pax: BookingPackagePax[];
17
+ nonTravelPax: BookingPackagePax[];
18
+ }
@@ -1,15 +1,15 @@
1
- import { BookingPackageRequestRoom } from "../shared/booking-package-request-room";
2
-
3
- export interface BookingPackageDetailsRequest {
4
- catalogueId?: number;
5
- rooms: BookingPackageRequestRoom[];
6
- searchType: number;
7
- productCode: string;
8
- allotmentName?: string;
9
- tourCode?: string;
10
- fromDate: string;
11
- toDate: string;
12
- preNights?: number;
13
- postNights?: number;
14
- includeFlights?: boolean;
15
- }
1
+ import { BookingPackageRequestRoom } from "../shared/booking-package-request-room";
2
+
3
+ export interface BookingPackageDetailsRequest {
4
+ catalogueId?: number;
5
+ rooms: BookingPackageRequestRoom[];
6
+ searchType: number;
7
+ productCode: string;
8
+ allotmentName?: string;
9
+ tourCode?: string;
10
+ fromDate: string;
11
+ toDate: string;
12
+ preNights?: number;
13
+ postNights?: number;
14
+ includeFlights?: boolean;
15
+ }
@@ -1,7 +1,9 @@
1
1
  export interface BookingPackageAllotmentInfo {
2
2
  name: string;
3
3
  tourCode: string;
4
+ startDate: string;
4
5
  startTime: string;
6
+ endDate: string;
5
7
  endTime: string;
6
8
  totalPlaces: number;
7
9
  bookedPlaces: number;
@@ -1,24 +1,29 @@
1
- import { BookingPackageAllotmentInfo } from "./booking-package-allotment-info";
2
-
3
- export interface BookingPackageItem {
4
- accommodationCode: string;
5
- airportCode?: string;
6
- allotment: BookingPackageAllotmentInfo;
7
- averagePricePerPerson: number;
8
- catalogueId: number;
9
- code: string;
10
- fromDate: string;
11
- latitude: number;
12
- longitude: number;
13
- name: string;
14
- outwardFlightCode?: string;
15
- outwardFlightNumbers?: string[];
16
- price: number;
17
- regimeCode?: string;
18
- returnFlightCode?: string;
19
- returnFlightNumbers?: string[];
20
- tagIds: number[];
21
- toDate: string;
22
- type: number;
23
- includedServiceTypes: number[];
24
- }
1
+ import { BookingPackageAllotmentInfo } from "./booking-package-allotment-info";
2
+
3
+ export interface BookingPackageItem {
4
+ accommodationCode: string;
5
+ accommodationName?: string;
6
+ airportCode?: string;
7
+ allotment: BookingPackageAllotmentInfo;
8
+ averagePricePerPerson: number;
9
+ catalogueId: number;
10
+ code: string;
11
+ fromDate: string;
12
+ latitude: number;
13
+ longitude: number;
14
+ name: string;
15
+ outwardFlightCode?: string;
16
+ outwardFlightNumbers?: string[];
17
+ price: number;
18
+ regimeCode?: string;
19
+ returnFlightCode?: string;
20
+ returnFlightNumbers?: string[];
21
+ flightDescription?: string;
22
+ tagIds: number[];
23
+ toDate: string;
24
+ type: number;
25
+ includedServiceTypes: number[];
26
+ hotelStars?: string;
27
+ countyName?: string;
28
+ locationName?: string;
29
+ }
@@ -1,6 +1,6 @@
1
- export interface BookingTravelAgent {
2
- id: number;
3
- name: string;
4
- location: string;
5
- postalCode: string;
6
- }
1
+ export interface BookingTravelAgent {
2
+ id: number;
3
+ name: string;
4
+ location: string;
5
+ postalCode: string;
6
+ }
@@ -1,8 +1,8 @@
1
- export * from "./booking-package-allotment-info";
2
- export * from "./booking-package-dossier";
3
- export * from "./booking-package-item";
4
- export * from "./booking-price-detail";
5
- export * from "./booking-price-details";
6
- export * from "./booking-price-per-pax";
7
- export * from "./booking-travel-agent";
8
- export * from "./changed-line";
1
+ export * from "./booking-package-allotment-info";
2
+ export * from "./booking-package-dossier";
3
+ export * from "./booking-package-item";
4
+ export * from "./booking-price-detail";
5
+ export * from "./booking-price-details";
6
+ export * from "./booking-price-per-pax";
7
+ export * from "./booking-travel-agent";
8
+ export * from "./changed-line";
@@ -1,7 +1,7 @@
1
- export interface BookingPackageAvailability {
2
- code: string;
3
- count: number;
4
- fromDate: string;
5
- toDate: string;
6
- tourCode: string;
7
- }
1
+ export interface BookingPackageAvailability {
2
+ code: string;
3
+ count: number;
4
+ fromDate: string;
5
+ toDate: string;
6
+ tourCode: string;
7
+ }
@@ -1,16 +1,16 @@
1
- export interface BookingPackageFlightMetaDataLine {
2
- number: string;
3
- departureDate: Date;
4
- departureAirport: string;
5
- departureAirportDescription: string;
6
- departureTime: string;
7
- arrivalDate: Date;
8
- arrivalAirport: string;
9
- arrivalAirportDescription: string;
10
- arrivalTime: string;
11
- flightClass: string;
12
- travelClass: string;
13
- airline: string;
14
- operatingAirlineCode: string;
15
- operatingAirlineDescription: string;
16
- }
1
+ export interface BookingPackageFlightMetaDataLine {
2
+ number: string;
3
+ departureDate: Date;
4
+ departureAirport: string;
5
+ departureAirportDescription: string;
6
+ departureTime: string;
7
+ arrivalDate: Date;
8
+ arrivalAirport: string;
9
+ arrivalAirportDescription: string;
10
+ arrivalTime: string;
11
+ flightClass: string;
12
+ travelClass: string;
13
+ airline: string;
14
+ operatingAirlineCode: string;
15
+ operatingAirlineDescription: string;
16
+ }
@@ -1,10 +1,10 @@
1
- import { BookingPackageFlightMetaDataLine } from "./booking-package-flight-meta-data-line";
2
-
3
- export interface BookingPackageFlightMetaData {
4
- flightLines: BookingPackageFlightMetaDataLine[];
5
- luggageIncluded: boolean;
6
- bagageAllowed: boolean;
7
- bagage: string;
8
- mealIncluded: boolean;
9
- meal: string;
10
- }
1
+ import { BookingPackageFlightMetaDataLine } from "./booking-package-flight-meta-data-line";
2
+
3
+ export interface BookingPackageFlightMetaData {
4
+ flightLines: BookingPackageFlightMetaDataLine[];
5
+ luggageIncluded: boolean;
6
+ bagageAllowed: boolean;
7
+ bagage: string;
8
+ mealIncluded: boolean;
9
+ meal: string;
10
+ }
@@ -1,14 +1,14 @@
1
- import { BookingPackageFlightMetaData } from "./booking-package-flight-meta-data";
2
-
3
- export interface BookingPackageFlight {
4
- code: string;
5
- tag: string;
6
- class: string;
7
- startDateTime: string;
8
- endDateTime: string;
9
- price: number;
10
- isSelected: boolean;
11
- externalGuid?: string;
12
- entryLineGuid: string;
13
- flightMetaData: BookingPackageFlightMetaData;
14
- }
1
+ import { BookingPackageFlightMetaData } from "./booking-package-flight-meta-data";
2
+
3
+ export interface BookingPackageFlight {
4
+ code: string;
5
+ tag: string;
6
+ class: string;
7
+ startDateTime: string;
8
+ endDateTime: string;
9
+ price: number;
10
+ isSelected: boolean;
11
+ externalGuid?: string;
12
+ entryLineGuid: string;
13
+ flightMetaData: BookingPackageFlightMetaData;
14
+ }
@@ -1,14 +1,14 @@
1
- export interface BookingPackageRoomOption {
2
- entryLineGuid: string;
3
- productCode: string;
4
- accommodationCode: string;
5
- externalAccommodationCode: string;
6
- accommodationName: string;
7
- regimeCode: string;
8
- regimeName: string;
9
- price: number;
10
- isSelected: boolean;
11
- from: string;
12
- to: string;
13
- tourCode: string;
14
- }
1
+ export interface BookingPackageRoomOption {
2
+ entryLineGuid: string;
3
+ productCode: string;
4
+ accommodationCode: string;
5
+ externalAccommodationCode: string;
6
+ accommodationName: string;
7
+ regimeCode: string;
8
+ regimeName: string;
9
+ price: number;
10
+ isSelected: boolean;
11
+ from: string;
12
+ to: string;
13
+ tourCode: string;
14
+ }
@@ -1,50 +1,50 @@
1
- import { BookingOptionGroup } from "./booking-option-group";
2
- import { BookingOptionPax } from "./booking-option-pax";
3
- import { BookingOptionUnit } from "./booking-option-unit";
4
- import { BookingPackageAvailability } from "./booking-package-availability";
5
- import { BookingPackageFlight } from "./booking-package-flight";
6
- import { BookingPackageHotel } from "./booking-package-hotel";
7
- import { BookingPackageRequestRoom } from "./booking-package-request-room";
8
- import { BookingPackageRoom } from "./booking-package-room";
9
- import { PerBookingPackageOption } from "./per-booking-package-option";
10
-
11
- export interface BookingPackage {
12
- catalogueId: number;
13
- code: string;
14
- name: string;
15
- price: number;
16
- serviceType: number;
17
- tagIds: number[];
18
- includedServiceTypes: number[];
19
-
20
- countryName: string;
21
- regionName: string;
22
- oordName: string;
23
- locationName: string;
24
-
25
- unitCount: number;
26
- requestRooms: BookingPackageRequestRoom[];
27
-
28
- fromDate: string;
29
- toDate: string;
30
- startTime: string;
31
- endTime: string;
32
-
33
- outwardFlights: BookingPackageFlight[];
34
- returnFlights: BookingPackageFlight[];
35
- hotels: BookingPackageHotel[];
36
-
37
- allotmentTourCode: string;
38
- allotmentName: string;
39
- customAllotmentStatus: string;
40
- allotmentTagIds: number[];
41
-
42
- availabilities: BookingPackageAvailability[];
43
- rooms: BookingPackageRoom[];
44
- groups: BookingOptionGroup<PerBookingPackageOption>[];
45
- optionUnits: BookingOptionUnit[];
46
- optionPax: BookingOptionPax[];
47
-
48
- transactionId: string;
49
- transactionExpiration: string;
50
- }
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { BookingOptionPax } from "./booking-option-pax";
3
+ import { BookingOptionUnit } from "./booking-option-unit";
4
+ import { BookingPackageAvailability } from "./booking-package-availability";
5
+ import { BookingPackageFlight } from "./booking-package-flight";
6
+ import { BookingPackageHotel } from "./booking-package-hotel";
7
+ import { BookingPackageRequestRoom } from "./booking-package-request-room";
8
+ import { BookingPackageRoom } from "./booking-package-room";
9
+ import { PerBookingPackageOption } from "./per-booking-package-option";
10
+
11
+ export interface BookingPackage {
12
+ catalogueId: number;
13
+ code: string;
14
+ name: string;
15
+ price: number;
16
+ serviceType: number;
17
+ tagIds: number[];
18
+ includedServiceTypes: number[];
19
+
20
+ countryName: string;
21
+ regionName: string;
22
+ oordName: string;
23
+ locationName: string;
24
+
25
+ unitCount: number;
26
+ requestRooms: BookingPackageRequestRoom[];
27
+
28
+ fromDate: string;
29
+ toDate: string;
30
+ startTime: string;
31
+ endTime: string;
32
+
33
+ outwardFlights: BookingPackageFlight[];
34
+ returnFlights: BookingPackageFlight[];
35
+ hotels: BookingPackageHotel[];
36
+
37
+ allotmentTourCode: string;
38
+ allotmentName: string;
39
+ customAllotmentStatus: string;
40
+ allotmentTagIds: number[];
41
+
42
+ availabilities: BookingPackageAvailability[];
43
+ rooms: BookingPackageRoom[];
44
+ groups: BookingOptionGroup<PerBookingPackageOption>[];
45
+ optionUnits: BookingOptionUnit[];
46
+ optionPax: BookingOptionPax[];
47
+
48
+ transactionId: string;
49
+ transactionExpiration: string;
50
+ }
@@ -1,19 +1,19 @@
1
- export * from "./booking-option-group";
2
- export * from "./booking-option-pax";
3
- export * from "./booking-option-unit";
4
- export * from "./booking-package-flight-meta-data";
5
- export * from "./booking-package-flight-meta-data-line";
6
- export * from "./booking-package-flight";
7
- export * from "./booking-package-hotel-option";
8
- export * from "./booking-package-hotel-room";
9
- export * from "./booking-package-hotel";
10
- export * from "./booking-package-line";
11
- export * from "./booking-package-pax";
12
- export * from "./booking-package-request-room";
13
- export * from "./booking-package-room-option";
14
- export * from "./booking-package-room";
15
- export * from "./booking-package";
16
- export * from "./per-booking-package-option";
17
- export * from "./per-package-option";
18
- export * from "./per-pax-package-option";
19
- export * from "./per-unit-package-option";
1
+ export * from "./booking-option-group";
2
+ export * from "./booking-option-pax";
3
+ export * from "./booking-option-unit";
4
+ export * from "./booking-package-flight-meta-data";
5
+ export * from "./booking-package-flight-meta-data-line";
6
+ export * from "./booking-package-flight";
7
+ export * from "./booking-package-hotel-option";
8
+ export * from "./booking-package-hotel-room";
9
+ export * from "./booking-package-hotel";
10
+ export * from "./booking-package-line";
11
+ export * from "./booking-package-pax";
12
+ export * from "./booking-package-request-room";
13
+ export * from "./booking-package-room-option";
14
+ export * from "./booking-package-room";
15
+ export * from "./booking-package";
16
+ export * from "./per-booking-package-option";
17
+ export * from "./per-package-option";
18
+ export * from "./per-pax-package-option";
19
+ export * from "./per-unit-package-option";
@@ -1,93 +1,93 @@
1
- import { PackageSearchRequest, TideClientConfig } from "..";
2
-
3
- import {
4
- AvailablePackage,
5
- BookingPackage,
6
- BookingPackageBookRequest,
7
- BookingPackageDetailsRequest,
8
- BookingPackageDossier,
9
- BookingPackageItem,
10
- BookingPackageRequest,
11
- BookingPackageSearchRequest,
12
- BookingPriceDetails,
13
- BookingTravelAgent,
14
- } from "../types";
15
- import { get, post } from "./common-client";
16
-
17
- const ENDPOINT = "/api/web/booking/v2";
18
- const ENDPOINT_PACKAGE_SEARCH_LIST = `${ENDPOINT}/package-search-list`;
19
- const ENDPOINT_SEARCH = `${ENDPOINT}/search`;
20
- const ENDPOINT_DETAILS = `${ENDPOINT}/details`;
21
- const ENDPOINT_PRICE_DETAILS = `${ENDPOINT}/price-details`;
22
- const ENDPOINT_BOOK = `${ENDPOINT}/book`;
23
- const ENDPOINT_AGENTS = `${ENDPOINT}/agents`;
24
-
25
- export const readPackageSearchList = (
26
- config: TideClientConfig,
27
- request: PackageSearchRequest,
28
- signal?: AbortSignal
29
- ): Promise<AvailablePackage[]> => {
30
- const url = `${config.host}${ENDPOINT_PACKAGE_SEARCH_LIST}`;
31
- const apiKey = config.apiKey;
32
- const body = JSON.stringify(request);
33
-
34
- return post(url, apiKey, body, signal);
35
- };
36
-
37
- export const search = (
38
- config: TideClientConfig,
39
- request: BookingPackageRequest<BookingPackageSearchRequest>,
40
- signal?: AbortSignal
41
- ): Promise<BookingPackageItem[]> => {
42
- const url = `${config.host}${ENDPOINT_SEARCH}`;
43
- const apiKey = config.apiKey;
44
- const body = JSON.stringify(request);
45
-
46
- return post(url, apiKey, body, signal, true);
47
- };
48
-
49
- export const details = (
50
- config: TideClientConfig,
51
- request: BookingPackageRequest<BookingPackageDetailsRequest>,
52
- signal?: AbortSignal
53
- ): Promise<BookingPackage> => {
54
- const url = `${config.host}${ENDPOINT_DETAILS}`;
55
- const apiKey = config.apiKey;
56
- const body = JSON.stringify(request);
57
-
58
- return post(url, apiKey, body, signal, true);
59
- };
60
-
61
- export const priceDetails = (
62
- config: TideClientConfig,
63
- request: BookingPackageRequest<BookingPackageBookRequest>,
64
- signal?: AbortSignal
65
- ): Promise<BookingPriceDetails> => {
66
- const url = `${config.host}${ENDPOINT_PRICE_DETAILS}`;
67
- const apiKey = config.apiKey;
68
- const body = JSON.stringify(request);
69
-
70
- return post(url, apiKey, body, signal, true);
71
- };
72
-
73
- export const book = (
74
- config: TideClientConfig,
75
- request: BookingPackageRequest<BookingPackageBookRequest>,
76
- signal?: AbortSignal
77
- ): Promise<BookingPackageDossier> => {
78
- const url = `${config.host}${ENDPOINT_BOOK}`;
79
- const apiKey = config.apiKey;
80
- const body = JSON.stringify(request);
81
-
82
- return post(url, apiKey, body, signal, true);
83
- };
84
-
85
- export const agents = (
86
- config: TideClientConfig,
87
- signal?: AbortSignal
88
- ): Promise<BookingTravelAgent[]> => {
89
- const url = `${config.host}${ENDPOINT_AGENTS}`;
90
- const apiKey = config.apiKey;
91
-
92
- return get(url, apiKey, signal, true);
93
- };
1
+ import { PackageSearchRequest, TideClientConfig } from "..";
2
+
3
+ import {
4
+ AvailablePackage,
5
+ BookingPackage,
6
+ BookingPackageBookRequest,
7
+ BookingPackageDetailsRequest,
8
+ BookingPackageDossier,
9
+ BookingPackageItem,
10
+ BookingPackageRequest,
11
+ BookingPackageSearchRequest,
12
+ BookingPriceDetails,
13
+ BookingTravelAgent,
14
+ } from "../types";
15
+ import { get, post } from "./common-client";
16
+
17
+ const ENDPOINT = "/api/web/booking/v2";
18
+ const ENDPOINT_PACKAGE_SEARCH_LIST = `${ENDPOINT}/package-search-list`;
19
+ const ENDPOINT_SEARCH = `${ENDPOINT}/search`;
20
+ const ENDPOINT_DETAILS = `${ENDPOINT}/details`;
21
+ const ENDPOINT_PRICE_DETAILS = `${ENDPOINT}/price-details`;
22
+ const ENDPOINT_BOOK = `${ENDPOINT}/book`;
23
+ const ENDPOINT_AGENTS = `${ENDPOINT}/agents`;
24
+
25
+ export const readPackageSearchList = (
26
+ config: TideClientConfig,
27
+ request: PackageSearchRequest,
28
+ signal?: AbortSignal
29
+ ): Promise<AvailablePackage[]> => {
30
+ const url = `${config.host}${ENDPOINT_PACKAGE_SEARCH_LIST}`;
31
+ const apiKey = config.apiKey;
32
+ const body = JSON.stringify(request);
33
+
34
+ return post(url, apiKey, body, signal);
35
+ };
36
+
37
+ export const search = (
38
+ config: TideClientConfig,
39
+ request: BookingPackageRequest<BookingPackageSearchRequest>,
40
+ signal?: AbortSignal
41
+ ): Promise<BookingPackageItem[]> => {
42
+ const url = `${config.host}${ENDPOINT_SEARCH}`;
43
+ const apiKey = config.apiKey;
44
+ const body = JSON.stringify(request);
45
+
46
+ return post(url, apiKey, body, signal, true);
47
+ };
48
+
49
+ export const details = (
50
+ config: TideClientConfig,
51
+ request: BookingPackageRequest<BookingPackageDetailsRequest>,
52
+ signal?: AbortSignal
53
+ ): Promise<BookingPackage> => {
54
+ const url = `${config.host}${ENDPOINT_DETAILS}`;
55
+ const apiKey = config.apiKey;
56
+ const body = JSON.stringify(request);
57
+
58
+ return post(url, apiKey, body, signal, true);
59
+ };
60
+
61
+ export const priceDetails = (
62
+ config: TideClientConfig,
63
+ request: BookingPackageRequest<BookingPackageBookRequest>,
64
+ signal?: AbortSignal
65
+ ): Promise<BookingPriceDetails> => {
66
+ const url = `${config.host}${ENDPOINT_PRICE_DETAILS}`;
67
+ const apiKey = config.apiKey;
68
+ const body = JSON.stringify(request);
69
+
70
+ return post(url, apiKey, body, signal, true);
71
+ };
72
+
73
+ export const book = (
74
+ config: TideClientConfig,
75
+ request: BookingPackageRequest<BookingPackageBookRequest>,
76
+ signal?: AbortSignal
77
+ ): Promise<BookingPackageDossier> => {
78
+ const url = `${config.host}${ENDPOINT_BOOK}`;
79
+ const apiKey = config.apiKey;
80
+ const body = JSON.stringify(request);
81
+
82
+ return post(url, apiKey, body, signal, true);
83
+ };
84
+
85
+ export const agents = (
86
+ config: TideClientConfig,
87
+ signal?: AbortSignal
88
+ ): Promise<BookingTravelAgent[]> => {
89
+ const url = `${config.host}${ENDPOINT_AGENTS}`;
90
+ const apiKey = config.apiKey;
91
+
92
+ return get(url, apiKey, signal, true);
93
+ };