@qite/tide-client 1.0.13 → 1.0.16

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 (189) hide show
  1. package/build/index.d.ts +10 -48
  2. package/build/index.js +441 -513
  3. package/build/index.js.map +1 -1
  4. package/build/types/aapi/accommodation-occupancy.d.ts +9 -9
  5. package/build/types/aapi/accommodation-with-available-places.d.ts +14 -14
  6. package/build/types/aapi/accommodation.d.ts +7 -7
  7. package/build/types/aapi/additional-services.d.ts +6 -6
  8. package/build/types/aapi/alternative-flight-data.d.ts +10 -10
  9. package/build/types/aapi/alternative-flight-leg.d.ts +18 -18
  10. package/build/types/aapi/alternative-flight.d.ts +12 -12
  11. package/build/types/aapi/availability-request.d.ts +12 -12
  12. package/build/types/aapi/availability.d.ts +5 -5
  13. package/build/types/aapi/available-products-request.d.ts +32 -32
  14. package/build/types/aapi/duration.d.ts +4 -4
  15. package/build/types/aapi/flight-leg.d.ts +18 -18
  16. package/build/types/aapi/flight.d.ts +23 -23
  17. package/build/types/aapi/hotel.d.ts +35 -35
  18. package/build/types/aapi/index.d.ts +22 -22
  19. package/build/types/aapi/mollie-payment-request.d.ts +6 -6
  20. package/build/types/aapi/mollie-payment.d.ts +3 -3
  21. package/build/types/aapi/option-pax.d.ts +4 -4
  22. package/build/types/aapi/option.d.ts +21 -28
  23. package/build/types/aapi/pax.d.ts +4 -4
  24. package/build/types/aapi/price-detail.d.ts +8 -8
  25. package/build/types/aapi/regime.d.ts +5 -5
  26. package/build/types/aapi/traveler-grouping.d.ts +5 -5
  27. package/build/types/enums/allotment-type.d.ts +5 -5
  28. package/build/types/enums/availability-search-type.d.ts +4 -4
  29. package/build/types/enums/dossier-type.d.ts +6 -6
  30. package/build/types/enums/entry-line-flag.d.ts +6 -6
  31. package/build/types/enums/entry-line-status.d.ts +19 -19
  32. package/build/types/enums/entry-status.d.ts +8 -8
  33. package/build/types/enums/export-status.d.ts +5 -5
  34. package/build/types/enums/gender.d.ts +5 -5
  35. package/build/types/enums/index.d.ts +15 -15
  36. package/build/types/enums/meta-data-type.d.ts +10 -10
  37. package/build/types/enums/payment-type.d.ts +6 -6
  38. package/build/types/enums/price-chart-type.d.ts +4 -4
  39. package/build/types/enums/requirement-type.d.ts +5 -5
  40. package/build/types/enums/room-type.d.ts +8 -8
  41. package/build/types/enums/sale-type.d.ts +4 -4
  42. package/build/types/enums/service-type.d.ts +26 -26
  43. package/build/types/index.d.ts +4 -26
  44. package/build/types/offer/additional-services.d.ts +6 -6
  45. package/build/types/offer/address.d.ts +11 -11
  46. package/build/types/offer/alternative-flight-data.d.ts +10 -10
  47. package/build/types/offer/alternative-flight-leg.d.ts +18 -18
  48. package/build/types/offer/alternative-flight.d.ts +14 -14
  49. package/build/types/offer/available-package-accommodation.d.ts +7 -7
  50. package/build/types/offer/available-package-flight.d.ts +9 -9
  51. package/build/types/offer/available-package-option.d.ts +12 -17
  52. package/build/types/offer/available-package-pax-price.d.ts +6 -6
  53. package/build/types/offer/available-package-regime.d.ts +4 -4
  54. package/build/types/offer/available-package.d.ts +7 -7
  55. package/build/types/offer/base-price.d.ts +6 -6
  56. package/build/types/offer/base-prices-from-date-request.d.ts +12 -12
  57. package/build/types/offer/base-prices-request.d.ts +12 -12
  58. package/build/types/offer/book-request.d.ts +36 -36
  59. package/build/types/offer/booking-response.d.ts +4 -4
  60. package/build/types/offer/booking-v2/index.d.ts +3 -0
  61. package/build/types/offer/booking-v2/request/booking-package-address.d.ts +13 -0
  62. package/build/types/offer/booking-v2/request/booking-package-book-request.d.ts +12 -0
  63. package/build/types/offer/booking-v2/request/booking-package-details-request.d.ts +12 -0
  64. package/build/types/offer/booking-v2/request/booking-package-request.d.ts +5 -0
  65. package/build/types/offer/booking-v2/request/booking-package-search-request.d.ts +20 -0
  66. package/build/types/offer/booking-v2/request/index.d.ts +5 -0
  67. package/build/types/offer/booking-v2/response/booking-package-allotment-info.d.ts +13 -0
  68. package/build/types/offer/booking-v2/response/booking-package-dossier.d.ts +5 -0
  69. package/build/types/offer/booking-v2/response/booking-package-item.d.ts +11 -0
  70. package/build/types/offer/booking-v2/response/booking-price-detail.d.ts +13 -0
  71. package/build/types/offer/booking-v2/response/booking-price-details.d.ts +6 -0
  72. package/build/types/offer/booking-v2/response/booking-price-per-pax.d.ts +4 -0
  73. package/build/types/offer/booking-v2/response/changed-line.d.ts +4 -0
  74. package/build/types/offer/booking-v2/response/index.d.ts +7 -0
  75. package/build/types/offer/booking-v2/shared/booking-option-group.d.ts +5 -0
  76. package/build/types/offer/booking-v2/shared/booking-option-pax.d.ts +7 -0
  77. package/build/types/offer/booking-v2/shared/booking-option-unit.d.ts +6 -0
  78. package/build/types/offer/booking-v2/shared/booking-package-flight.d.ts +11 -0
  79. package/build/types/offer/booking-v2/shared/booking-package-hotel-option.d.ts +7 -0
  80. package/build/types/offer/booking-v2/shared/booking-package-hotel-room.d.ts +5 -0
  81. package/build/types/offer/booking-v2/shared/booking-package-hotel.d.ts +10 -0
  82. package/build/types/offer/booking-v2/shared/booking-package-line.d.ts +7 -0
  83. package/build/types/offer/booking-v2/shared/booking-package-pax.d.ts +16 -0
  84. package/build/types/offer/booking-v2/shared/booking-package-request-room.d.ts +5 -0
  85. package/build/types/offer/booking-v2/shared/booking-package-room-option.d.ts +7 -0
  86. package/build/types/offer/booking-v2/shared/booking-package-room.d.ts +5 -0
  87. package/build/types/offer/booking-v2/shared/booking-package.d.ts +27 -0
  88. package/build/types/offer/booking-v2/shared/index.d.ts +17 -0
  89. package/build/types/offer/booking-v2/shared/per-booking-package-option.d.ts +9 -0
  90. package/build/types/offer/booking-v2/shared/per-package-option.d.ts +8 -0
  91. package/build/types/offer/booking-v2/shared/per-pax-package-option.d.ts +5 -0
  92. package/build/types/offer/booking-v2/shared/per-unit-package-option.d.ts +7 -0
  93. package/build/types/offer/cached-package-search-result.d.ts +5 -5
  94. package/build/types/offer/confirmed-dossier-check.d.ts +6 -6
  95. package/build/types/offer/crm-contact-request.d.ts +28 -36
  96. package/build/types/offer/customer-request.d.ts +5 -5
  97. package/build/types/offer/dossier-default-product.d.ts +14 -14
  98. package/build/types/offer/entry-check-response.d.ts +8 -8
  99. package/build/types/offer/entry-line-meta-data.d.ts +5 -5
  100. package/build/types/offer/entry-line-pax.d.ts +8 -8
  101. package/build/types/offer/entry-line.d.ts +67 -73
  102. package/build/types/offer/entry-price-line.d.ts +40 -40
  103. package/build/types/offer/entry-room2.d.ts +5 -5
  104. package/build/types/offer/entry.d.ts +49 -59
  105. package/build/types/offer/flight-meta-data-line.d.ts +16 -0
  106. package/build/types/offer/flight-meta-data.d.ts +10 -0
  107. package/build/types/offer/flight-pool.d.ts +5 -5
  108. package/build/types/offer/index.d.ts +65 -62
  109. package/build/types/offer/language.d.ts +5 -5
  110. package/build/types/offer/multiroom-book-request.d.ts +10 -10
  111. package/build/types/offer/note.d.ts +16 -16
  112. package/build/types/offer/other-product.d.ts +13 -13
  113. package/build/types/offer/package-book-request-room.d.ts +5 -5
  114. package/build/types/offer/package-book-request.d.ts +12 -12
  115. package/build/types/offer/package-flight.d.ts +13 -13
  116. package/build/types/offer/package-flights.d.ts +5 -5
  117. package/build/types/offer/package-option.d.ts +22 -22
  118. package/build/types/offer/package-price-details-request-room.d.ts +4 -4
  119. package/build/types/offer/package-price-details-request.d.ts +8 -8
  120. package/build/types/offer/package-room-option.d.ts +10 -10
  121. package/build/types/offer/package-room.d.ts +7 -7
  122. package/build/types/offer/package-search-destination.d.ts +9 -9
  123. package/build/types/offer/package-search-request-date.d.ts +4 -4
  124. package/build/types/offer/package-search-request-room.d.ts +5 -5
  125. package/build/types/offer/package-search-request.d.ts +18 -22
  126. package/build/types/offer/package-search-result.d.ts +12 -12
  127. package/build/types/offer/package-sub-option.d.ts +6 -6
  128. package/build/types/offer/pax.d.ts +29 -29
  129. package/build/types/offer/payment.d.ts +20 -20
  130. package/build/types/offer/person-country-preference.d.ts +7 -7
  131. package/build/types/offer/person-location-preference.d.ts +7 -7
  132. package/build/types/offer/person-oord-preference.d.ts +7 -7
  133. package/build/types/offer/person-period-date-range-preference.d.ts +6 -6
  134. package/build/types/offer/person-period-preference.d.ts +7 -7
  135. package/build/types/offer/person-region-preference.d.ts +7 -7
  136. package/build/types/offer/person-tour-group-preference.d.ts +7 -7
  137. package/build/types/offer/price-detail.d.ts +18 -18
  138. package/build/types/offer/price-per-pax.d.ts +6 -6
  139. package/build/types/offer/product-notification-result.d.ts +9 -9
  140. package/build/types/offer/web-contact-form-request.d.ts +13 -13
  141. package/build/types/offer/web-contact-has-tag-request.d.ts +4 -4
  142. package/build/types/tide-client-config.d.ts +4 -4
  143. package/build/utils/api.d.ts +1 -6
  144. package/build/utils/booking-client.d.ts +102 -169
  145. package/build/utils/booking-v2-client.d.ts +7 -7
  146. package/build/utils/common-client.d.ts +1 -6
  147. package/build/utils/json.d.ts +2 -2
  148. package/build/utils/mollie-client.d.ts +7 -15
  149. package/build/utils/web-client.d.ts +10 -14
  150. package/build/utils/web-contact-client.d.ts +11 -23
  151. package/package.json +1 -1
  152. package/src/index.ts +3 -0
  153. package/src/types/offer/booking-v2/index.ts +3 -0
  154. package/src/types/offer/booking-v2/request/booking-package-address.ts +13 -0
  155. package/src/types/offer/booking-v2/request/booking-package-book-request.ts +14 -0
  156. package/src/types/offer/booking-v2/request/booking-package-details-request.ts +13 -0
  157. package/src/types/offer/booking-v2/request/booking-package-request.ts +5 -0
  158. package/src/types/offer/booking-v2/request/booking-package-search-request.ts +23 -0
  159. package/src/types/offer/booking-v2/request/index.ts +5 -0
  160. package/src/types/offer/booking-v2/response/booking-package-allotment-info.ts +13 -0
  161. package/src/types/offer/booking-v2/response/booking-package-dossier.ts +5 -0
  162. package/src/types/offer/booking-v2/response/booking-package-item.ts +13 -0
  163. package/src/types/offer/booking-v2/response/booking-price-detail.ts +15 -0
  164. package/src/types/offer/booking-v2/response/booking-price-details.ts +7 -0
  165. package/src/types/offer/booking-v2/response/booking-price-per-pax.ts +4 -0
  166. package/src/types/offer/booking-v2/response/changed-line.ts +4 -0
  167. package/src/types/offer/booking-v2/response/index.ts +7 -0
  168. package/src/types/offer/booking-v2/shared/booking-option-group.ts +5 -0
  169. package/src/types/offer/booking-v2/shared/booking-option-pax.ts +8 -0
  170. package/src/types/offer/booking-v2/shared/booking-option-unit.ts +7 -0
  171. package/src/types/offer/booking-v2/shared/booking-package-flight.ts +11 -0
  172. package/src/types/offer/booking-v2/shared/booking-package-hotel-option.ts +7 -0
  173. package/src/types/offer/booking-v2/shared/booking-package-hotel-room.ts +6 -0
  174. package/src/types/offer/booking-v2/shared/booking-package-hotel.ts +13 -0
  175. package/src/types/offer/booking-v2/shared/booking-package-line.ts +7 -0
  176. package/src/types/offer/booking-v2/shared/booking-package-pax.ts +18 -0
  177. package/src/types/offer/booking-v2/shared/booking-package-request-room.ts +6 -0
  178. package/src/types/offer/booking-v2/shared/booking-package-room-option.ts +7 -0
  179. package/src/types/offer/booking-v2/shared/booking-package-room.ts +6 -0
  180. package/src/types/offer/booking-v2/shared/booking-package.ts +33 -0
  181. package/src/types/offer/booking-v2/shared/index.ts +17 -0
  182. package/src/types/offer/booking-v2/shared/per-booking-package-option.ts +10 -0
  183. package/src/types/offer/booking-v2/shared/per-package-option.ts +9 -0
  184. package/src/types/offer/booking-v2/shared/per-pax-package-option.ts +6 -0
  185. package/src/types/offer/booking-v2/shared/per-unit-package-option.ts +8 -0
  186. package/src/types/offer/flight-meta-data-line.ts +16 -0
  187. package/src/types/offer/flight-meta-data.ts +11 -0
  188. package/src/types/offer/index.ts +3 -0
  189. package/src/utils/booking-v2-client.ts +63 -1
