@qite/tide-client 1.1.42 → 1.1.43

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 (477) hide show
  1. package/build/index.d.ts +15 -54
  2. package/build/index.js +4808 -5026
  3. package/build/index.js.map +1 -1
  4. package/build/services/odata.service.d.ts +2 -8
  5. package/build/types/aapi/accommodation-occupancy.d.ts +9 -9
  6. package/build/types/aapi/accommodation-with-available-places.d.ts +14 -14
  7. package/build/types/aapi/accommodation.d.ts +7 -7
  8. package/build/types/aapi/additional-services.d.ts +6 -6
  9. package/build/types/aapi/alternative-flight-data.d.ts +10 -10
  10. package/build/types/aapi/alternative-flight-leg.d.ts +18 -18
  11. package/build/types/aapi/alternative-flight.d.ts +12 -12
  12. package/build/types/aapi/availability-request.d.ts +12 -12
  13. package/build/types/aapi/availability.d.ts +5 -5
  14. package/build/types/aapi/available-products-request.d.ts +32 -32
  15. package/build/types/aapi/duration.d.ts +4 -4
  16. package/build/types/aapi/flight-leg.d.ts +18 -18
  17. package/build/types/aapi/flight.d.ts +23 -23
  18. package/build/types/aapi/hotel.d.ts +35 -35
  19. package/build/types/aapi/index.d.ts +22 -22
  20. package/build/types/aapi/mollie-payment-request.d.ts +6 -6
  21. package/build/types/aapi/mollie-payment.d.ts +3 -3
  22. package/build/types/aapi/option-pax.d.ts +4 -4
  23. package/build/types/aapi/option.d.ts +21 -28
  24. package/build/types/aapi/pax.d.ts +4 -4
  25. package/build/types/aapi/price-detail.d.ts +8 -8
  26. package/build/types/aapi/regime.d.ts +5 -5
  27. package/build/types/aapi/traveler-grouping.d.ts +5 -5
  28. package/build/types/accommodation-occupancy.d.ts +9 -9
  29. package/build/types/accommodation-with-available-places.d.ts +15 -15
  30. package/build/types/accommodation.d.ts +7 -7
  31. package/build/types/additional-services.d.ts +5 -5
  32. package/build/types/alternative-flight-data.d.ts +10 -10
  33. package/build/types/alternative-flight-leg.d.ts +18 -18
  34. package/build/types/alternative-flight.d.ts +12 -12
  35. package/build/types/availability-request.d.ts +11 -11
  36. package/build/types/availability.d.ts +5 -5
  37. package/build/types/available-products-request.d.ts +28 -28
  38. package/build/types/availablility-request.d.ts +11 -11
  39. package/build/types/company/agent/agent-invoice-item.d.ts +9 -9
  40. package/build/types/company/agent/entry-totals.d.ts +7 -7
  41. package/build/types/company/agent/index.d.ts +2 -2
  42. package/build/types/company/agent-print-action-request.d.ts +11 -11
  43. package/build/types/company/agent-print-action.d.ts +6 -6
  44. package/build/types/company/custom-entry-status-item.d.ts +6 -6
  45. package/build/types/company/index.d.ts +5 -5
  46. package/build/types/company/number-string-pair.d.ts +4 -4
  47. package/build/types/duration.d.ts +4 -4
  48. package/build/types/entry-line-meta-data.d.ts +5 -5
  49. package/build/types/enums/allotment-type.d.ts +5 -5
  50. package/build/types/enums/availability-search-type.d.ts +4 -4
  51. package/build/types/enums/data-type.d.ts +14 -14
  52. package/build/types/enums/dossier-type.d.ts +6 -6
  53. package/build/types/enums/entry-line-flag.d.ts +6 -6
  54. package/build/types/enums/entry-line-status.d.ts +19 -19
  55. package/build/types/enums/entry-status.d.ts +8 -8
  56. package/build/types/enums/export-status.d.ts +5 -5
  57. package/build/types/enums/gender.d.ts +5 -5
  58. package/build/types/enums/index.d.ts +17 -17
  59. package/build/types/enums/meta-data-type.d.ts +10 -10
  60. package/build/types/enums/online-payment-type.d.ts +3 -3
  61. package/build/types/enums/payment-type.d.ts +6 -6
  62. package/build/types/enums/price-chart-type.d.ts +4 -4
  63. package/build/types/enums/print-action-group.d.ts +10 -10
  64. package/build/types/enums/print-action-group.enum.d.ts +10 -10
  65. package/build/types/enums/requirement-type.d.ts +5 -5
  66. package/build/types/enums/room-type.d.ts +8 -8
  67. package/build/types/enums/sale-type.d.ts +4 -4
  68. package/build/types/enums/service-type.d.ts +28 -28
  69. package/build/types/flight-leg.d.ts +18 -18
  70. package/build/types/flight.d.ts +23 -23
  71. package/build/types/hotel.d.ts +34 -34
  72. package/build/types/index.d.ts +6 -28
  73. package/build/types/odata/column.d.ts +8 -8
  74. package/build/types/odata/filter-item.d.ts +14 -14
  75. package/build/types/odata/index.d.ts +3 -3
  76. package/build/types/odata/odata-params.d.ts +3 -3
  77. package/build/types/offer/additional-services.d.ts +6 -6
  78. package/build/types/offer/address.d.ts +11 -11
  79. package/build/types/offer/affiliate.d.ts +5 -5
  80. package/build/types/offer/affiliates.d.ts +5 -5
  81. package/build/types/offer/alternative-flight-data.d.ts +10 -10
  82. package/build/types/offer/alternative-flight-leg.d.ts +18 -18
  83. package/build/types/offer/alternative-flight.d.ts +14 -14
  84. package/build/types/offer/available-package-accommodation.d.ts +7 -7
  85. package/build/types/offer/available-package-flight.d.ts +9 -9
  86. package/build/types/offer/available-package-option.d.ts +12 -17
  87. package/build/types/offer/available-package-pax-price.d.ts +6 -6
  88. package/build/types/offer/available-package-regime.d.ts +4 -4
  89. package/build/types/offer/available-package.d.ts +7 -7
  90. package/build/types/offer/base-price.d.ts +6 -6
  91. package/build/types/offer/base-prices-from-date-request.d.ts +12 -12
  92. package/build/types/offer/base-prices-request.d.ts +12 -12
  93. package/build/types/offer/book-request.d.ts +36 -36
  94. package/build/types/offer/booking-response.d.ts +4 -4
  95. package/build/types/offer/booking-v2/index.d.ts +3 -3
  96. package/build/types/offer/booking-v2/request/bookable-dates-request.d.ts +4 -4
  97. package/build/types/offer/booking-v2/request/booking-package-address.d.ts +14 -14
  98. package/build/types/offer/booking-v2/request/booking-package-book-request.d.ts +24 -24
  99. package/build/types/offer/booking-v2/request/booking-package-customer-request.d.ts +4 -4
  100. package/build/types/offer/booking-v2/request/booking-package-destination.d.ts +9 -9
  101. package/build/types/offer/booking-v2/request/booking-package-details-request.d.ts +21 -21
  102. package/build/types/offer/booking-v2/request/booking-package-flight-pool-request.d.ts +12 -12
  103. package/build/types/offer/booking-v2/request/booking-package-request.d.ts +5 -5
  104. package/build/types/offer/booking-v2/request/booking-package-search-request.d.ts +27 -27
  105. package/build/types/offer/booking-v2/request/booking-package-update-request.d.ts +4 -4
  106. package/build/types/offer/booking-v2/request/booking-package-voucher-request.d.ts +4 -4
  107. package/build/types/offer/booking-v2/request/index.d.ts +14 -14
  108. package/build/types/offer/booking-v2/request/selected-flight.d.ts +6 -6
  109. package/build/types/offer/booking-v2/request/selected-hotel.d.ts +5 -5
  110. package/build/types/offer/booking-v2/request/tour-codes-request.d.ts +3 -3
  111. package/build/types/offer/booking-v2/request/tour-codes.request.d.ts +3 -3
  112. package/build/types/offer/booking-v2/response/bookable-dates.d.ts +4 -4
  113. package/build/types/offer/booking-v2/response/booking-package-allotment-info.d.ts +17 -17
  114. package/build/types/offer/booking-v2/response/booking-package-dossier.d.ts +6 -6
  115. package/build/types/offer/booking-v2/response/booking-package-flight-pool.d.ts +5 -5
  116. package/build/types/offer/booking-v2/response/booking-package-hotel-pool.d.ts +4 -4
  117. package/build/types/offer/booking-v2/response/booking-package-item.d.ts +39 -39
  118. package/build/types/offer/booking-v2/response/booking-price-detail.d.ts +17 -17
  119. package/build/types/offer/booking-v2/response/booking-price-details.d.ts +13 -13
  120. package/build/types/offer/booking-v2/response/booking-price-per-pax.d.ts +4 -4
  121. package/build/types/offer/booking-v2/response/booking-product-notification.d.ts +7 -7
  122. package/build/types/offer/booking-v2/response/booking-room-status-option.d.ts +5 -5
  123. package/build/types/offer/booking-v2/response/booking-room-status.d.ts +5 -5
  124. package/build/types/offer/booking-v2/response/booking-travel-agent.d.ts +7 -7
  125. package/build/types/offer/booking-v2/response/booking-validity-line.d.ts +4 -4
  126. package/build/types/offer/booking-v2/response/booking-voucher-result.d.ts +3 -3
  127. package/build/types/offer/booking-v2/response/changed-line.d.ts +4 -4
  128. package/build/types/offer/booking-v2/response/index.d.ts +16 -16
  129. package/build/types/offer/booking-v2/response/tide-response.d.ts +8 -8
  130. package/build/types/offer/booking-v2/response/tour-codes-response.d.ts +3 -3
  131. package/build/types/offer/booking-v2/shared/airline-booking-package-option.d.ts +3 -2
  132. package/build/types/offer/booking-v2/shared/airport-booking-package-option.d.ts +3 -2
  133. package/build/types/offer/booking-v2/shared/booking-airline-group.d.ts +6 -6
  134. package/build/types/offer/booking-v2/shared/booking-airport-group.d.ts +6 -6
  135. package/build/types/offer/booking-v2/shared/booking-option-group.d.ts +5 -5
  136. package/build/types/offer/booking-v2/shared/booking-option-pax.d.ts +13 -13
  137. package/build/types/offer/booking-v2/shared/booking-option-unit.d.ts +12 -12
  138. package/build/types/offer/booking-v2/shared/booking-package-availability.d.ts +8 -8
  139. package/build/types/offer/booking-v2/shared/booking-package-flight-meta-data-line.d.ts +17 -17
  140. package/build/types/offer/booking-v2/shared/booking-package-flight-meta-data.d.ts +10 -10
  141. package/build/types/offer/booking-v2/shared/booking-package-flight.d.ts +14 -14
  142. package/build/types/offer/booking-v2/shared/booking-package-hotel-option.d.ts +10 -10
  143. package/build/types/offer/booking-v2/shared/booking-package-hotel-room.d.ts +5 -5
  144. package/build/types/offer/booking-v2/shared/booking-package-hotel.d.ts +22 -22
  145. package/build/types/offer/booking-v2/shared/booking-package-line.d.ts +16 -16
  146. package/build/types/offer/booking-v2/shared/booking-package-option.d.ts +47 -47
  147. package/build/types/offer/booking-v2/shared/booking-package-pax.d.ts +17 -17
  148. package/build/types/offer/booking-v2/shared/booking-package-request-room.d.ts +5 -5
  149. package/build/types/offer/booking-v2/shared/booking-package-room-option.d.ts +17 -17
  150. package/build/types/offer/booking-v2/shared/booking-package-room.d.ts +5 -5
  151. package/build/types/offer/booking-v2/shared/booking-package-tag.d.ts +5 -5
  152. package/build/types/offer/booking-v2/shared/booking-package.d.ts +11 -11
  153. package/build/types/offer/booking-v2/shared/index.d.ts +23 -23
  154. package/build/types/offer/booking-v2/shared/per-booking-package-option.d.ts +9 -9
  155. package/build/types/offer/booking-v2/shared/per-package-option.d.ts +9 -9
  156. package/build/types/offer/booking-v2/shared/per-pax-package-option.d.ts +5 -5
  157. package/build/types/offer/booking-v2/shared/per-unit-package-option.d.ts +7 -7
  158. package/build/types/offer/cached-package-search-result.d.ts +5 -5
  159. package/build/types/offer/confirmed-dossier-check.d.ts +6 -6
  160. package/build/types/offer/country-item.d.ts +5 -5
  161. package/build/types/offer/crm-contact-request.d.ts +28 -36
  162. package/build/types/offer/customer-request.d.ts +5 -5
  163. package/build/types/offer/dossier-default-product.d.ts +14 -14
  164. package/build/types/offer/dossier-pax-item.d.ts +4 -4
  165. package/build/types/offer/dossier-view-result.d.ts +45 -45
  166. package/build/types/offer/entry-check-response.d.ts +8 -8
  167. package/build/types/offer/entry-line-meta-data.d.ts +5 -5
  168. package/build/types/offer/entry-line-pax.d.ts +8 -8
  169. package/build/types/offer/entry-line.d.ts +67 -73
  170. package/build/types/offer/entry-price-line.d.ts +40 -40
  171. package/build/types/offer/entry-room2.d.ts +5 -5
  172. package/build/types/offer/entry.d.ts +49 -59
  173. package/build/types/offer/flight-meta-data-line.d.ts +16 -16
  174. package/build/types/offer/flight-meta-data.d.ts +14 -14
  175. package/build/types/offer/flight-pool.d.ts +5 -5
  176. package/build/types/offer/index.d.ts +76 -76
  177. package/build/types/offer/item-tag.d.ts +3 -3
  178. package/build/types/offer/language.d.ts +5 -5
  179. package/build/types/offer/member-confirmation-request.d.ts +5 -5
  180. package/build/types/offer/member-forgot-password-request.d.ts +4 -4
  181. package/build/types/offer/member-info.d.ts +10 -10
  182. package/build/types/offer/member-login-request.d.ts +4 -4
  183. package/build/types/offer/member-login-response.d.ts +3 -3
  184. package/build/types/offer/member-reset-password-request.d.ts +4 -4
  185. package/build/types/offer/multiroom-book-request.d.ts +10 -10
  186. package/build/types/offer/note.d.ts +16 -16
  187. package/build/types/offer/other-product.d.ts +13 -13
  188. package/build/types/offer/package-book-request-room.d.ts +5 -5
  189. package/build/types/offer/package-book-request.d.ts +12 -12
  190. package/build/types/offer/package-flight.d.ts +13 -13
  191. package/build/types/offer/package-flights.d.ts +5 -5
  192. package/build/types/offer/package-option.d.ts +22 -22
  193. package/build/types/offer/package-price-details-request-room.d.ts +4 -4
  194. package/build/types/offer/package-price-details-request.d.ts +8 -8
  195. package/build/types/offer/package-room-option.d.ts +10 -10
  196. package/build/types/offer/package-room.d.ts +7 -7
  197. package/build/types/offer/package-search-destination.d.ts +9 -9
  198. package/build/types/offer/package-search-request-date.d.ts +4 -4
  199. package/build/types/offer/package-search-request-room.d.ts +5 -5
  200. package/build/types/offer/package-search-request.d.ts +18 -22
  201. package/build/types/offer/package-search-response.d.ts +4 -4
  202. package/build/types/offer/package-search-result.d.ts +12 -12
  203. package/build/types/offer/package-sub-option.d.ts +6 -6
  204. package/build/types/offer/page-result.d.ts +5 -5
  205. package/build/types/offer/pax.d.ts +29 -29
  206. package/build/types/offer/payment.d.ts +20 -20
  207. package/build/types/offer/person-country-preference.d.ts +7 -7
  208. package/build/types/offer/person-location-preference.d.ts +7 -7
  209. package/build/types/offer/person-oord-preference.d.ts +7 -7
  210. package/build/types/offer/person-period-date-range-preference.d.ts +6 -6
  211. package/build/types/offer/person-period-preference.d.ts +7 -7
  212. package/build/types/offer/person-region-preference.d.ts +7 -7
  213. package/build/types/offer/person-tour-group-preference.d.ts +7 -7
  214. package/build/types/offer/price-detail.d.ts +18 -18
  215. package/build/types/offer/price-per-pax.d.ts +6 -6
  216. package/build/types/offer/product-notification-result.d.ts +9 -9
  217. package/build/types/offer/web-contact-form-request.d.ts +13 -13
  218. package/build/types/offer/web-contact-has-tag-request.d.ts +4 -4
  219. package/build/types/option-pax.d.ts +4 -4
  220. package/build/types/option.d.ts +26 -26
  221. package/build/types/package-details-request.d.ts +12 -12
  222. package/build/types/package-flight.d.ts +11 -11
  223. package/build/types/package-flights.d.ts +5 -5
  224. package/build/types/package-option.d.ts +19 -19
  225. package/build/types/package-room-option.d.ts +8 -8
  226. package/build/types/package-room.d.ts +7 -7
  227. package/build/types/package-search-destination.d.ts +9 -9
  228. package/build/types/package-search-request-date.d.ts +4 -4
  229. package/build/types/package-search-request-room.d.ts +5 -5
  230. package/build/types/package-search-request.d.ts +21 -21
  231. package/build/types/package-search-response.d.ts +4 -4
  232. package/build/types/package-search-result.d.ts +12 -12
  233. package/build/types/package-sub-option.d.ts +6 -6
  234. package/build/types/pax.d.ts +4 -4
  235. package/build/types/regime.d.ts +5 -5
  236. package/build/types/tide-client-config.d.ts +5 -5
  237. package/build/types/traveler-grouping.d.ts +5 -5
  238. package/build/utils/api.d.ts +2 -14
  239. package/build/utils/booking-client.d.ts +114 -181
  240. package/build/utils/booking-v2-client.d.ts +18 -103
  241. package/build/utils/bookingClient.d.ts +9 -9
  242. package/build/utils/client.d.ts +4 -4
  243. package/build/utils/common-client.d.ts +2 -16
  244. package/build/utils/json.d.ts +2 -2
  245. package/build/utils/member-client.d.ts +7 -32
  246. package/build/utils/mollie-client.d.ts +7 -15
  247. package/build/utils/search-client.d.ts +9 -12
  248. package/build/utils/web-agent-client.d.ts +22 -64
  249. package/build/utils/web-client.d.ts +19 -26
  250. package/build/utils/web-contact-client.d.ts +11 -23
  251. package/build/utils/web-file.d.ts +10 -14
  252. package/package.json +64 -64
  253. package/rollup.config.js +20 -20
  254. package/src/index.ts +71 -71
  255. package/src/services/odata.service.ts +158 -158
  256. package/src/types/aapi/accommodation-occupancy.ts +9 -9
  257. package/src/types/aapi/accommodation-with-available-places.ts +15 -15
  258. package/src/types/aapi/accommodation.ts +8 -8
  259. package/src/types/aapi/additional-services.ts +6 -6
  260. package/src/types/aapi/alternative-flight-data.ts +11 -11
  261. package/src/types/aapi/alternative-flight-leg.ts +18 -18
  262. package/src/types/aapi/alternative-flight.ts +13 -13
  263. package/src/types/aapi/availability-request.ts +12 -12
  264. package/src/types/aapi/availability.ts +6 -6
  265. package/src/types/aapi/available-products-request.ts +33 -33
  266. package/src/types/aapi/duration.ts +4 -4
  267. package/src/types/aapi/flight-leg.ts +18 -18
  268. package/src/types/aapi/flight.ts +24 -24
  269. package/src/types/aapi/hotel.ts +36 -36
  270. package/src/types/aapi/index.ts +22 -22
  271. package/src/types/aapi/mollie-payment-request.ts +6 -6
  272. package/src/types/aapi/mollie-payment.ts +3 -3
  273. package/src/types/aapi/option-pax.ts +4 -4
  274. package/src/types/aapi/option.ts +29 -29
  275. package/src/types/aapi/pax.ts +4 -4
  276. package/src/types/aapi/price-detail.ts +8 -8
  277. package/src/types/aapi/regime.ts +5 -5
  278. package/src/types/aapi/traveler-grouping.ts +5 -5
  279. package/src/types/company/agent/agent-invoice-item.ts +9 -9
  280. package/src/types/company/agent/entry-totals.ts +7 -7
  281. package/src/types/company/agent/index.ts +2 -2
  282. package/src/types/company/agent-print-action-request.ts +11 -11
  283. package/src/types/company/agent-print-action.ts +7 -7
  284. package/src/types/company/custom-entry-status-item.ts +6 -6
  285. package/src/types/company/index.ts +5 -5
  286. package/src/types/company/number-string-pair.ts +4 -4
  287. package/src/types/enums/allotment-type.ts +5 -5
  288. package/src/types/enums/availability-search-type.ts +4 -4
  289. package/src/types/enums/data-type.ts +14 -14
  290. package/src/types/enums/dossier-type.ts +6 -6
  291. package/src/types/enums/entry-line-flag.ts +6 -6
  292. package/src/types/enums/entry-line-status.ts +19 -19
  293. package/src/types/enums/entry-status.ts +8 -8
  294. package/src/types/enums/export-status.ts +5 -5
  295. package/src/types/enums/gender.ts +5 -5
  296. package/src/types/enums/index.ts +17 -17
  297. package/src/types/enums/meta-data-type.ts +10 -10
  298. package/src/types/enums/payment-type.ts +6 -6
  299. package/src/types/enums/price-chart-type.ts +4 -4
  300. package/src/types/enums/print-action-group.ts +10 -10
  301. package/src/types/enums/requirement-type.ts +5 -5
  302. package/src/types/enums/room-type.ts +8 -8
  303. package/src/types/enums/sale-type.ts +4 -4
  304. package/src/types/enums/service-type.ts +28 -28
  305. package/src/types/index.ts +28 -28
  306. package/src/types/odata/column.ts +8 -8
  307. package/src/types/odata/filter-item.ts +14 -14
  308. package/src/types/odata/index.ts +3 -3
  309. package/src/types/odata/odata-params.ts +3 -3
  310. package/src/types/offer/additional-services.ts +6 -6
  311. package/src/types/offer/address.ts +11 -11
  312. package/src/types/offer/affiliate.ts +5 -5
  313. package/src/types/offer/alternative-flight-data.ts +11 -11
  314. package/src/types/offer/alternative-flight-leg.ts +18 -18
  315. package/src/types/offer/alternative-flight.ts +15 -15
  316. package/src/types/offer/available-package-accommodation.ts +8 -8
  317. package/src/types/offer/available-package-flight.ts +10 -10
  318. package/src/types/offer/available-package-option.ts +18 -18
  319. package/src/types/offer/available-package-pax-price.ts +6 -6
  320. package/src/types/offer/available-package-regime.ts +4 -4
  321. package/src/types/offer/available-package.ts +8 -8
  322. package/src/types/offer/base-price.ts +6 -6
  323. package/src/types/offer/base-prices-from-date-request.ts +12 -12
  324. package/src/types/offer/base-prices-request.ts +12 -12
  325. package/src/types/offer/book-request.ts +38 -38
  326. package/src/types/offer/booking-response.ts +4 -4
  327. package/src/types/offer/booking-v2/index.ts +3 -3
  328. package/src/types/offer/booking-v2/request/bookable-dates-request.ts +4 -4
  329. package/src/types/offer/booking-v2/request/booking-package-address.ts +14 -14
  330. package/src/types/offer/booking-v2/request/booking-package-book-request.ts +26 -26
  331. package/src/types/offer/booking-v2/request/booking-package-customer-request.ts +4 -4
  332. package/src/types/offer/booking-v2/request/booking-package-destination.ts +9 -9
  333. package/src/types/offer/booking-v2/request/booking-package-details-request.ts +24 -24
  334. package/src/types/offer/booking-v2/request/booking-package-flight-pool-request.ts +13 -13
  335. package/src/types/offer/booking-v2/request/booking-package-request.ts +5 -5
  336. package/src/types/offer/booking-v2/request/booking-package-search-request.ts +30 -30
  337. package/src/types/offer/booking-v2/request/booking-package-update-request.ts +5 -5
  338. package/src/types/offer/booking-v2/request/booking-package-voucher-request.ts +4 -4
  339. package/src/types/offer/booking-v2/request/index.ts +14 -14
  340. package/src/types/offer/booking-v2/request/selected-flight.ts +6 -6
  341. package/src/types/offer/booking-v2/request/selected-hotel.ts +5 -5
  342. package/src/types/offer/booking-v2/request/tour-codes.request.ts +3 -3
  343. package/src/types/offer/booking-v2/response/bookable-dates.ts +4 -4
  344. package/src/types/offer/booking-v2/response/booking-package-allotment-info.ts +17 -17
  345. package/src/types/offer/booking-v2/response/booking-package-dossier.ts +6 -6
  346. package/src/types/offer/booking-v2/response/booking-package-flight-pool.ts +6 -6
  347. package/src/types/offer/booking-v2/response/booking-package-hotel-pool.ts +5 -5
  348. package/src/types/offer/booking-v2/response/booking-package-item.ts +40 -40
  349. package/src/types/offer/booking-v2/response/booking-price-detail.ts +20 -20
  350. package/src/types/offer/booking-v2/response/booking-price-details.ts +14 -14
  351. package/src/types/offer/booking-v2/response/booking-price-per-pax.ts +4 -4
  352. package/src/types/offer/booking-v2/response/booking-product-notification.ts +7 -7
  353. package/src/types/offer/booking-v2/response/booking-room-status-option.ts +5 -5
  354. package/src/types/offer/booking-v2/response/booking-room-status.ts +6 -6
  355. package/src/types/offer/booking-v2/response/booking-travel-agent.ts +7 -7
  356. package/src/types/offer/booking-v2/response/booking-validity-line.ts +4 -4
  357. package/src/types/offer/booking-v2/response/booking-voucher-result.ts +3 -3
  358. package/src/types/offer/booking-v2/response/changed-line.ts +4 -4
  359. package/src/types/offer/booking-v2/response/index.ts +16 -16
  360. package/src/types/offer/booking-v2/response/tide-response.ts +6 -6
  361. package/src/types/offer/booking-v2/response/tour-codes-response.ts +3 -3
  362. package/src/types/offer/booking-v2/shared/airline-booking-package-option.ts +3 -3
  363. package/src/types/offer/booking-v2/shared/airport-booking-package-option.ts +3 -3
  364. package/src/types/offer/booking-v2/shared/booking-airline-group.ts +7 -7
  365. package/src/types/offer/booking-v2/shared/booking-airport-group.ts +7 -7
  366. package/src/types/offer/booking-v2/shared/booking-option-group.ts +5 -5
  367. package/src/types/offer/booking-v2/shared/booking-option-pax.ts +14 -14
  368. package/src/types/offer/booking-v2/shared/booking-option-unit.ts +13 -13
  369. package/src/types/offer/booking-v2/shared/booking-package-availability.ts +8 -8
  370. package/src/types/offer/booking-v2/shared/booking-package-flight-meta-data-line.ts +17 -17
  371. package/src/types/offer/booking-v2/shared/booking-package-flight-meta-data.ts +11 -11
  372. package/src/types/offer/booking-v2/shared/booking-package-flight.ts +15 -15
  373. package/src/types/offer/booking-v2/shared/booking-package-hotel-option.ts +10 -10
  374. package/src/types/offer/booking-v2/shared/booking-package-hotel-room.ts +6 -6
  375. package/src/types/offer/booking-v2/shared/booking-package-hotel.ts +27 -27
  376. package/src/types/offer/booking-v2/shared/booking-package-line.ts +17 -17
  377. package/src/types/offer/booking-v2/shared/booking-package-option.ts +55 -55
  378. package/src/types/offer/booking-v2/shared/booking-package-pax.ts +19 -19
  379. package/src/types/offer/booking-v2/shared/booking-package-request-room.ts +6 -6
  380. package/src/types/offer/booking-v2/shared/booking-package-room-option.ts +17 -17
  381. package/src/types/offer/booking-v2/shared/booking-package-room.ts +6 -6
  382. package/src/types/offer/booking-v2/shared/booking-package-tag.ts +5 -5
  383. package/src/types/offer/booking-v2/shared/booking-package.ts +13 -13
  384. package/src/types/offer/booking-v2/shared/index.ts +23 -23
  385. package/src/types/offer/booking-v2/shared/per-booking-package-option.ts +10 -10
  386. package/src/types/offer/booking-v2/shared/per-package-option.ts +10 -10
  387. package/src/types/offer/booking-v2/shared/per-pax-package-option.ts +6 -6
  388. package/src/types/offer/booking-v2/shared/per-unit-package-option.ts +8 -8
  389. package/src/types/offer/cached-package-search-result.ts +6 -6
  390. package/src/types/offer/confirmed-dossier-check.ts +6 -6
  391. package/src/types/offer/country-item.ts +5 -5
  392. package/src/types/offer/crm-contact-request.ts +37 -37
  393. package/src/types/offer/customer-request.ts +5 -5
  394. package/src/types/offer/dossier-default-product.ts +14 -14
  395. package/src/types/offer/dossier-view-result.ts +46 -46
  396. package/src/types/offer/entry-check-response.ts +5 -5
  397. package/src/types/offer/entry-line-meta-data.ts +5 -5
  398. package/src/types/offer/entry-line-pax.ts +9 -9
  399. package/src/types/offer/entry-line.ts +74 -74
  400. package/src/types/offer/entry-price-line.ts +40 -40
  401. package/src/types/offer/entry-room2.ts +5 -5
  402. package/src/types/offer/entry.ts +60 -60
  403. package/src/types/offer/flight-meta-data-line.ts +16 -16
  404. package/src/types/offer/flight-meta-data.ts +15 -15
  405. package/src/types/offer/flight-pool.ts +6 -6
  406. package/src/types/offer/index.ts +76 -76
  407. package/src/types/offer/item-tag.ts +3 -3
  408. package/src/types/offer/language.ts +5 -5
  409. package/src/types/offer/member-confirmation-request.ts +5 -5
  410. package/src/types/offer/member-forgot-password-request.ts +4 -4
  411. package/src/types/offer/member-info.ts +10 -10
  412. package/src/types/offer/member-login-request.ts +4 -4
  413. package/src/types/offer/member-login-response.ts +3 -3
  414. package/src/types/offer/member-reset-password-request.ts +4 -4
  415. package/src/types/offer/multiroom-book-request.ts +11 -11
  416. package/src/types/offer/note.ts +16 -16
  417. package/src/types/offer/other-product.ts +14 -14
  418. package/src/types/offer/package-book-request-room.ts +6 -6
  419. package/src/types/offer/package-book-request.ts +13 -13
  420. package/src/types/offer/package-flight.ts +14 -14
  421. package/src/types/offer/package-flights.ts +6 -6
  422. package/src/types/offer/package-option.ts +23 -23
  423. package/src/types/offer/package-price-details-request-room.ts +4 -4
  424. package/src/types/offer/package-price-details-request.ts +9 -9
  425. package/src/types/offer/package-room-option.ts +10 -10
  426. package/src/types/offer/package-room.ts +8 -8
  427. package/src/types/offer/package-search-destination.ts +9 -9
  428. package/src/types/offer/package-search-request-date.ts +4 -4
  429. package/src/types/offer/package-search-request-room.ts +5 -5
  430. package/src/types/offer/package-search-request.ts +23 -23
  431. package/src/types/offer/package-search-result.ts +13 -13
  432. package/src/types/offer/package-sub-option.ts +6 -6
  433. package/src/types/offer/page-result.ts +5 -5
  434. package/src/types/offer/pax.ts +30 -30
  435. package/src/types/offer/payment.ts +20 -20
  436. package/src/types/offer/person-country-preference.ts +7 -7
  437. package/src/types/offer/person-location-preference.ts +7 -7
  438. package/src/types/offer/person-oord-preference.ts +7 -7
  439. package/src/types/offer/person-period-date-range-preference.ts +6 -6
  440. package/src/types/offer/person-period-preference.ts +7 -7
  441. package/src/types/offer/person-region-preference.ts +7 -7
  442. package/src/types/offer/person-tour-group-preference.ts +7 -7
  443. package/src/types/offer/price-detail.ts +19 -19
  444. package/src/types/offer/price-per-pax.ts +6 -6
  445. package/src/types/offer/product-notification-result.ts +9 -9
  446. package/src/types/offer/web-contact-form-request.ts +13 -13
  447. package/src/types/offer/web-contact-has-tag-request.ts +4 -4
  448. package/src/types/tide-client-config.ts +5 -5
  449. package/src/utils/api.ts +54 -51
  450. package/src/utils/booking-client.ts +310 -310
  451. package/src/utils/booking-v2-client.ts +224 -224
  452. package/src/utils/common-client.ts +44 -43
  453. package/src/utils/json.ts +26 -26
  454. package/src/utils/member-client.ts +76 -76
  455. package/src/utils/mollie-client.ts +27 -27
  456. package/src/utils/search-client.ts +22 -22
  457. package/src/utils/web-agent-client.ts +148 -146
  458. package/src/utils/web-client.ts +46 -46
  459. package/src/utils/web-contact-client.ts +43 -43
  460. package/src/utils/web-file.ts +24 -24
  461. package/tests/bookingClient.test.ts +728 -728
  462. package/tests/mocks/available-products.json +183 -183
  463. package/tests/mocks/base-prices-from-date.json +74 -74
  464. package/tests/mocks/base-prices.json +236 -236
  465. package/tests/mocks/entry-multiroom.json +2043 -2043
  466. package/tests/mocks/entry-multiroom.short.json +4 -4
  467. package/tests/mocks/offer-entry.json +2043 -2043
  468. package/tests/mocks/offer-entry.short.json +4 -4
  469. package/tests/mocks/package-entry.json +2043 -2043
  470. package/tests/mocks/package-entry.short.json +4 -4
  471. package/tests/mocks/package-offer-entry.json +2043 -2043
  472. package/tests/mocks/package-offer-entry.short.json +4 -4
  473. package/tests/mocks/package-price-details.json +176 -176
  474. package/tests/mocks/package-search.json +179 -179
  475. package/tests/webClient.test.ts +38 -38
  476. package/tests/webContactClient.test.ts +61 -61
  477. package/tsconfig.json +23 -23