@@ -0,0 +1,3 @@
1
+ export * from "./request";
2
+ export * from "./response";
3
+ export * from "./shared";
@@ -0,0 +1,13 @@
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
+ }
@@ -0,0 +1,14 @@
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
+
11
+ adddress: BookingPackageAddress;
12
+ pax: BookingPackagePax[];
13
+ nonTravelPax: BookingPackagePax[];
14
+ }
@@ -0,0 +1,13 @@
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: Date;
11
+ toDate: Date;
12
+ includeFlights: boolean;
13
+ }
@@ -0,0 +1,5 @@
1
+ export interface BookingPackageRequest<T> {
2
+ officeId: number;
3
+ agentId?: number;
4
+ payload: T;
5
+ }
@@ -0,0 +1,23 @@
1
+ import { BookingPackageRequestRoom } from "../shared/booking-package-request-room";
2
+
3
+ export interface BookingPackageSearchRequest {
4
+ catalogueIds: number[];
5
+ rooms: BookingPackageRequestRoom[];
6
+ serviceType?: number;
7
+ searchType?: number;
8
+ productIds: number[];
9
+ productCodes: string[];
10
+ fromDate: Date;
11
+ toDate: Date;
12
+ productTagIds: number[];
13
+ includeFlights: boolean;
14
+
15
+ minPrice?: number;
16
+ maxPrice?: number;
17
+
18
+ allotmentName: string;
19
+ tourCode: string;
20
+ allotmentTagIds: number[];
21
+ includeClosedAllotments: boolean;
22
+ includeFullyBookedAllotments: boolean;
23
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./booking-package-address";
2
+ export * from "./booking-package-book-request";
3
+ export * from "./booking-package-details-request";
4
+ export * from "./booking-package-request";
5
+ export * from "./booking-package-search-request";
@@ -0,0 +1,13 @@
1
+ export interface BookingPackageAllotmentInfo {
2
+ name: string;
3
+ tourCode: string;
4
+ startTime: string;
5
+ endTime: string;
6
+ totalPlaces: number;
7
+ bookedPlaces: number;
8
+ inOptionPlaces: number;
9
+ status: number;
10
+ customStatusId?: number;
11
+ tagIds: number[];
12
+ allotmentIds: number[];
13
+ }
@@ -0,0 +1,5 @@
1
+ export interface BookingPackageDossier {
2
+ number: string;
3
+ productName: string;
4
+ allotmentName: string;
5
+ }
@@ -0,0 +1,13 @@
1
+ import { BookingPackageAllotmentInfo } from "./booking-package-allotment-info";
2
+
3
+ export interface BookingPackageItem {
4
+ code: string;
5
+ name: string;
6
+ price: number;
7
+ type: number;
8
+ fromDate: Date;
9
+ toDate: Date;
10
+ tagIds: number[];
11
+
12
+ allotment: BookingPackageAllotmentInfo;
13
+ }
@@ -0,0 +1,15 @@
1
+ import { BookingPricePerPax } from "./booking-price-per-pax";
2
+
3
+ export interface BookingPriceDetail {
4
+ productName: string;
5
+ priceDescription: string;
6
+ price: number;
7
+ amount: number;
8
+ total: number;
9
+ pricePerPax: BookingPricePerPax[];
10
+
11
+ isInpackage: boolean;
12
+ isSeparate: boolean;
13
+ showPrice: boolean;
14
+ requirementType?: number;
15
+ }
@@ -0,0 +1,7 @@
1
+ import { BookingPriceDetail } from "./booking-price-detail";
2
+ import { ChangedLine } from "./changed-line";
3
+
4
+ export interface BookingPriceDetails {
5
+ details: BookingPriceDetail[];
6
+ changedLines: ChangedLine[];
7
+ }
@@ -0,0 +1,4 @@
1
+ export interface BookingPricePerPax {
2
+ paxId: number;
3
+ price: number;
4
+ }
@@ -0,0 +1,4 @@
1
+ export interface ChangedLine {
2
+ entryLineGuid: string;
3
+ price: number;
4
+ }
@@ -0,0 +1,7 @@
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 "./changed-line";
@@ -0,0 +1,5 @@
1
+ export interface BookingOptionGroup<T> {
2
+ name: string;
3
+ title: string;
4
+ options: T[];
5
+ }
@@ -0,0 +1,8 @@
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { PerPaxPackageOption } from "./per-pax-package-option";
3
+
4
+ export interface BookingOptionPax {
5
+ id: number;
6
+ paxName: string;
7
+ groups: BookingOptionGroup<PerPaxPackageOption>[];
8
+ }
@@ -0,0 +1,7 @@
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { PerUnitPackageOption } from "./per-unit-package-option";
3
+
4
+ export interface BookingOptionUnit {
5
+ index: number;
6
+ groups: BookingOptionGroup<PerUnitPackageOption>[];
7
+ }
@@ -0,0 +1,11 @@
1
+ export interface BookingPackageFlight {
2
+ code: string;
3
+ tag: string;
4
+ class: string;
5
+ startDateTime: Date;
6
+ endDateTime: Date;
7
+ price: number;
8
+ isSelected: boolean;
9
+ externalGuid?: string;
10
+ entryLineGuid: string;
11
+ }
@@ -0,0 +1,7 @@
1
+ export interface BookingPackageHotelOption {
2
+ entryLineGuid: string;
3
+ accommodationName: string;
4
+ regimeName: string;
5
+ price: number;
6
+ isSelected: boolean;
7
+ }
@@ -0,0 +1,6 @@
1
+ import { BookingPackageHotelOption } from "./booking-package-hotel-option";
2
+
3
+ export interface BookingPackageHotelRoom {
4
+ index: number;
5
+ options: BookingPackageHotelOption[];
6
+ }
@@ -0,0 +1,13 @@
1
+ import { BookingPackageHotelRoom } from "./booking-package-hotel-room";
2
+
3
+ export interface BookingPackageHotel {
4
+ name: string;
5
+ isSelected: boolean;
6
+ cheapestPrice: number;
7
+
8
+ latitude: number;
9
+ longitude: number;
10
+
11
+ rooms: BookingPackageHotelRoom[];
12
+ combinations: string[][];
13
+ }
@@ -0,0 +1,7 @@
1
+ export interface BookingPackageLine {
2
+ entryLineGuid: string;
3
+ productName: string;
4
+ accommodationName: string;
5
+ regimeName: string;
6
+ price: number;
7
+ }
@@ -0,0 +1,18 @@
1
+ export interface BookingPackagePax {
2
+ id: number;
3
+ age?: number;
4
+ guid: string;
5
+ dateOfBirth?: Date;
6
+ firstName: string;
7
+ lastName: string;
8
+
9
+ salutationId?: number;
10
+ preferredLanguageId?: number;
11
+ gender?: number;
12
+ isMainBooker: boolean;
13
+ initials: string;
14
+
15
+ email: string;
16
+ phone: string;
17
+ mobilePhone: string;
18
+ }
@@ -0,0 +1,6 @@
1
+ import { BookingPackagePax } from "./booking-package-pax";
2
+
3
+ export interface BookingPackageRequestRoom {
4
+ index: number;
5
+ pax: BookingPackagePax[];
6
+ }
@@ -0,0 +1,7 @@
1
+ export interface BookingPackageRoomOption {
2
+ entryLineGuid: string;
3
+ accommodatioName: string;
4
+ regimeName: string;
5
+ price: number;
6
+ isSelected: boolean;
7
+ }
@@ -0,0 +1,6 @@
1
+ import { BookingPackageRoomOption } from "./booking-package-room-option";
2
+
3
+ export interface BookingPackageRoom {
4
+ index: number;
5
+ options: BookingPackageRoomOption[];
6
+ }
@@ -0,0 +1,33 @@
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { BookingOptionPax } from "./booking-option-pax";
3
+ import { BookingOptionUnit } from "./booking-option-unit";
4
+ import { BookingPackageFlight } from "./booking-package-flight";
5
+ import { BookingPackageHotel } from "./booking-package-hotel";
6
+ import { BookingPackageRequestRoom } from "./booking-package-request-room";
7
+ import { BookingPackageRoom } from "./booking-package-room";
8
+ import { PerBookingPackageOption } from "./per-booking-package-option";
9
+
10
+ export interface BookingPackage {
11
+ catalogueId: number;
12
+ code: string;
13
+ name: string;
14
+ price: number;
15
+ serviceType: number;
16
+
17
+ requestRooms: BookingPackageRequestRoom[];
18
+
19
+ fromDate: Date;
20
+ toDate: Date;
21
+
22
+ outwardFlights: BookingPackageFlight;
23
+ returnFlights: BookingPackageFlight;
24
+ hotels: BookingPackageHotel[];
25
+
26
+ allotmentTourCode: string;
27
+ allotmentName: string;
28
+
29
+ rooms: BookingPackageRoom[];
30
+ groups: BookingOptionGroup<PerBookingPackageOption>;
31
+ optionUnits: BookingOptionUnit[];
32
+ optionPax: BookingOptionPax[];
33
+ }
@@ -0,0 +1,17 @@
1
+ export * from "./booking-option-group";
2
+ export * from "./booking-option-pax";
3
+ export * from "./booking-option-unit";
4
+ export * from "./booking-package-flight";
5
+ export * from "./booking-package-hotel-option";
6
+ export * from "./booking-package-hotel-room";
7
+ export * from "./booking-package-hotel";
8
+ export * from "./booking-package-line";
9
+ export * from "./booking-package-pax";
10
+ export * from "./booking-package-request-room";
11
+ export * from "./booking-package-room-option";
12
+ export * from "./booking-package-room";
13
+ export * from "./booking-package";
14
+ export * from "./per-booking-package-option";
15
+ export * from "./per-package-option";
16
+ export * from "./per-pax-package-option";
17
+ export * from "./per-unit-package-option";
@@ -0,0 +1,10 @@
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { BookingOptionPax } from "./booking-option-pax";
3
+ import { BookingOptionUnit } from "./booking-option-unit";
4
+ import { PerPackageOption } from "./per-package-option";
5
+
6
+ export interface PerBookingPackageOption extends PerPackageOption {
7
+ groups: BookingOptionGroup<PerBookingPackageOption>;
8
+ units: BookingOptionUnit[];
9
+ pax: BookingOptionPax[];
10
+ }
@@ -0,0 +1,9 @@
1
+ import { BookingPackageLine } from "./booking-package-line";
2
+
3
+ export interface PerPackageOption {
4
+ line: BookingPackageLine;
5
+ isSelected: boolean;
6
+ isDefault: boolean;
7
+ requirementType?: number;
8
+ alternatives: BookingPackageLine[];
9
+ }
@@ -0,0 +1,6 @@
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { PerPackageOption } from "./per-package-option";
3
+
4
+ export interface PerPaxPackageOption extends PerPackageOption {
5
+ groups: BookingOptionGroup<PerPaxPackageOption>[];
6
+ }
@@ -0,0 +1,8 @@
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { BookingOptionPax } from "./booking-option-pax";
3
+ import { PerPackageOption } from "./per-package-option";
4
+
5
+ export interface PerUnitPackageOption extends PerPackageOption {
6
+ groups: BookingOptionGroup<PerUnitPackageOption>[];
7
+ pax: BookingOptionPax[];
8
+ }
@@ -0,0 +1,16 @@
1
+ export interface FlightMetaDataLine {
2
+ airline: string;
3
+ operatingAirlineCode: string;
4
+ operatingAirlineDescription: string;
5
+ number: string;
6
+ departureDate: Date;
7
+ departureAirport: string;
8
+ departureAirportDescription: string;
9
+ departureTime: string;
10
+ arrivalDate: Date;
11
+ arrivalAirport: string;
12
+ arrivalAirportDescription: string;
13
+ arrivalTime: string;
14
+ flightClass: string;
15
+ travelClass: string;
16
+ }
@@ -0,0 +1,11 @@
1
+ import { AdditionalServices, FlightMetaDataLine } from ".";
2
+
3
+ export interface FlightMetaData {
4
+ flightLines: FlightMetaDataLine[];
5
+ pnr: string;
6
+ orderId: string;
7
+ additionalServices: AdditionalServices;
8
+ isLowCost: boolean;
9
+ luggageIncluded: boolean;
10
+ validatingAirlines: string;
11
+ }
@@ -26,6 +26,8 @@ export * from "./entry-line";
26
26
  export * from "./entry-price-line";
27
27
  export * from "./entry-room2";
28
28
  export * from "./entry";
29
+ export * from "./flight-meta-data-line";
30
+ export * from "./flight-meta-data";
29
31
  export * from "./flight-pool";
30
32
  export * from "./language";
31
33
  export * from "./multiroom-book-request";
@@ -60,3 +62,4 @@ export * from "./price-per-pax";
60
62
  export * from "./product-notification-result";
61
63
  export * from "./web-contact-form-request";
62
64
  export * from "./web-contact-has-tag-request";
65
+ export * from "./booking-v2";
@@ -1,10 +1,24 @@
1
1
  import { PackageSearchRequest, TideClientConfig } from "..";
2
2
 
3
- import { AvailablePackage } from "../types";
3
+ import {
4
+ AvailablePackage,
5
+ BookingPackage,
6
+ BookingPackageBookRequest,
7
+ BookingPackageDetailsRequest,
8
+ BookingPackageDossier,
9
+ BookingPackageItem,
10
+ BookingPackageRequest,
11
+ BookingPackageSearchRequest,
12
+ BookingPriceDetails,
13
+ } from "../types";
4
14
  import { post } from "./common-client";
5
15
 
6
16
  const ENDPOINT = "/api/web/booking/v2";
7
17
  const ENDPOINT_PACKAGE_SEARCH_LIST = `${ENDPOINT}/package-search-list`;
18
+ const ENDPOINT_SEARCH = `${ENDPOINT}/search`;
19
+ const ENDPOINT_DETAILS = `${ENDPOINT}/details`;
20
+ const ENDPOINT_PRICE_DETAILS = `${ENDPOINT}/price-details`;
21
+ const ENDPOINT_BOOK = `${ENDPOINT}/book`;
8
22
 
9
23
  export const readPackageSearchList = (
10
24
  config: TideClientConfig,
@@ -17,3 +31,51 @@ export const readPackageSearchList = (
17
31
 
18
32
  return post(url, apiKey, body, signal);
19
33
  };
34
+
35
+ export const search = (
36
+ config: TideClientConfig,
37
+ request: BookingPackageRequest<BookingPackageSearchRequest>,
38
+ signal?: AbortSignal
39
+ ): Promise<BookingPackageItem[]> => {
40
+ const url = `${config.host}${ENDPOINT_SEARCH}`;
41
+ const apiKey = config.apiKey;
42
+ const body = JSON.stringify(request);
43
+
44
+ return post(url, apiKey, body, signal);
45
+ };
46
+
47
+ export const details = (
48
+ config: TideClientConfig,
49
+ request: BookingPackageRequest<BookingPackageDetailsRequest>,
50
+ signal?: AbortSignal
51
+ ): Promise<BookingPackage> => {
52
+ const url = `${config.host}${ENDPOINT_DETAILS}`;
53
+ const apiKey = config.apiKey;
54
+ const body = JSON.stringify(request);
55
+
56
+ return post(url, apiKey, body, signal);
57
+ };
58
+
59
+ export const priceDetails = (
60
+ config: TideClientConfig,
61
+ request: BookingPackageRequest<BookingPackageBookRequest>,
62
+ signal?: AbortSignal
63
+ ): Promise<BookingPriceDetails> => {
64
+ const url = `${config.host}${ENDPOINT_PRICE_DETAILS}`;
65
+ const apiKey = config.apiKey;
66
+ const body = JSON.stringify(request);
67
+
68
+ return post(url, apiKey, body, signal);
69
+ };
70
+
71
+ export const book = (
72
+ config: TideClientConfig,
73
+ request: BookingPackageRequest<BookingPackageBookRequest>,
74
+ signal?: AbortSignal
75
+ ): Promise<BookingPackageDossier> => {
76
+ const url = `${config.host}${ENDPOINT_BOOK}`;
77
+ const apiKey = config.apiKey;
78
+ const body = JSON.stringify(request);
79
+
80
+ return post(url, apiKey, body, signal);
81
+ };