@@ -1,728 +1,728 @@
1
- import {
2
- AllotmentType,
3
- AvailabilitySearchType,
4
- AvailableProductsRequest,
5
- BasePricesFromDateRequest,
6
- BasePricesRequest,
7
- MultiroomBookRequest,
8
- PackageBookRequest,
9
- PackagePriceDetailsRequest,
10
- PackageSearchRequest,
11
- ServiceType,
12
- TideClientConfig,
13
- } from "../src/types";
14
- import {
15
- createEntry,
16
- createEntryWithShortResponse,
17
- createOffer,
18
- createOfferWithShortResponse,
19
- createPackageEntry,
20
- createPackageEntryWithShortResponse,
21
- createPackageOffer,
22
- createPackageOfferWithShortResponse,
23
- getAvailableProducts,
24
- getBasePrices,
25
- getBasePricesFromDate,
26
- getPackagePriceDetails,
27
- searchPackages,
28
- } from "../src/utils/booking-client";
29
-
30
- import availableProductsMock from "./mocks/available-products.json";
31
- import basePricesFromDateMock from "./mocks/base-prices-from-date.json";
32
- import basePricesMock from "./mocks/base-prices.json";
33
- import entryMultiroomMock from "./mocks/entry-multiroom.json";
34
- import entryMultiroomShortMock from "./mocks/entry-multiroom.short.json";
35
- import jestFetchMock from "jest-fetch-mock";
36
- import offerEntryMock from "./mocks/offer-entry.json";
37
- import offerEntryShortMock from "./mocks/offer-entry.short.json";
38
- import packageEntryMock from "./mocks/package-entry.json";
39
- import packageEntryShortMock from "./mocks/package-entry.short.json";
40
- import packageOfferEntryMock from "./mocks/package-offer-entry.json";
41
- import packageOfferEntryShortMock from "./mocks/package-offer-entry.short.json";
42
- import packagePriceDetailsMock from "./mocks/package-price-details.json";
43
- import packageSearchMock from "./mocks/package-search.json";
44
-
45
- describe("bookingClient", (): void => {
46
- beforeAll(() => {
47
- jestFetchMock.enableMocks();
48
- });
49
-
50
- beforeEach(() => {
51
- jestFetchMock.mockResponse((req) => {
52
- switch (req.url) {
53
- case "https://mock.com/api/web/booking/available-products":
54
- return Promise.resolve(JSON.stringify(availableProductsMock));
55
-
56
- case "https://mock.com/api/web/booking/package-search":
57
- return Promise.resolve(JSON.stringify(packageSearchMock));
58
-
59
- case "https://mock.com/api/web/booking/package-price-details":
60
- return Promise.resolve(JSON.stringify(packagePriceDetailsMock));
61
-
62
- case "https://mock.com/api/web/booking/offer-entry":
63
- return req.json().then((body) => {
64
- return body.useShortResponse
65
- ? Promise.resolve(JSON.stringify(offerEntryMock))
66
- : Promise.resolve(JSON.stringify(offerEntryShortMock));
67
- });
68
-
69
- case "https://mock.com/api/web/booking/entry-multiroom":
70
- return req.json().then((body) => {
71
- return body.useShortResponse
72
- ? Promise.resolve(JSON.stringify(entryMultiroomMock))
73
- : Promise.resolve(JSON.stringify(entryMultiroomShortMock));
74
- });
75
-
76
- case "https://mock.com/api/web/booking/package-offer-entry":
77
- return req.json().then((body) => {
78
- return body.useShortResponse
79
- ? Promise.resolve(JSON.stringify(packageOfferEntryMock))
80
- : Promise.resolve(JSON.stringify(packageOfferEntryShortMock));
81
- });
82
-
83
- case "https://mock.com/api/web/booking/package-entry":
84
- return req.json().then((body) => {
85
- return body.useShortResponse
86
- ? Promise.resolve(JSON.stringify(packageEntryMock))
87
- : Promise.resolve(JSON.stringify(packageEntryShortMock));
88
- });
89
-
90
- case "https://mock.com/api/web/booking/base-prices":
91
- return Promise.resolve(JSON.stringify(basePricesMock));
92
-
93
- case "https://mock.com/api/web/booking/base-prices-from-date":
94
- return Promise.resolve(JSON.stringify(basePricesFromDateMock));
95
-
96
- default:
97
- return Promise.reject();
98
- }
99
- });
100
- });
101
-
102
- // Just test if the call is succeeding
103
- test("getAvailableProducts", () => {
104
- const config: TideClientConfig = {
105
- host: "https://mock.com",
106
- apiKey: "key123",
107
- };
108
-
109
- const request: AvailableProductsRequest = {
110
- officeId: 1,
111
- from: new Date(2021, 0, 1),
112
- to: new Date(2022, 11, 31),
113
- calculatePrices: false,
114
- language: "nl-BE",
115
- searchType: AvailabilitySearchType.allotment,
116
- productType: ServiceType.package,
117
- travelerGroupings: [
118
- {
119
- travelerAges: [30, 30],
120
- },
121
- ],
122
- productIds: [64],
123
- allotmentType: AllotmentType.allotment,
124
- catalogueIds: [1],
125
- includePriceDetails: false,
126
- includeAllOptions: false,
127
- addDefaultProducts: false,
128
- };
129
-
130
- return getAvailableProducts(config, request).then((data) => {
131
- expect(data).toBeTruthy();
132
- });
133
- });
134
-
135
- // Just test if the call is succeeding
136
- test("searchPackages", () => {
137
- const config: TideClientConfig = {
138
- host: "https://mock.com",
139
- apiKey: "key123",
140
- };
141
-
142
- const request: PackageSearchRequest = {
143
- productType: ServiceType.package,
144
- productIds: [64],
145
- officeId: 1,
146
- catalogId: 1,
147
- rooms: [
148
- {
149
- id: 0,
150
- adultCount: 2,
151
- childCount: 0,
152
- },
153
- ],
154
- departure: {
155
- date: new Date(2022, 3, 1),
156
- timeRange: [0, 24],
157
- },
158
- arrival: {
159
- date: new Date(2022, 3, 5),
160
- timeRange: [0, 24],
161
- },
162
- onlyPreferredHotels: false,
163
- includeLuggage: true,
164
- includeInPackageDefault: false,
165
- };
166
-
167
- return searchPackages(config, request).then((data) => {
168
- expect(data).toBeTruthy();
169
- });
170
- });
171
-
172
- // Just test if the call is succeeding
173
- test("getPackagePriceDetails", () => {
174
- const config: TideClientConfig = {
175
- host: "https://mock.com",
176
- apiKey: "key123",
177
- };
178
-
179
- const request: PackagePriceDetailsRequest = {
180
- packageSearchResultCacheKey: "5e75aa74-cd69-43dd-9ec4-89342dd34b8a",
181
- officeId: 1,
182
- language: "nl-BE",
183
- rooms: [
184
- {
185
- id: 0,
186
- travelerAges: [37, 34],
187
- },
188
- ],
189
- optionGuids: ["dc924827-4d2c-4c8c-ae5f-7e4560fea998"],
190
- };
191
-
192
- return getPackagePriceDetails(config, request).then((data) => {
193
- expect(data).toBeTruthy();
194
- });
195
- });
196
-
197
- // Just test if the call is succeeding
198
- test("createOffer", () => {
199
- const config: TideClientConfig = {
200
- host: "https://mock.com",
201
- apiKey: "key123",
202
- };
203
-
204
- const request: MultiroomBookRequest = {
205
- officeId: 1,
206
- agentId: 0,
207
- catalogueId: 1,
208
- startDate: new Date(2022, 0, 2),
209
- endDate: new Date(2022, 0, 9),
210
- productCode: "TEST PK AE IN FIN JERIS ESSENCE",
211
- rooms: [
212
- {
213
- productCode: "TEST PK AE IN FIN JERIS ESSENCE",
214
- accommodationCode: "2PKST",
215
- regimeCode: "VP",
216
- startDate: new Date(2022, 0, 2),
217
- endDate: new Date(2022, 0, 9),
218
- travelers: [
219
- {
220
- id: 1,
221
- firstName: "Jan",
222
- lastName: "Jansens",
223
- dateOfBirth: new Date(1984, 4, 19),
224
- gender: 0,
225
- isMainBooker: true,
226
- guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
227
- phone: "+32 471 12 34 56",
228
- mobile: "+32 471 12 34 56",
229
- email: "jan.jansens@fake.be",
230
- },
231
- {
232
- id: 2,
233
- firstName: "Leen",
234
- lastName: "Leenders",
235
- dateOfBirth: new Date(1986, 7, 8),
236
- gender: 1,
237
- isMainBooker: false,
238
- guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
239
- },
240
- ],
241
- },
242
- ],
243
- address: {
244
- name: "Jan Jansens",
245
- street: "Nieuwstraat",
246
- number: "20",
247
- postalCode: "9000",
248
- location: "Gent",
249
- country: "be",
250
- mobilePhone: "+32 471 12 34 56",
251
- email: "jan.jansens@fake.be",
252
- },
253
- useShortResponse: true,
254
- };
255
-
256
- return createOffer(config, request).then((data) => {
257
- expect(data).toBeTruthy();
258
- });
259
- });
260
-
261
- // Just test if the call is succeeding
262
- test("createOfferWithShortResponse", () => {
263
- const config: TideClientConfig = {
264
- host: "https://mock.com",
265
- apiKey: "key123",
266
- };
267
-
268
- const request: MultiroomBookRequest = {
269
- officeId: 1,
270
- agentId: 0,
271
- catalogueId: 1,
272
- startDate: new Date(2022, 0, 2),
273
- endDate: new Date(2022, 0, 9),
274
- productCode: "TEST PK AE IN FIN JERIS ESSENCE",
275
- rooms: [
276
- {
277
- productCode: "TEST PK AE IN FIN JERIS ESSENCE",
278
- accommodationCode: "2PKST",
279
- regimeCode: "VP",
280
- startDate: new Date(2022, 0, 2),
281
- endDate: new Date(2022, 0, 9),
282
- travelers: [
283
- {
284
- id: 1,
285
- firstName: "Jan",
286
- lastName: "Jansens",
287
- dateOfBirth: new Date(1984, 4, 19),
288
- gender: 0,
289
- isMainBooker: true,
290
- guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
291
- phone: "+32 471 12 34 56",
292
- mobile: "+32 471 12 34 56",
293
- email: "jan.jansens@fake.be",
294
- },
295
- {
296
- id: 2,
297
- firstName: "Leen",
298
- lastName: "Leenders",
299
- dateOfBirth: new Date(1986, 7, 8),
300
- gender: 1,
301
- isMainBooker: false,
302
- guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
303
- },
304
- ],
305
- },
306
- ],
307
- address: {
308
- name: "Jan Jansens",
309
- street: "Nieuwstraat",
310
- number: "20",
311
- postalCode: "9000",
312
- location: "Gent",
313
- country: "be",
314
- mobilePhone: "+32 471 12 34 56",
315
- email: "jan.jansens@fake.be",
316
- },
317
- useShortResponse: true,
318
- };
319
-
320
- return createOfferWithShortResponse(config, request).then((data) => {
321
- expect(data).toBeTruthy();
322
- });
323
- });
324
-
325
- // Just test if the call is succeeding
326
- test("createEntry", () => {
327
- const config: TideClientConfig = {
328
- host: "https://mock.com",
329
- apiKey: "key123",
330
- };
331
-
332
- const request: MultiroomBookRequest = {
333
- officeId: 1,
334
- agentId: 0,
335
- catalogueId: 1,
336
- startDate: new Date(2022, 0, 2),
337
- endDate: new Date(2022, 0, 9),
338
- productCode: "TEST PK AE IN FIN JERIS ESSENCE",
339
- rooms: [
340
- {
341
- productCode: "TEST PK AE IN FIN JERIS ESSENCE",
342
- accommodationCode: "2PKST",
343
- regimeCode: "VP",
344
- startDate: new Date(2022, 0, 2),
345
- endDate: new Date(2022, 0, 9),
346
- travelers: [
347
- {
348
- id: 1,
349
- firstName: "Jan",
350
- lastName: "Jansens",
351
- dateOfBirth: new Date(1984, 4, 19),
352
- gender: 0,
353
- isMainBooker: true,
354
- guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
355
- phone: "+32 471 12 34 56",
356
- mobile: "+32 471 12 34 56",
357
- email: "jan.jansens@fake.be",
358
- },
359
- {
360
- id: 2,
361
- firstName: "Leen",
362
- lastName: "Leenders",
363
- dateOfBirth: new Date(1986, 7, 8),
364
- gender: 1,
365
- isMainBooker: false,
366
- guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
367
- },
368
- ],
369
- },
370
- ],
371
- address: {
372
- name: "Jan Jansens",
373
- street: "Nieuwstraat",
374
- number: "20",
375
- postalCode: "9000",
376
- location: "Gent",
377
- country: "be",
378
- mobilePhone: "+32 471 12 34 56",
379
- email: "jan.jansens@fake.be",
380
- },
381
- useShortResponse: true,
382
- };
383
-
384
- return createEntry(config, request).then((data) => {
385
- expect(data).toBeTruthy();
386
- });
387
- });
388
-
389
- // Just test if the call is succeeding
390
- test("createEntryWithShortResponse", () => {
391
- const config: TideClientConfig = {
392
- host: "https://mock.com",
393
- apiKey: "key123",
394
- };
395
-
396
- const request: MultiroomBookRequest = {
397
- officeId: 1,
398
- agentId: 0,
399
- catalogueId: 1,
400
- startDate: new Date(2022, 0, 2),
401
- endDate: new Date(2022, 0, 9),
402
- productCode: "TEST PK AE IN FIN JERIS ESSENCE",
403
- rooms: [
404
- {
405
- productCode: "TEST PK AE IN FIN JERIS ESSENCE",
406
- accommodationCode: "2PKST",
407
- regimeCode: "VP",
408
- startDate: new Date(2022, 0, 2),
409
- endDate: new Date(2022, 0, 9),
410
- travelers: [
411
- {
412
- id: 1,
413
- firstName: "Jan",
414
- lastName: "Jansens",
415
- dateOfBirth: new Date(1984, 4, 19),
416
- gender: 0,
417
- isMainBooker: true,
418
- guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
419
- phone: "+32 471 12 34 56",
420
- mobile: "+32 471 12 34 56",
421
- email: "jan.jansens@fake.be",
422
- },
423
- {
424
- id: 2,
425
- firstName: "Leen",
426
- lastName: "Leenders",
427
- dateOfBirth: new Date(1986, 7, 8),
428
- gender: 1,
429
- isMainBooker: false,
430
- guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
431
- },
432
- ],
433
- },
434
- ],
435
- address: {
436
- name: "Jan Jansens",
437
- street: "Nieuwstraat",
438
- number: "20",
439
- postalCode: "9000",
440
- location: "Gent",
441
- country: "be",
442
- mobilePhone: "+32 471 12 34 56",
443
- email: "jan.jansens@fake.be",
444
- },
445
- useShortResponse: true,
446
- };
447
-
448
- return createEntryWithShortResponse(config, request).then((data) => {
449
- expect(data).toBeTruthy();
450
- });
451
- });
452
-
453
- // Just test if the call is succeeding
454
- test("createPackageOffer", () => {
455
- const config: TideClientConfig = {
456
- host: "https://mock.com",
457
- apiKey: "key123",
458
- };
459
-
460
- const request: PackageBookRequest = {
461
- packageSearchResultCacheKey: "c01e2309-ec28-40da-b8bc-ce920a840110",
462
- officeId: 1,
463
- language: "nl-BE",
464
- rooms: [
465
- {
466
- id: 0,
467
- travelers: [
468
- {
469
- id: 1,
470
- firstName: "Jan",
471
- lastName: "Jansens",
472
- dateOfBirth: new Date(1984, 4, 19),
473
- gender: 0,
474
- isMainBooker: true,
475
- guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
476
- phone: "+32 471 12 34 56",
477
- mobile: "+32 471 12 34 56",
478
- email: "jan.jansens@fake.be",
479
- },
480
- {
481
- id: 2,
482
- firstName: "Leen",
483
- lastName: "Leenders",
484
- dateOfBirth: new Date(1986, 7, 8),
485
- gender: 1,
486
- isMainBooker: false,
487
- guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
488
- },
489
- ],
490
- },
491
- ],
492
- address: {
493
- name: "Jan Jansens",
494
- street: "Nieuwstraat",
495
- number: "20",
496
- postalCode: "9000",
497
- location: "Gent",
498
- country: "be",
499
- mobilePhone: "+32 471 12 34 56",
500
- email: "jan.jansens@fake.be",
501
- },
502
- optionGuids: ["62799ded-1014-44ca-bcce-e0429e871028"],
503
- useShortResponse: false,
504
- };
505
-
506
- return createPackageOffer(config, request).then((data) => {
507
- expect(data).toBeTruthy();
508
- });
509
- });
510
-
511
- // Just test if the call is succeeding
512
- test("createPackageOfferWithShortResponse", () => {
513
- const config: TideClientConfig = {
514
- host: "https://mock.com",
515
- apiKey: "key123",
516
- };
517
-
518
- const request: PackageBookRequest = {
519
- packageSearchResultCacheKey: "c01e2309-ec28-40da-b8bc-ce920a840110",
520
- officeId: 1,
521
- language: "nl-BE",
522
- rooms: [
523
- {
524
- id: 0,
525
- travelers: [
526
- {
527
- id: 1,
528
- firstName: "Jan",
529
- lastName: "Jansens",
530
- dateOfBirth: new Date(1984, 4, 19),
531
- gender: 0,
532
- isMainBooker: true,
533
- guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
534
- phone: "+32 471 12 34 56",
535
- mobile: "+32 471 12 34 56",
536
- email: "jan.jansens@fake.be",
537
- },
538
- {
539
- id: 2,
540
- firstName: "Leen",
541
- lastName: "Leenders",
542
- dateOfBirth: new Date(1986, 7, 8),
543
- gender: 1,
544
- isMainBooker: false,
545
- guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
546
- },
547
- ],
548
- },
549
- ],
550
- address: {
551
- name: "Jan Jansens",
552
- street: "Nieuwstraat",
553
- number: "20",
554
- postalCode: "9000",
555
- location: "Gent",
556
- country: "be",
557
- mobilePhone: "+32 471 12 34 56",
558
- email: "jan.jansens@fake.be",
559
- },
560
- optionGuids: ["62799ded-1014-44ca-bcce-e0429e871028"],
561
- useShortResponse: false,
562
- };
563
-
564
- return createPackageOfferWithShortResponse(config, request).then((data) => {
565
- expect(data).toBeTruthy();
566
- });
567
- });
568
-
569
- // Just test if the call is succeeding
570
- test("createPackageEntry", () => {
571
- const config: TideClientConfig = {
572
- host: "https://mock.com",
573
- apiKey: "key123",
574
- };
575
-
576
- const request: PackageBookRequest = {
577
- packageSearchResultCacheKey: "c01e2309-ec28-40da-b8bc-ce920a840110",
578
- officeId: 1,
579
- language: "nl-BE",
580
- rooms: [
581
- {
582
- id: 0,
583
- travelers: [
584
- {
585
- id: 1,
586
- firstName: "Jan",
587
- lastName: "Jansens",
588
- dateOfBirth: new Date(1984, 4, 19),
589
- gender: 0,
590
- isMainBooker: true,
591
- guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
592
- phone: "+32 471 12 34 56",
593
- mobile: "+32 471 12 34 56",
594
- email: "jan.jansens@fake.be",
595
- },
596
- {
597
- id: 2,
598
- firstName: "Leen",
599
- lastName: "Leenders",
600
- dateOfBirth: new Date(1986, 7, 8),
601
- gender: 1,
602
- isMainBooker: false,
603
- guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
604
- },
605
- ],
606
- },
607
- ],
608
- address: {
609
- name: "Jan Jansens",
610
- street: "Nieuwstraat",
611
- number: "20",
612
- postalCode: "9000",
613
- location: "Gent",
614
- country: "be",
615
- mobilePhone: "+32 471 12 34 56",
616
- email: "jan.jansens@fake.be",
617
- },
618
- optionGuids: ["62799ded-1014-44ca-bcce-e0429e871028"],
619
- useShortResponse: false,
620
- };
621
-
622
- return createPackageEntry(config, request).then((data) => {
623
- expect(data).toBeTruthy();
624
- });
625
- });
626
-
627
- // Just test if the call is succeeding
628
- test("createPackageEntryWithShortResponse", () => {
629
- const config: TideClientConfig = {
630
- host: "https://mock.com",
631
- apiKey: "key123",
632
- };
633
-
634
- const request: PackageBookRequest = {
635
- packageSearchResultCacheKey: "c01e2309-ec28-40da-b8bc-ce920a840110",
636
- officeId: 1,
637
- language: "nl-BE",
638
- rooms: [
639
- {
640
- id: 0,
641
- travelers: [
642
- {
643
- id: 1,
644
- firstName: "Jan",
645
- lastName: "Jansens",
646
- dateOfBirth: new Date(1984, 4, 19),
647
- gender: 0,
648
- isMainBooker: true,
649
- guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
650
- phone: "+32 471 12 34 56",
651
- mobile: "+32 471 12 34 56",
652
- email: "jan.jansens@fake.be",
653
- },
654
- {
655
- id: 2,
656
- firstName: "Leen",
657
- lastName: "Leenders",
658
- dateOfBirth: new Date(1986, 7, 8),
659
- gender: 1,
660
- isMainBooker: false,
661
- guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
662
- },
663
- ],
664
- },
665
- ],
666
- address: {
667
- name: "Jan Jansens",
668
- street: "Nieuwstraat",
669
- number: "20",
670
- postalCode: "9000",
671
- location: "Gent",
672
- country: "be",
673
- mobilePhone: "+32 471 12 34 56",
674
- email: "jan.jansens@fake.be",
675
- },
676
- optionGuids: ["62799ded-1014-44ca-bcce-e0429e871028"],
677
- useShortResponse: false,
678
- };
679
-
680
- return createPackageEntryWithShortResponse(config, request).then((data) => {
681
- expect(data).toBeTruthy();
682
- });
683
- });
684
-
685
- // Just test if the call is succeeding
686
- test("getBasePrices", () => {
687
- const config: TideClientConfig = {
688
- host: "https://mock.com",
689
- apiKey: "key123",
690
- };
691
-
692
- const request: BasePricesRequest = {
693
- officeId: 1,
694
- productId: 972,
695
- accommodationId: 3769,
696
- catalogueId: 1,
697
- from: new Date(2021, 8, 1),
698
- to: new Date(2021, 10, 1),
699
- duration: 7,
700
- };
701
-
702
- return getBasePrices(config, request).then((data) => {
703
- expect(data).toBeTruthy();
704
- });
705
- });
706
-
707
- // Just test if the call is succeeding
708
- test("getBasePricesFromDate", () => {
709
- const config: TideClientConfig = {
710
- host: "https://mock.com",
711
- apiKey: "key123",
712
- };
713
-
714
- const request: BasePricesFromDateRequest = {
715
- officeId: 1,
716
- productId: 972,
717
- accommodationId: 3769,
718
- catalogueId: 1,
719
- from: new Date(2021, 9, 1),
720
- to: new Date(2021, 9, 31),
721
- travellerCount: 2,
722
- };
723
-
724
- return getBasePricesFromDate(config, request).then((data) => {
725
- expect(data).toBeTruthy();
726
- });
727
- });
728
- });
1
+ import {
2
+ AllotmentType,
3
+ AvailabilitySearchType,
4
+ AvailableProductsRequest,
5
+ BasePricesFromDateRequest,
6
+ BasePricesRequest,
7
+ MultiroomBookRequest,
8
+ PackageBookRequest,
9
+ PackagePriceDetailsRequest,
10
+ PackageSearchRequest,
11
+ ServiceType,
12
+ TideClientConfig,
13
+ } from "../src/types";
14
+ import {
15
+ createEntry,
16
+ createEntryWithShortResponse,
17
+ createOffer,
18
+ createOfferWithShortResponse,
19
+ createPackageEntry,
20
+ createPackageEntryWithShortResponse,
21
+ createPackageOffer,
22
+ createPackageOfferWithShortResponse,
23
+ getAvailableProducts,
24
+ getBasePrices,
25
+ getBasePricesFromDate,
26
+ getPackagePriceDetails,
27
+ searchPackages,
28
+ } from "../src/utils/booking-client";
29
+
30
+ import availableProductsMock from "./mocks/available-products.json";
31
+ import basePricesFromDateMock from "./mocks/base-prices-from-date.json";
32
+ import basePricesMock from "./mocks/base-prices.json";
33
+ import entryMultiroomMock from "./mocks/entry-multiroom.json";
34
+ import entryMultiroomShortMock from "./mocks/entry-multiroom.short.json";
35
+ import jestFetchMock from "jest-fetch-mock";
36
+ import offerEntryMock from "./mocks/offer-entry.json";
37
+ import offerEntryShortMock from "./mocks/offer-entry.short.json";
38
+ import packageEntryMock from "./mocks/package-entry.json";
39
+ import packageEntryShortMock from "./mocks/package-entry.short.json";
40
+ import packageOfferEntryMock from "./mocks/package-offer-entry.json";
41
+ import packageOfferEntryShortMock from "./mocks/package-offer-entry.short.json";
42
+ import packagePriceDetailsMock from "./mocks/package-price-details.json";
43
+ import packageSearchMock from "./mocks/package-search.json";
44
+
45
+ describe("bookingClient", (): void => {
46
+ beforeAll(() => {
47
+ jestFetchMock.enableMocks();
48
+ });
49
+
50
+ beforeEach(() => {
51
+ jestFetchMock.mockResponse((req) => {
52
+ switch (req.url) {
53
+ case "https://mock.com/api/web/booking/available-products":
54
+ return Promise.resolve(JSON.stringify(availableProductsMock));
55
+
56
+ case "https://mock.com/api/web/booking/package-search":
57
+ return Promise.resolve(JSON.stringify(packageSearchMock));
58
+
59
+ case "https://mock.com/api/web/booking/package-price-details":
60
+ return Promise.resolve(JSON.stringify(packagePriceDetailsMock));
61
+
62
+ case "https://mock.com/api/web/booking/offer-entry":
63
+ return req.json().then((body) => {
64
+ return body.useShortResponse
65
+ ? Promise.resolve(JSON.stringify(offerEntryMock))
66
+ : Promise.resolve(JSON.stringify(offerEntryShortMock));
67
+ });
68
+
69
+ case "https://mock.com/api/web/booking/entry-multiroom":
70
+ return req.json().then((body) => {
71
+ return body.useShortResponse
72
+ ? Promise.resolve(JSON.stringify(entryMultiroomMock))
73
+ : Promise.resolve(JSON.stringify(entryMultiroomShortMock));
74
+ });
75
+
76
+ case "https://mock.com/api/web/booking/package-offer-entry":
77
+ return req.json().then((body) => {
78
+ return body.useShortResponse
79
+ ? Promise.resolve(JSON.stringify(packageOfferEntryMock))
80
+ : Promise.resolve(JSON.stringify(packageOfferEntryShortMock));
81
+ });
82
+
83
+ case "https://mock.com/api/web/booking/package-entry":
84
+ return req.json().then((body) => {
85
+ return body.useShortResponse
86
+ ? Promise.resolve(JSON.stringify(packageEntryMock))
87
+ : Promise.resolve(JSON.stringify(packageEntryShortMock));
88
+ });
89
+
90
+ case "https://mock.com/api/web/booking/base-prices":
91
+ return Promise.resolve(JSON.stringify(basePricesMock));
92
+
93
+ case "https://mock.com/api/web/booking/base-prices-from-date":
94
+ return Promise.resolve(JSON.stringify(basePricesFromDateMock));
95
+
96
+ default:
97
+ return Promise.reject();
98
+ }
99
+ });
100
+ });
101
+
102
+ // Just test if the call is succeeding
103
+ test("getAvailableProducts", () => {
104
+ const config: TideClientConfig = {
105
+ host: "https://mock.com",
106
+ apiKey: "key123",
107
+ };
108
+
109
+ const request: AvailableProductsRequest = {
110
+ officeId: 1,
111
+ from: new Date(2021, 0, 1),
112
+ to: new Date(2022, 11, 31),
113
+ calculatePrices: false,
114
+ language: "nl-BE",
115
+ searchType: AvailabilitySearchType.allotment,
116
+ productType: ServiceType.package,
117
+ travelerGroupings: [
118
+ {
119
+ travelerAges: [30, 30],
120
+ },
121
+ ],
122
+ productIds: [64],
123
+ allotmentType: AllotmentType.allotment,
124
+ catalogueIds: [1],
125
+ includePriceDetails: false,
126
+ includeAllOptions: false,
127
+ addDefaultProducts: false,
128
+ };
129
+
130
+ return getAvailableProducts(config, request).then((data) => {
131
+ expect(data).toBeTruthy();
132
+ });
133
+ });
134
+
135
+ // Just test if the call is succeeding
136
+ test("searchPackages", () => {
137
+ const config: TideClientConfig = {
138
+ host: "https://mock.com",
139
+ apiKey: "key123",
140
+ };
141
+
142
+ const request: PackageSearchRequest = {
143
+ productType: ServiceType.package,
144
+ productIds: [64],
145
+ officeId: 1,
146
+ catalogId: 1,
147
+ rooms: [
148
+ {
149
+ id: 0,
150
+ adultCount: 2,
151
+ childCount: 0,
152
+ },
153
+ ],
154
+ departure: {
155
+ date: new Date(2022, 3, 1),
156
+ timeRange: [0, 24],
157
+ },
158
+ arrival: {
159
+ date: new Date(2022, 3, 5),
160
+ timeRange: [0, 24],
161
+ },
162
+ onlyPreferredHotels: false,
163
+ includeLuggage: true,
164
+ includeInPackageDefault: false,
165
+ };
166
+
167
+ return searchPackages(config, request).then((data) => {
168
+ expect(data).toBeTruthy();
169
+ });
170
+ });
171
+
172
+ // Just test if the call is succeeding
173
+ test("getPackagePriceDetails", () => {
174
+ const config: TideClientConfig = {
175
+ host: "https://mock.com",
176
+ apiKey: "key123",
177
+ };
178
+
179
+ const request: PackagePriceDetailsRequest = {
180
+ packageSearchResultCacheKey: "5e75aa74-cd69-43dd-9ec4-89342dd34b8a",
181
+ officeId: 1,
182
+ language: "nl-BE",
183
+ rooms: [
184
+ {
185
+ id: 0,
186
+ travelerAges: [37, 34],
187
+ },
188
+ ],
189
+ optionGuids: ["dc924827-4d2c-4c8c-ae5f-7e4560fea998"],
190
+ };
191
+
192
+ return getPackagePriceDetails(config, request).then((data) => {
193
+ expect(data).toBeTruthy();
194
+ });
195
+ });
196
+
197
+ // Just test if the call is succeeding
198
+ test("createOffer", () => {
199
+ const config: TideClientConfig = {
200
+ host: "https://mock.com",
201
+ apiKey: "key123",
202
+ };
203
+
204
+ const request: MultiroomBookRequest = {
205
+ officeId: 1,
206
+ agentId: 0,
207
+ catalogueId: 1,
208
+ startDate: new Date(2022, 0, 2),
209
+ endDate: new Date(2022, 0, 9),
210
+ productCode: "TEST PK AE IN FIN JERIS ESSENCE",
211
+ rooms: [
212
+ {
213
+ productCode: "TEST PK AE IN FIN JERIS ESSENCE",
214
+ accommodationCode: "2PKST",
215
+ regimeCode: "VP",
216
+ startDate: new Date(2022, 0, 2),
217
+ endDate: new Date(2022, 0, 9),
218
+ travelers: [
219
+ {
220
+ id: 1,
221
+ firstName: "Jan",
222
+ lastName: "Jansens",
223
+ dateOfBirth: new Date(1984, 4, 19),
224
+ gender: 0,
225
+ isMainBooker: true,
226
+ guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
227
+ phone: "+32 471 12 34 56",
228
+ mobile: "+32 471 12 34 56",
229
+ email: "jan.jansens@fake.be",
230
+ },
231
+ {
232
+ id: 2,
233
+ firstName: "Leen",
234
+ lastName: "Leenders",
235
+ dateOfBirth: new Date(1986, 7, 8),
236
+ gender: 1,
237
+ isMainBooker: false,
238
+ guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
239
+ },
240
+ ],
241
+ },
242
+ ],
243
+ address: {
244
+ name: "Jan Jansens",
245
+ street: "Nieuwstraat",
246
+ number: "20",
247
+ postalCode: "9000",
248
+ location: "Gent",
249
+ country: "be",
250
+ mobilePhone: "+32 471 12 34 56",
251
+ email: "jan.jansens@fake.be",
252
+ },
253
+ useShortResponse: true,
254
+ };
255
+
256
+ return createOffer(config, request).then((data) => {
257
+ expect(data).toBeTruthy();
258
+ });
259
+ });
260
+
261
+ // Just test if the call is succeeding
262
+ test("createOfferWithShortResponse", () => {
263
+ const config: TideClientConfig = {
264
+ host: "https://mock.com",
265
+ apiKey: "key123",
266
+ };
267
+
268
+ const request: MultiroomBookRequest = {
269
+ officeId: 1,
270
+ agentId: 0,
271
+ catalogueId: 1,
272
+ startDate: new Date(2022, 0, 2),
273
+ endDate: new Date(2022, 0, 9),
274
+ productCode: "TEST PK AE IN FIN JERIS ESSENCE",
275
+ rooms: [
276
+ {
277
+ productCode: "TEST PK AE IN FIN JERIS ESSENCE",
278
+ accommodationCode: "2PKST",
279
+ regimeCode: "VP",
280
+ startDate: new Date(2022, 0, 2),
281
+ endDate: new Date(2022, 0, 9),
282
+ travelers: [
283
+ {
284
+ id: 1,
285
+ firstName: "Jan",
286
+ lastName: "Jansens",
287
+ dateOfBirth: new Date(1984, 4, 19),
288
+ gender: 0,
289
+ isMainBooker: true,
290
+ guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
291
+ phone: "+32 471 12 34 56",
292
+ mobile: "+32 471 12 34 56",
293
+ email: "jan.jansens@fake.be",
294
+ },
295
+ {
296
+ id: 2,
297
+ firstName: "Leen",
298
+ lastName: "Leenders",
299
+ dateOfBirth: new Date(1986, 7, 8),
300
+ gender: 1,
301
+ isMainBooker: false,
302
+ guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
303
+ },
304
+ ],
305
+ },
306
+ ],
307
+ address: {
308
+ name: "Jan Jansens",
309
+ street: "Nieuwstraat",
310
+ number: "20",
311
+ postalCode: "9000",
312
+ location: "Gent",
313
+ country: "be",
314
+ mobilePhone: "+32 471 12 34 56",
315
+ email: "jan.jansens@fake.be",
316
+ },
317
+ useShortResponse: true,
318
+ };
319
+
320
+ return createOfferWithShortResponse(config, request).then((data) => {
321
+ expect(data).toBeTruthy();
322
+ });
323
+ });
324
+
325
+ // Just test if the call is succeeding
326
+ test("createEntry", () => {
327
+ const config: TideClientConfig = {
328
+ host: "https://mock.com",
329
+ apiKey: "key123",
330
+ };
331
+
332
+ const request: MultiroomBookRequest = {
333
+ officeId: 1,
334
+ agentId: 0,
335
+ catalogueId: 1,
336
+ startDate: new Date(2022, 0, 2),
337
+ endDate: new Date(2022, 0, 9),
338
+ productCode: "TEST PK AE IN FIN JERIS ESSENCE",
339
+ rooms: [
340
+ {
341
+ productCode: "TEST PK AE IN FIN JERIS ESSENCE",
342
+ accommodationCode: "2PKST",
343
+ regimeCode: "VP",
344
+ startDate: new Date(2022, 0, 2),
345
+ endDate: new Date(2022, 0, 9),
346
+ travelers: [
347
+ {
348
+ id: 1,
349
+ firstName: "Jan",
350
+ lastName: "Jansens",
351
+ dateOfBirth: new Date(1984, 4, 19),
352
+ gender: 0,
353
+ isMainBooker: true,
354
+ guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
355
+ phone: "+32 471 12 34 56",
356
+ mobile: "+32 471 12 34 56",
357
+ email: "jan.jansens@fake.be",
358
+ },
359
+ {
360
+ id: 2,
361
+ firstName: "Leen",
362
+ lastName: "Leenders",
363
+ dateOfBirth: new Date(1986, 7, 8),
364
+ gender: 1,
365
+ isMainBooker: false,
366
+ guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
367
+ },
368
+ ],
369
+ },
370
+ ],
371
+ address: {
372
+ name: "Jan Jansens",
373
+ street: "Nieuwstraat",
374
+ number: "20",
375
+ postalCode: "9000",
376
+ location: "Gent",
377
+ country: "be",
378
+ mobilePhone: "+32 471 12 34 56",
379
+ email: "jan.jansens@fake.be",
380
+ },
381
+ useShortResponse: true,
382
+ };
383
+
384
+ return createEntry(config, request).then((data) => {
385
+ expect(data).toBeTruthy();
386
+ });
387
+ });
388
+
389
+ // Just test if the call is succeeding
390
+ test("createEntryWithShortResponse", () => {
391
+ const config: TideClientConfig = {
392
+ host: "https://mock.com",
393
+ apiKey: "key123",
394
+ };
395
+
396
+ const request: MultiroomBookRequest = {
397
+ officeId: 1,
398
+ agentId: 0,
399
+ catalogueId: 1,
400
+ startDate: new Date(2022, 0, 2),
401
+ endDate: new Date(2022, 0, 9),
402
+ productCode: "TEST PK AE IN FIN JERIS ESSENCE",
403
+ rooms: [
404
+ {
405
+ productCode: "TEST PK AE IN FIN JERIS ESSENCE",
406
+ accommodationCode: "2PKST",
407
+ regimeCode: "VP",
408
+ startDate: new Date(2022, 0, 2),
409
+ endDate: new Date(2022, 0, 9),
410
+ travelers: [
411
+ {
412
+ id: 1,
413
+ firstName: "Jan",
414
+ lastName: "Jansens",
415
+ dateOfBirth: new Date(1984, 4, 19),
416
+ gender: 0,
417
+ isMainBooker: true,
418
+ guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
419
+ phone: "+32 471 12 34 56",
420
+ mobile: "+32 471 12 34 56",
421
+ email: "jan.jansens@fake.be",
422
+ },
423
+ {
424
+ id: 2,
425
+ firstName: "Leen",
426
+ lastName: "Leenders",
427
+ dateOfBirth: new Date(1986, 7, 8),
428
+ gender: 1,
429
+ isMainBooker: false,
430
+ guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
431
+ },
432
+ ],
433
+ },
434
+ ],
435
+ address: {
436
+ name: "Jan Jansens",
437
+ street: "Nieuwstraat",
438
+ number: "20",
439
+ postalCode: "9000",
440
+ location: "Gent",
441
+ country: "be",
442
+ mobilePhone: "+32 471 12 34 56",
443
+ email: "jan.jansens@fake.be",
444
+ },
445
+ useShortResponse: true,
446
+ };
447
+
448
+ return createEntryWithShortResponse(config, request).then((data) => {
449
+ expect(data).toBeTruthy();
450
+ });
451
+ });
452
+
453
+ // Just test if the call is succeeding
454
+ test("createPackageOffer", () => {
455
+ const config: TideClientConfig = {
456
+ host: "https://mock.com",
457
+ apiKey: "key123",
458
+ };
459
+
460
+ const request: PackageBookRequest = {
461
+ packageSearchResultCacheKey: "c01e2309-ec28-40da-b8bc-ce920a840110",
462
+ officeId: 1,
463
+ language: "nl-BE",
464
+ rooms: [
465
+ {
466
+ id: 0,
467
+ travelers: [
468
+ {
469
+ id: 1,
470
+ firstName: "Jan",
471
+ lastName: "Jansens",
472
+ dateOfBirth: new Date(1984, 4, 19),
473
+ gender: 0,
474
+ isMainBooker: true,
475
+ guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
476
+ phone: "+32 471 12 34 56",
477
+ mobile: "+32 471 12 34 56",
478
+ email: "jan.jansens@fake.be",
479
+ },
480
+ {
481
+ id: 2,
482
+ firstName: "Leen",
483
+ lastName: "Leenders",
484
+ dateOfBirth: new Date(1986, 7, 8),
485
+ gender: 1,
486
+ isMainBooker: false,
487
+ guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
488
+ },
489
+ ],
490
+ },
491
+ ],
492
+ address: {
493
+ name: "Jan Jansens",
494
+ street: "Nieuwstraat",
495
+ number: "20",
496
+ postalCode: "9000",
497
+ location: "Gent",
498
+ country: "be",
499
+ mobilePhone: "+32 471 12 34 56",
500
+ email: "jan.jansens@fake.be",
501
+ },
502
+ optionGuids: ["62799ded-1014-44ca-bcce-e0429e871028"],
503
+ useShortResponse: false,
504
+ };
505
+
506
+ return createPackageOffer(config, request).then((data) => {
507
+ expect(data).toBeTruthy();
508
+ });
509
+ });
510
+
511
+ // Just test if the call is succeeding
512
+ test("createPackageOfferWithShortResponse", () => {
513
+ const config: TideClientConfig = {
514
+ host: "https://mock.com",
515
+ apiKey: "key123",
516
+ };
517
+
518
+ const request: PackageBookRequest = {
519
+ packageSearchResultCacheKey: "c01e2309-ec28-40da-b8bc-ce920a840110",
520
+ officeId: 1,
521
+ language: "nl-BE",
522
+ rooms: [
523
+ {
524
+ id: 0,
525
+ travelers: [
526
+ {
527
+ id: 1,
528
+ firstName: "Jan",
529
+ lastName: "Jansens",
530
+ dateOfBirth: new Date(1984, 4, 19),
531
+ gender: 0,
532
+ isMainBooker: true,
533
+ guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
534
+ phone: "+32 471 12 34 56",
535
+ mobile: "+32 471 12 34 56",
536
+ email: "jan.jansens@fake.be",
537
+ },
538
+ {
539
+ id: 2,
540
+ firstName: "Leen",
541
+ lastName: "Leenders",
542
+ dateOfBirth: new Date(1986, 7, 8),
543
+ gender: 1,
544
+ isMainBooker: false,
545
+ guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
546
+ },
547
+ ],
548
+ },
549
+ ],
550
+ address: {
551
+ name: "Jan Jansens",
552
+ street: "Nieuwstraat",
553
+ number: "20",
554
+ postalCode: "9000",
555
+ location: "Gent",
556
+ country: "be",
557
+ mobilePhone: "+32 471 12 34 56",
558
+ email: "jan.jansens@fake.be",
559
+ },
560
+ optionGuids: ["62799ded-1014-44ca-bcce-e0429e871028"],
561
+ useShortResponse: false,
562
+ };
563
+
564
+ return createPackageOfferWithShortResponse(config, request).then((data) => {
565
+ expect(data).toBeTruthy();
566
+ });
567
+ });
568
+
569
+ // Just test if the call is succeeding
570
+ test("createPackageEntry", () => {
571
+ const config: TideClientConfig = {
572
+ host: "https://mock.com",
573
+ apiKey: "key123",
574
+ };
575
+
576
+ const request: PackageBookRequest = {
577
+ packageSearchResultCacheKey: "c01e2309-ec28-40da-b8bc-ce920a840110",
578
+ officeId: 1,
579
+ language: "nl-BE",
580
+ rooms: [
581
+ {
582
+ id: 0,
583
+ travelers: [
584
+ {
585
+ id: 1,
586
+ firstName: "Jan",
587
+ lastName: "Jansens",
588
+ dateOfBirth: new Date(1984, 4, 19),
589
+ gender: 0,
590
+ isMainBooker: true,
591
+ guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
592
+ phone: "+32 471 12 34 56",
593
+ mobile: "+32 471 12 34 56",
594
+ email: "jan.jansens@fake.be",
595
+ },
596
+ {
597
+ id: 2,
598
+ firstName: "Leen",
599
+ lastName: "Leenders",
600
+ dateOfBirth: new Date(1986, 7, 8),
601
+ gender: 1,
602
+ isMainBooker: false,
603
+ guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
604
+ },
605
+ ],
606
+ },
607
+ ],
608
+ address: {
609
+ name: "Jan Jansens",
610
+ street: "Nieuwstraat",
611
+ number: "20",
612
+ postalCode: "9000",
613
+ location: "Gent",
614
+ country: "be",
615
+ mobilePhone: "+32 471 12 34 56",
616
+ email: "jan.jansens@fake.be",
617
+ },
618
+ optionGuids: ["62799ded-1014-44ca-bcce-e0429e871028"],
619
+ useShortResponse: false,
620
+ };
621
+
622
+ return createPackageEntry(config, request).then((data) => {
623
+ expect(data).toBeTruthy();
624
+ });
625
+ });
626
+
627
+ // Just test if the call is succeeding
628
+ test("createPackageEntryWithShortResponse", () => {
629
+ const config: TideClientConfig = {
630
+ host: "https://mock.com",
631
+ apiKey: "key123",
632
+ };
633
+
634
+ const request: PackageBookRequest = {
635
+ packageSearchResultCacheKey: "c01e2309-ec28-40da-b8bc-ce920a840110",
636
+ officeId: 1,
637
+ language: "nl-BE",
638
+ rooms: [
639
+ {
640
+ id: 0,
641
+ travelers: [
642
+ {
643
+ id: 1,
644
+ firstName: "Jan",
645
+ lastName: "Jansens",
646
+ dateOfBirth: new Date(1984, 4, 19),
647
+ gender: 0,
648
+ isMainBooker: true,
649
+ guid: "72c90a8f-8871-463a-96f1-292598f3b4b1",
650
+ phone: "+32 471 12 34 56",
651
+ mobile: "+32 471 12 34 56",
652
+ email: "jan.jansens@fake.be",
653
+ },
654
+ {
655
+ id: 2,
656
+ firstName: "Leen",
657
+ lastName: "Leenders",
658
+ dateOfBirth: new Date(1986, 7, 8),
659
+ gender: 1,
660
+ isMainBooker: false,
661
+ guid: "b1ccecfb-7a78-4692-8a1e-cc54191843b9",
662
+ },
663
+ ],
664
+ },
665
+ ],
666
+ address: {
667
+ name: "Jan Jansens",
668
+ street: "Nieuwstraat",
669
+ number: "20",
670
+ postalCode: "9000",
671
+ location: "Gent",
672
+ country: "be",
673
+ mobilePhone: "+32 471 12 34 56",
674
+ email: "jan.jansens@fake.be",
675
+ },
676
+ optionGuids: ["62799ded-1014-44ca-bcce-e0429e871028"],
677
+ useShortResponse: false,
678
+ };
679
+
680
+ return createPackageEntryWithShortResponse(config, request).then((data) => {
681
+ expect(data).toBeTruthy();
682
+ });
683
+ });
684
+
685
+ // Just test if the call is succeeding
686
+ test("getBasePrices", () => {
687
+ const config: TideClientConfig = {
688
+ host: "https://mock.com",
689
+ apiKey: "key123",
690
+ };
691
+
692
+ const request: BasePricesRequest = {
693
+ officeId: 1,
694
+ productId: 972,
695
+ accommodationId: 3769,
696
+ catalogueId: 1,
697
+ from: new Date(2021, 8, 1),
698
+ to: new Date(2021, 10, 1),
699
+ duration: 7,
700
+ };
701
+
702
+ return getBasePrices(config, request).then((data) => {
703
+ expect(data).toBeTruthy();
704
+ });
705
+ });
706
+
707
+ // Just test if the call is succeeding
708
+ test("getBasePricesFromDate", () => {
709
+ const config: TideClientConfig = {
710
+ host: "https://mock.com",
711
+ apiKey: "key123",
712
+ };
713
+
714
+ const request: BasePricesFromDateRequest = {
715
+ officeId: 1,
716
+ productId: 972,
717
+ accommodationId: 3769,
718
+ catalogueId: 1,
719
+ from: new Date(2021, 9, 1),
720
+ to: new Date(2021, 9, 31),
721
+ travellerCount: 2,
722
+ };
723
+
724
+ return getBasePricesFromDate(config, request).then((data) => {
725
+ expect(data).toBeTruthy();
726
+ });
727
+ });
728
+ });