@qite/tide-booking-component 0.0.2-preview.9 → 1.0.0

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 (143) hide show
  1. package/README.md +1 -0
  2. package/build/build-cjs/booking-wizard/components/message.d.ts +1 -0
  3. package/build/build-cjs/booking-wizard/components/product-card.d.ts +1 -2
  4. package/build/build-cjs/booking-wizard/features/booking/api.d.ts +21 -0
  5. package/build/build-cjs/booking-wizard/features/booking/booking-slice.d.ts +105 -19
  6. package/build/build-cjs/booking-wizard/features/booking/booking.d.ts +1 -2
  7. package/build/build-cjs/booking-wizard/features/booking/selectors.d.ts +214 -0
  8. package/build/build-cjs/booking-wizard/features/price-details/price-details-api.d.ts +8 -6
  9. package/build/build-cjs/booking-wizard/features/price-details/price-details-slice.d.ts +98 -30
  10. package/build/build-cjs/booking-wizard/features/price-details/util.d.ts +5 -0
  11. package/build/build-cjs/booking-wizard/features/product-options/no-options.d.ts +2 -0
  12. package/build/build-cjs/booking-wizard/features/product-options/none-option.d.ts +17 -0
  13. package/build/build-cjs/booking-wizard/features/product-options/option-booking-group.d.ts +18 -0
  14. package/build/build-cjs/booking-wizard/features/product-options/option-item.d.ts +11 -0
  15. package/build/build-cjs/booking-wizard/features/product-options/option-pax-card.d.ts +9 -0
  16. package/build/build-cjs/booking-wizard/features/product-options/option-pax-group.d.ts +20 -0
  17. package/build/build-cjs/booking-wizard/features/product-options/option-room.d.ts +16 -0
  18. package/build/build-cjs/booking-wizard/features/product-options/option-unit-group.d.ts +20 -0
  19. package/build/build-cjs/booking-wizard/features/product-options/option-units-card.d.ts +9 -0
  20. package/build/build-cjs/booking-wizard/features/sidebar/index.d.ts +5 -1
  21. package/build/build-cjs/booking-wizard/features/sidebar/sidebar-flight.d.ts +8 -0
  22. package/build/build-cjs/booking-wizard/features/sidebar/sidebar-util.d.ts +22 -5
  23. package/build/build-cjs/booking-wizard/features/sidebar/sidebar.d.ts +16 -8
  24. package/build/build-cjs/booking-wizard/features/summary/summary-booking-option-pax.d.ts +7 -0
  25. package/build/build-cjs/booking-wizard/features/summary/summary-booking-option-unit.d.ts +7 -0
  26. package/build/build-cjs/booking-wizard/features/summary/summary-flight.d.ts +8 -0
  27. package/build/build-cjs/booking-wizard/features/summary/summary-per-booking-option-group.d.ts +10 -0
  28. package/build/build-cjs/booking-wizard/features/summary/summary-per-pax-option-group.d.ts +10 -0
  29. package/build/build-cjs/booking-wizard/features/summary/summary-per-unit-option-group.d.ts +10 -0
  30. package/build/build-cjs/booking-wizard/features/summary/summary-slice.d.ts +0 -28
  31. package/build/build-cjs/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +82 -88
  32. package/build/build-cjs/booking-wizard/features/travelers-form/type-ahead-input.d.ts +1 -0
  33. package/build/build-cjs/booking-wizard/features/travelers-form/validate-form.d.ts +2 -1
  34. package/build/build-cjs/booking-wizard/index.d.ts +3 -2
  35. package/build/build-cjs/booking-wizard/store.d.ts +23 -45
  36. package/build/build-cjs/booking-wizard/types.d.ts +65 -11
  37. package/build/build-cjs/booking-wizard/utils/query-string-util.d.ts +13 -0
  38. package/build/build-cjs/index.js +12282 -2376
  39. package/build/build-esm/booking-wizard/components/message.d.ts +1 -0
  40. package/build/build-esm/booking-wizard/components/product-card.d.ts +1 -2
  41. package/build/build-esm/booking-wizard/features/booking/api.d.ts +21 -0
  42. package/build/build-esm/booking-wizard/features/booking/booking-slice.d.ts +105 -19
  43. package/build/build-esm/booking-wizard/features/booking/booking.d.ts +1 -2
  44. package/build/build-esm/booking-wizard/features/booking/selectors.d.ts +214 -0
  45. package/build/build-esm/booking-wizard/features/price-details/price-details-api.d.ts +8 -6
  46. package/build/build-esm/booking-wizard/features/price-details/price-details-slice.d.ts +98 -30
  47. package/build/build-esm/booking-wizard/features/price-details/util.d.ts +5 -0
  48. package/build/build-esm/booking-wizard/features/product-options/no-options.d.ts +2 -0
  49. package/build/build-esm/booking-wizard/features/product-options/none-option.d.ts +17 -0
  50. package/build/build-esm/booking-wizard/features/product-options/option-booking-group.d.ts +18 -0
  51. package/build/build-esm/booking-wizard/features/product-options/option-item.d.ts +11 -0
  52. package/build/build-esm/booking-wizard/features/product-options/option-pax-card.d.ts +9 -0
  53. package/build/build-esm/booking-wizard/features/product-options/option-pax-group.d.ts +20 -0
  54. package/build/build-esm/booking-wizard/features/product-options/option-room.d.ts +16 -0
  55. package/build/build-esm/booking-wizard/features/product-options/option-unit-group.d.ts +20 -0
  56. package/build/build-esm/booking-wizard/features/product-options/option-units-card.d.ts +9 -0
  57. package/build/build-esm/booking-wizard/features/sidebar/index.d.ts +5 -1
  58. package/build/build-esm/booking-wizard/features/sidebar/sidebar-flight.d.ts +8 -0
  59. package/build/build-esm/booking-wizard/features/sidebar/sidebar-util.d.ts +22 -5
  60. package/build/build-esm/booking-wizard/features/sidebar/sidebar.d.ts +16 -8
  61. package/build/build-esm/booking-wizard/features/summary/summary-booking-option-pax.d.ts +7 -0
  62. package/build/build-esm/booking-wizard/features/summary/summary-booking-option-unit.d.ts +7 -0
  63. package/build/build-esm/booking-wizard/features/summary/summary-flight.d.ts +8 -0
  64. package/build/build-esm/booking-wizard/features/summary/summary-per-booking-option-group.d.ts +10 -0
  65. package/build/build-esm/booking-wizard/features/summary/summary-per-pax-option-group.d.ts +10 -0
  66. package/build/build-esm/booking-wizard/features/summary/summary-per-unit-option-group.d.ts +10 -0
  67. package/build/build-esm/booking-wizard/features/summary/summary-slice.d.ts +0 -28
  68. package/build/build-esm/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +82 -88
  69. package/build/build-esm/booking-wizard/features/travelers-form/type-ahead-input.d.ts +1 -0
  70. package/build/build-esm/booking-wizard/features/travelers-form/validate-form.d.ts +2 -1
  71. package/build/build-esm/booking-wizard/index.d.ts +3 -2
  72. package/build/build-esm/booking-wizard/store.d.ts +23 -45
  73. package/build/build-esm/booking-wizard/types.d.ts +65 -11
  74. package/build/build-esm/booking-wizard/utils/query-string-util.d.ts +13 -0
  75. package/build/build-esm/index.js +12111 -2331
  76. package/package.json +71 -67
  77. package/rollup.config.js +1 -6
  78. package/src/booking-wizard/components/message.tsx +14 -8
  79. package/src/booking-wizard/components/product-card.tsx +10 -39
  80. package/src/booking-wizard/components/step-indicator.tsx +1 -1
  81. package/src/booking-wizard/components/step-route.tsx +1 -1
  82. package/src/booking-wizard/features/booking/api.ts +44 -0
  83. package/src/booking-wizard/features/booking/booking-slice.ts +274 -40
  84. package/src/booking-wizard/features/booking/booking.tsx +186 -52
  85. package/src/booking-wizard/features/booking/selectors.ts +325 -0
  86. package/src/booking-wizard/features/confirmation/confirmation.tsx +22 -11
  87. package/src/booking-wizard/features/error/error.tsx +15 -2
  88. package/src/booking-wizard/features/price-details/price-details-api.ts +12 -6
  89. package/src/booking-wizard/features/price-details/price-details-slice.ts +80 -50
  90. package/src/booking-wizard/features/price-details/util.ts +135 -0
  91. package/src/booking-wizard/features/product-options/no-options.tsx +18 -0
  92. package/src/booking-wizard/features/product-options/none-option.tsx +118 -0
  93. package/src/booking-wizard/features/product-options/option-booking-group.tsx +210 -0
  94. package/src/booking-wizard/features/product-options/option-item.tsx +321 -0
  95. package/src/booking-wizard/features/product-options/option-pax-card.tsx +102 -0
  96. package/src/booking-wizard/features/product-options/option-pax-group.tsx +169 -0
  97. package/src/booking-wizard/features/product-options/option-room.tsx +300 -0
  98. package/src/booking-wizard/features/product-options/option-unit-group.tsx +192 -0
  99. package/src/booking-wizard/features/product-options/option-units-card.tsx +100 -0
  100. package/src/booking-wizard/features/product-options/options-form.tsx +225 -48
  101. package/src/booking-wizard/features/sidebar/index.tsx +43 -20
  102. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +66 -0
  103. package/src/booking-wizard/features/sidebar/sidebar-util.ts +81 -39
  104. package/src/booking-wizard/features/sidebar/sidebar.tsx +150 -100
  105. package/src/booking-wizard/features/summary/summary-booking-option-pax.tsx +25 -0
  106. package/src/booking-wizard/features/summary/summary-booking-option-unit.tsx +25 -0
  107. package/src/booking-wizard/features/summary/summary-flight.tsx +35 -0
  108. package/src/booking-wizard/features/summary/summary-per-booking-option-group.tsx +57 -0
  109. package/src/booking-wizard/features/summary/summary-per-pax-option-group.tsx +51 -0
  110. package/src/booking-wizard/features/summary/summary-per-unit-option-group.tsx +54 -0
  111. package/src/booking-wizard/features/summary/summary-slice.ts +1 -134
  112. package/src/booking-wizard/features/summary/summary.tsx +521 -134
  113. package/src/booking-wizard/features/travelers-form/travelers-form-slice.ts +54 -55
  114. package/src/booking-wizard/features/travelers-form/travelers-form.tsx +202 -94
  115. package/src/booking-wizard/features/travelers-form/type-ahead-input.tsx +23 -3
  116. package/src/booking-wizard/features/travelers-form/validate-form.ts +40 -3
  117. package/src/booking-wizard/index.tsx +5 -6
  118. package/src/booking-wizard/settings-context.ts +33 -5
  119. package/src/booking-wizard/store.ts +5 -4
  120. package/src/booking-wizard/translations/translations.json +95 -61
  121. package/src/booking-wizard/types.ts +67 -10
  122. package/src/booking-wizard/utils/query-string-util.ts +42 -0
  123. package/build/build-cjs/booking-wizard/features/product-options/checkbox.d.ts +0 -11
  124. package/build/build-cjs/booking-wizard/features/product-options/option-details.d.ts +0 -11
  125. package/build/build-cjs/booking-wizard/features/product-options/product-options-api.d.ts +0 -29
  126. package/build/build-cjs/booking-wizard/features/product-options/product-options-slice.d.ts +0 -75
  127. package/build/build-cjs/booking-wizard/features/product-options/radio-button.d.ts +0 -10
  128. package/build/build-cjs/booking-wizard/features/product-options/rooms-slice.d.ts +0 -23
  129. package/build/build-cjs/booking-wizard/features/product-options/tree-level.d.ts +0 -7
  130. package/build/build-esm/booking-wizard/features/product-options/checkbox.d.ts +0 -11
  131. package/build/build-esm/booking-wizard/features/product-options/option-details.d.ts +0 -11
  132. package/build/build-esm/booking-wizard/features/product-options/product-options-api.d.ts +0 -29
  133. package/build/build-esm/booking-wizard/features/product-options/product-options-slice.d.ts +0 -75
  134. package/build/build-esm/booking-wizard/features/product-options/radio-button.d.ts +0 -10
  135. package/build/build-esm/booking-wizard/features/product-options/rooms-slice.d.ts +0 -23
  136. package/build/build-esm/booking-wizard/features/product-options/tree-level.d.ts +0 -7
  137. package/src/booking-wizard/features/product-options/checkbox.tsx +0 -38
  138. package/src/booking-wizard/features/product-options/option-details.tsx +0 -65
  139. package/src/booking-wizard/features/product-options/product-options-api.ts +0 -148
  140. package/src/booking-wizard/features/product-options/product-options-slice.ts +0 -149
  141. package/src/booking-wizard/features/product-options/radio-button.tsx +0 -35
  142. package/src/booking-wizard/features/product-options/rooms-slice.ts +0 -28
  143. package/src/booking-wizard/features/product-options/tree-level.tsx +0 -118
package/README.md CHANGED
@@ -5,3 +5,4 @@ This is the unified Tide Booking Component.
5
5
  ## Remarks
6
6
 
7
7
  Do not forget to sync React versions when you're doing local changes and when you try to test them in a local React project (check https://reactjs.org/warnings/invalid-hook-call-warning.html#duplicate-react).
8
+ If using the playground, after installing it's node modules execute the following command in the root folder `npm link ./playground/node_modules/react`
@@ -3,6 +3,7 @@ interface MessageProps {
3
3
  type: "error" | "success";
4
4
  title: string;
5
5
  actionComponent?: JSX.Element;
6
+ children?: JSX.Element | JSX.Element[];
6
7
  }
7
8
  declare const Message: React.FC<MessageProps>;
8
9
  export default Message;
@@ -1,9 +1,8 @@
1
1
  import React from "react";
2
2
  interface ProductCardProps {
3
3
  productName: string;
4
- productDescription?: string;
5
4
  thumbnailUrl?: string;
6
- rating?: number;
5
+ handleToggleClick: () => void;
7
6
  }
8
7
  declare const ProductCard: React.FC<ProductCardProps>;
9
8
  export default ProductCard;
@@ -0,0 +1,21 @@
1
+ import {
2
+ BookingPackageRequest,
3
+ BookingPackageDetailsRequest,
4
+ BookingPackage,
5
+ BookingPackageBookRequest,
6
+ BookingPriceDetails,
7
+ BookingTravelAgent,
8
+ TideResponse,
9
+ } from "@qite/tide-client/build/types";
10
+ declare const packageApi: {
11
+ fetchDetails: (
12
+ request: BookingPackageRequest<BookingPackageDetailsRequest>,
13
+ signal: AbortSignal
14
+ ) => Promise<TideResponse<BookingPackage>>;
15
+ fetchPriceDetails: (
16
+ request: BookingPackageRequest<BookingPackageBookRequest>,
17
+ signal: AbortSignal
18
+ ) => Promise<BookingPriceDetails>;
19
+ fetchAgents: (signal: AbortSignal) => Promise<BookingTravelAgent[]>;
20
+ };
21
+ export default packageApi;
@@ -1,16 +1,64 @@
1
- import { BookingAttributes, ProductAttributes } from "../../types";
2
- import { RootState } from "../../store";
1
+ import {
2
+ BookingAttributes,
3
+ BookingOptions,
4
+ ProductAttributes,
5
+ } from "../../types";
6
+ import {
7
+ BookingOptionGroup,
8
+ BookingOptionPax,
9
+ BookingOptionUnit,
10
+ BookingPackage,
11
+ BookingPackageRoom,
12
+ BookingTravelAgent,
13
+ PerBookingPackageOption,
14
+ } from "@qite/tide-client/build/types";
3
15
  export interface BookingState {
4
16
  officeId: number;
17
+ entryStatus: number;
18
+ customEntryStatusId?: number;
5
19
  productAttributes?: ProductAttributes;
6
20
  bookingAttributes?: BookingAttributes;
7
- cacheKey?: string;
21
+ calculateDeposit: boolean;
8
22
  bookingNumber?: string;
23
+ isRetry: boolean;
24
+ package?: BookingPackage;
25
+ agents?: BookingTravelAgent[];
26
+ isBusy: boolean;
27
+ skipPaymentWithAgent: boolean;
28
+ generatePaymentUrl: boolean;
29
+ isUnavailable?: boolean;
30
+ tagIds?: number[];
31
+ agentAdressId?: number;
32
+ remarks?: string;
33
+ voucherCodes?: string[];
34
+ bookingOptions?: BookingOptions;
35
+ bookingType: string;
9
36
  }
37
+ export declare const fetchPackage: import("@reduxjs/toolkit").AsyncThunk<
38
+ void,
39
+ void,
40
+ {}
41
+ >;
10
42
  export declare const setOfficeId: import("@reduxjs/toolkit").ActionCreatorWithPayload<
11
43
  number,
12
44
  string
13
45
  >,
46
+ setEntryStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<
47
+ number,
48
+ string
49
+ >,
50
+ setCustomEntryStatusId: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<
51
+ number | undefined,
52
+ string
53
+ >,
54
+ setBookingOptions: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<
55
+ BookingOptions | undefined,
56
+ string
57
+ >,
58
+ setBookingType: import("@reduxjs/toolkit").ActionCreatorWithPayload<
59
+ string,
60
+ string
61
+ >,
14
62
  setProductAttributes: import("@reduxjs/toolkit").ActionCreatorWithPayload<
15
63
  ProductAttributes,
16
64
  string
@@ -19,28 +67,66 @@ export declare const setOfficeId: import("@reduxjs/toolkit").ActionCreatorWithPa
19
67
  BookingAttributes,
20
68
  string
21
69
  >,
22
- setCacheKey: import("@reduxjs/toolkit").ActionCreatorWithPayload<
23
- string,
70
+ setCalculateDeposit: import("@reduxjs/toolkit").ActionCreatorWithPayload<
71
+ boolean,
24
72
  string
25
73
  >,
26
74
  setBookingNumber: import("@reduxjs/toolkit").ActionCreatorWithPayload<
27
75
  string,
28
76
  string
77
+ >,
78
+ setIsRetry: import("@reduxjs/toolkit").ActionCreatorWithPayload<
79
+ boolean,
80
+ string
81
+ >,
82
+ setFetchingPackage: import("@reduxjs/toolkit").ActionCreatorWithPayload<
83
+ boolean,
84
+ string
85
+ >,
86
+ setPackage: import("@reduxjs/toolkit").ActionCreatorWithPayload<
87
+ BookingPackage,
88
+ string
89
+ >,
90
+ setPackageRooms: import("@reduxjs/toolkit").ActionCreatorWithPayload<
91
+ BookingPackageRoom[],
92
+ string
93
+ >,
94
+ setPackageOptionPax: import("@reduxjs/toolkit").ActionCreatorWithPayload<
95
+ BookingOptionPax[],
96
+ string
97
+ >,
98
+ setPackageOptionUnits: import("@reduxjs/toolkit").ActionCreatorWithPayload<
99
+ BookingOptionUnit[],
100
+ string
101
+ >,
102
+ setPackageGroups: import("@reduxjs/toolkit").ActionCreatorWithPayload<
103
+ BookingOptionGroup<PerBookingPackageOption>[],
104
+ string
105
+ >,
106
+ setSkipPayment: import("@reduxjs/toolkit").ActionCreatorWithPayload<
107
+ boolean,
108
+ string
109
+ >,
110
+ setGeneratePaymentUrl: import("@reduxjs/toolkit").ActionCreatorWithPayload<
111
+ boolean,
112
+ string
113
+ >,
114
+ setTagIds: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<
115
+ number[] | undefined,
116
+ string
117
+ >,
118
+ setAgentAdressId: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<
119
+ number | undefined,
120
+ string
121
+ >,
122
+ setBookingRemarks: import("@reduxjs/toolkit").ActionCreatorWithPayload<
123
+ string,
124
+ string
125
+ >,
126
+ setVoucherCodes: import("@reduxjs/toolkit").ActionCreatorWithPayload<
127
+ string[],
128
+ string
29
129
  >;
30
- export declare const selectOfficeId: (state: RootState) => number;
31
- export declare const selectCacheKey: (state: RootState) => string | undefined;
32
- export declare const selectProductAttributes: (
33
- state: RootState
34
- ) => ProductAttributes | undefined;
35
- export declare const selectBookingAttributes: (
36
- state: RootState
37
- ) => BookingAttributes | undefined;
38
- export declare const selectBookingNumber: (
39
- state: RootState
40
- ) => string | undefined;
41
- export declare const selectBookingQueryString: (
42
- state: RootState
43
- ) => string | undefined;
44
130
  declare const _default: import("redux").Reducer<
45
131
  BookingState,
46
132
  import("redux").AnyAction
@@ -1,8 +1,7 @@
1
1
  import React from "react";
2
2
  interface BookingProps {
3
- productId: number;
3
+ productCode: string;
4
4
  productName: string;
5
- productDescription?: string;
6
5
  thumbnailUrl?: string;
7
6
  }
8
7
  declare const Booking: React.FC<BookingProps>;
@@ -0,0 +1,214 @@
1
+ import {
2
+ BookingPackageAddress,
3
+ BookingPackageBookRequest,
4
+ BookingPackagePax,
5
+ BookingPackageRequest,
6
+ } from "@qite/tide-client/build/types/offer";
7
+ import { RootState } from "../../store";
8
+ import { Room } from "../../types";
9
+ export declare const selectGeneratePaymentUrl: (state: RootState) => boolean;
10
+ export declare const selectSkipPaymentWithAgent: (state: RootState) => boolean;
11
+ export declare const selectIsFetchingProductOptions: (
12
+ state: RootState
13
+ ) => boolean;
14
+ export declare const selectDepartureFlight: (
15
+ state: RootState
16
+ ) =>
17
+ | import("@qite/tide-client/build/types/offer").BookingPackageFlight
18
+ | undefined;
19
+ export declare const selectReturnFlight: (
20
+ state: RootState
21
+ ) =>
22
+ | import("@qite/tide-client/build/types/offer").BookingPackageFlight
23
+ | undefined;
24
+ export declare const selectPackageRooms: (
25
+ state: RootState
26
+ ) =>
27
+ | import("@qite/tide-client/build/types/offer").BookingPackageRoom[]
28
+ | undefined;
29
+ export declare const selectIsOnRequest: (
30
+ state: RootState
31
+ ) => boolean | undefined;
32
+ export declare const selectPackageOptionUnits: (
33
+ state: RootState
34
+ ) =>
35
+ | import("@qite/tide-client/build/types/offer").BookingOptionUnit[]
36
+ | undefined;
37
+ export declare const selectPackageOptionPax: (
38
+ state: RootState
39
+ ) =>
40
+ | import("@qite/tide-client/build/types/offer").BookingOptionPax[]
41
+ | undefined;
42
+ export declare const selectPackageGroups: (
43
+ state: RootState
44
+ ) =>
45
+ | import("@qite/tide-client/build/types/offer").BookingOptionGroup<
46
+ import("@qite/tide-client/build/types/offer").PerBookingPackageOption
47
+ >[]
48
+ | undefined;
49
+ export declare const selectPackageDetails: (
50
+ state: RootState
51
+ ) => import("@qite/tide-client/build/types/offer").BookingPackage | undefined;
52
+ export declare const selectActiveOption: (
53
+ state: RootState
54
+ ) =>
55
+ | import("@qite/tide-client/build/types/offer/booking-v2/shared/booking-package-option").BookingPackageOption
56
+ | undefined;
57
+ export declare const selectIsUnavailable: (
58
+ state: RootState
59
+ ) => boolean | undefined;
60
+ export declare const selectRequestRooms: (
61
+ state: RootState
62
+ ) =>
63
+ | import("@qite/tide-client/build/types/offer").BookingPackageRequestRoom[]
64
+ | undefined;
65
+ export declare const selectOfficeId: (state: RootState) => number;
66
+ export declare const selectEntryStatus: (state: RootState) => number;
67
+ export declare const selectCustomEntryStatusId: (
68
+ state: RootState
69
+ ) => number | undefined;
70
+ export declare const selectBookingOptions: (
71
+ state: RootState
72
+ ) => import("../../types").BookingOptions | undefined;
73
+ export declare const selectBookingType: (state: RootState) => string;
74
+ export declare const selectTagIds: (state: RootState) => number[] | undefined;
75
+ export declare const selectAgentAdressId: (
76
+ state: RootState
77
+ ) => number | undefined;
78
+ export declare const selectProductAttributes: (
79
+ state: RootState
80
+ ) => import("../../types").ProductAttributes | undefined;
81
+ export declare const selectBookingAttributes: (
82
+ state: RootState
83
+ ) => import("../../types").BookingAttributes | undefined;
84
+ export declare const selectBookingNumber: (
85
+ state: RootState
86
+ ) => string | undefined;
87
+ export declare const selectBookingRooms: (
88
+ state: RootState
89
+ ) => Room[] | undefined;
90
+ export declare const selectBookingRemarks: (
91
+ state: RootState
92
+ ) => string | undefined;
93
+ export declare const selectVoucherCodes: (
94
+ state: RootState
95
+ ) => string[] | undefined;
96
+ export declare const selectCalculateDeposit: (state: RootState) => boolean;
97
+ export declare const selectIsRetry: (state: RootState) => boolean;
98
+ export declare const selectStartDate: (state: RootState) => string | undefined;
99
+ export declare const selectAgents: (
100
+ state: RootState
101
+ ) =>
102
+ | import("@qite/tide-client/build/types/offer").BookingTravelAgent[]
103
+ | undefined;
104
+ export declare const selectBookingQuery: (
105
+ state: RootState
106
+ ) => Record<string, string> | undefined;
107
+ export declare const selectBookingQueryString: ((state: {
108
+ booking: import("./booking-slice").BookingState;
109
+ travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
110
+ priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
111
+ summary: import("../summary/summary-slice").SummaryState;
112
+ }) => string | undefined) &
113
+ import("reselect").OutputSelectorFields<
114
+ (args_0: Record<string, string> | undefined) => string & {
115
+ clearCache: () => void;
116
+ }
117
+ > & {
118
+ clearCache: () => void;
119
+ };
120
+ export declare const selectMainBookerId: ((state: {
121
+ booking: import("./booking-slice").BookingState;
122
+ travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
123
+ priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
124
+ summary: import("../summary/summary-slice").SummaryState;
125
+ }) => number | undefined) &
126
+ import("reselect").OutputSelectorFields<
127
+ (
128
+ args_0: import("../../types").TravelersFormValues | undefined
129
+ ) => number & {
130
+ clearCache: () => void;
131
+ }
132
+ > & {
133
+ clearCache: () => void;
134
+ };
135
+ export declare const selectBookingPackagePax: ((state: {
136
+ booking: import("./booking-slice").BookingState;
137
+ travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
138
+ priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
139
+ summary: import("../summary/summary-slice").SummaryState;
140
+ }) => BookingPackagePax[]) &
141
+ import("reselect").OutputSelectorFields<
142
+ (
143
+ args_0: import("../../types").TravelersFormValues | undefined
144
+ ) => BookingPackagePax[] & {
145
+ clearCache: () => void;
146
+ }
147
+ > & {
148
+ clearCache: () => void;
149
+ };
150
+ export declare const selectBookingAddress: ((state: {
151
+ booking: import("./booking-slice").BookingState;
152
+ travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
153
+ priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
154
+ summary: import("../summary/summary-slice").SummaryState;
155
+ }) => BookingPackageAddress | undefined) &
156
+ import("reselect").OutputSelectorFields<
157
+ (
158
+ args_0: import("../../types").TravelersFormValues | undefined,
159
+ args_1: BookingPackagePax[]
160
+ ) => BookingPackageAddress & {
161
+ clearCache: () => void;
162
+ }
163
+ > & {
164
+ clearCache: () => void;
165
+ };
166
+ export declare const selectBookingPackageRequest: ((state: {
167
+ booking: import("./booking-slice").BookingState;
168
+ travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
169
+ priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
170
+ summary: import("../summary/summary-slice").SummaryState;
171
+ }) => BookingPackageRequest<any>) &
172
+ import("reselect").OutputSelectorFields<
173
+ (
174
+ args_0: number,
175
+ args_1: number | undefined,
176
+ args_2: number | undefined
177
+ ) => BookingPackageRequest<any> & {
178
+ clearCache: () => void;
179
+ }
180
+ > & {
181
+ clearCache: () => void;
182
+ };
183
+ export declare const selectBookingPackageBookRequest: ((state: {
184
+ booking: import("./booking-slice").BookingState;
185
+ travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
186
+ priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
187
+ summary: import("../summary/summary-slice").SummaryState;
188
+ }) => BookingPackageRequest<BookingPackageBookRequest> | null) &
189
+ import("reselect").OutputSelectorFields<
190
+ (
191
+ args_0: BookingPackageRequest<any>,
192
+ args_1: number,
193
+ args_2: number | undefined,
194
+ args_3: import("../../types").BookingOptions | undefined,
195
+ args_4: string,
196
+ args_5: BookingPackagePax[],
197
+ args_6: BookingPackageAddress | undefined,
198
+ args_7:
199
+ | import("@qite/tide-client/build/types/offer").BookingPackage
200
+ | undefined,
201
+ args_8: boolean,
202
+ args_9: number | undefined,
203
+ args_10: boolean,
204
+ args_11: boolean,
205
+ args_12: import("@qite/tide-client/build/types/offer").BookingProductNotification[],
206
+ args_13: number[] | undefined,
207
+ args_14: string | undefined,
208
+ args_15: string[] | undefined
209
+ ) => BookingPackageRequest<BookingPackageBookRequest> & {
210
+ clearCache: () => void;
211
+ }
212
+ > & {
213
+ clearCache: () => void;
214
+ };
@@ -1,10 +1,12 @@
1
- import { PackagePriceDetailsRequest } from "@qite/tide-client/src/types/offer";
2
- export declare const fetchPriceDetails: (
3
- request: PackagePriceDetailsRequest
4
- ) => Promise<import("@qite/tide-client").PriceDetail[]>;
1
+ import {
2
+ BookingPackageBookRequest,
3
+ BookingPackageRequest,
4
+ BookingPriceDetails,
5
+ } from "@qite/tide-client/build/types";
5
6
  declare const priceDetailsApi: {
6
7
  fetchPriceDetails: (
7
- request: PackagePriceDetailsRequest
8
- ) => Promise<import("@qite/tide-client").PriceDetail[]>;
8
+ request: BookingPackageRequest<BookingPackageBookRequest>,
9
+ signal: AbortSignal
10
+ ) => Promise<BookingPriceDetails>;
9
11
  };
10
12
  export default priceDetailsApi;
@@ -1,37 +1,105 @@
1
- import { PackagePriceDetailsRequest, PriceDetail } from "@qite/tide-client";
1
+ import { RootState } from "../../store";
2
+ import {
3
+ BookingPriceDetail,
4
+ BookingPriceDetails,
5
+ BookingProductNotification,
6
+ } from "@qite/tide-client/build/types";
7
+ export interface PriceDetailsState {
8
+ priceDetails: BookingPriceDetail[];
9
+ notifications: BookingProductNotification[];
10
+ deposit?: number;
11
+ isBusy: boolean;
12
+ }
2
13
  export declare const fetchPriceDetails: import("@reduxjs/toolkit").AsyncThunk<
3
- PriceDetail[],
4
- PackagePriceDetailsRequest | undefined,
14
+ BookingPriceDetails,
15
+ void,
5
16
  {}
6
17
  >;
7
- export declare const selectPriceDetails: () => PriceDetail[];
8
- export declare const selectPackagePriceDetails: import("reselect").OutputSelector<
9
- unknown,
10
- PriceDetail[],
11
- (res: PriceDetail[]) => PriceDetail[]
12
- >;
13
- export declare const selectSeparatePackagePriceDetails: import("reselect").OutputSelector<
14
- unknown,
15
- PriceDetail[],
16
- (res: PriceDetail[]) => PriceDetail[]
17
- >;
18
- export declare const selectBasePrice: import("reselect").OutputSelector<
19
- unknown,
20
- number,
21
- (res: PriceDetail[]) => number
22
- >;
23
- export declare const selectSeparateExtraPriceDetails: import("reselect").OutputSelector<
24
- unknown,
25
- PriceDetail[],
26
- (res: PriceDetail[]) => PriceDetail[]
27
- >;
28
- export declare const selectTotalPrice: import("reselect").OutputSelector<
29
- unknown,
30
- number,
31
- (res1: number, res2: PriceDetail[]) => number
32
- >;
18
+ export declare const selectPriceDetails: (
19
+ state: RootState
20
+ ) => BookingPriceDetail[];
21
+ export declare const selectPackagePriceDetails: ((state: {
22
+ booking: import("../booking/booking-slice").BookingState;
23
+ travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
24
+ priceDetails: PriceDetailsState;
25
+ summary: import("../summary/summary-slice").SummaryState;
26
+ }) => BookingPriceDetail[]) &
27
+ import("reselect").OutputSelectorFields<
28
+ (args_0: BookingPriceDetail[]) => BookingPriceDetail[] & {
29
+ clearCache: () => void;
30
+ }
31
+ > & {
32
+ clearCache: () => void;
33
+ };
34
+ export declare const selectSeparatePackagePriceDetails: ((state: {
35
+ booking: import("../booking/booking-slice").BookingState;
36
+ travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
37
+ priceDetails: PriceDetailsState;
38
+ summary: import("../summary/summary-slice").SummaryState;
39
+ }) => BookingPriceDetail[]) &
40
+ import("reselect").OutputSelectorFields<
41
+ (args_0: BookingPriceDetail[]) => BookingPriceDetail[] & {
42
+ clearCache: () => void;
43
+ }
44
+ > & {
45
+ clearCache: () => void;
46
+ };
47
+ export declare const selectBasePrice: ((state: {
48
+ booking: import("../booking/booking-slice").BookingState;
49
+ travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
50
+ priceDetails: PriceDetailsState;
51
+ summary: import("../summary/summary-slice").SummaryState;
52
+ }) => number) &
53
+ import("reselect").OutputSelectorFields<
54
+ (args_0: BookingPriceDetail[]) => number & {
55
+ clearCache: () => void;
56
+ }
57
+ > & {
58
+ clearCache: () => void;
59
+ };
60
+ export declare const selectSeparateExtraPriceDetails: ((state: {
61
+ booking: import("../booking/booking-slice").BookingState;
62
+ travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
63
+ priceDetails: PriceDetailsState;
64
+ summary: import("../summary/summary-slice").SummaryState;
65
+ }) => BookingPriceDetail[]) &
66
+ import("reselect").OutputSelectorFields<
67
+ (args_0: BookingPriceDetail[]) => BookingPriceDetail[] & {
68
+ clearCache: () => void;
69
+ }
70
+ > & {
71
+ clearCache: () => void;
72
+ };
73
+ export declare const selectTotalPrice: ((state: {
74
+ booking: import("../booking/booking-slice").BookingState;
75
+ travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
76
+ priceDetails: PriceDetailsState;
77
+ summary: import("../summary/summary-slice").SummaryState;
78
+ }) => number) &
79
+ import("reselect").OutputSelectorFields<
80
+ (
81
+ args_0: number,
82
+ args_1: BookingPriceDetail[]
83
+ ) => number & {
84
+ clearCache: () => void;
85
+ }
86
+ > & {
87
+ clearCache: () => void;
88
+ };
89
+ export declare const selectDeposit: (state: RootState) => number | undefined;
90
+ export declare const selectIsFetchingPriceDetails: (
91
+ state: RootState
92
+ ) => boolean;
93
+ export declare const selectNotifications: (
94
+ state: RootState
95
+ ) => BookingProductNotification[];
96
+ export declare const resetPriceDetails: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>,
97
+ setNotifications: import("@reduxjs/toolkit").ActionCreatorWithPayload<
98
+ BookingProductNotification[],
99
+ string
100
+ >;
33
101
  declare const _default: import("redux").Reducer<
34
- import("@reduxjs/toolkit").EntityState<PriceDetail>,
102
+ PriceDetailsState,
35
103
  import("redux").AnyAction
36
104
  >;
37
105
  export default _default;
@@ -0,0 +1,5 @@
1
+ import { BookingPackage, ChangedLine } from "@qite/tide-client/build/types";
2
+ export declare const updatePackageDetails: (
3
+ packageDetails: BookingPackage,
4
+ changedLines: ChangedLine[]
5
+ ) => BookingPackage;
@@ -0,0 +1,2 @@
1
+ declare const NoOptions: () => JSX.Element;
2
+ export default NoOptions;
@@ -0,0 +1,17 @@
1
+ import {
2
+ BookingOptionGroup,
3
+ PerBookingPackageOption,
4
+ PerPaxPackageOption,
5
+ PerUnitPackageOption,
6
+ } from "@qite/tide-client/build/types";
7
+ import React from "react";
8
+ interface NoneOptionProps {
9
+ group:
10
+ | BookingOptionGroup<PerBookingPackageOption>
11
+ | BookingOptionGroup<PerUnitPackageOption>
12
+ | BookingOptionGroup<PerPaxPackageOption>;
13
+ parentId: string;
14
+ handleNoneSelectionChanged: () => void;
15
+ }
16
+ declare const NoneOption: React.FC<NoneOptionProps>;
17
+ export default NoneOption;
@@ -0,0 +1,18 @@
1
+ import {
2
+ BookingOptionGroup,
3
+ PerBookingPackageOption,
4
+ } from "@qite/tide-client/build/types";
5
+ import React from "react";
6
+ interface OptionBookingGroupProps {
7
+ optionId?: string;
8
+ group: BookingOptionGroup<PerBookingPackageOption>;
9
+ firstClassName: string;
10
+ secondClassName: string;
11
+ parentId: string;
12
+ onGroupChange?: (
13
+ group: BookingOptionGroup<PerBookingPackageOption>,
14
+ optionId?: string
15
+ ) => void;
16
+ }
17
+ declare const OptionBookingGroup: React.FC<OptionBookingGroupProps>;
18
+ export default OptionBookingGroup;
@@ -0,0 +1,11 @@
1
+ import { PerPackageOption } from "@qite/tide-client/build/types";
2
+ import React from "react";
3
+ interface OptionItemProps {
4
+ option: PerPackageOption;
5
+ parentId: string;
6
+ index: number;
7
+ selectedPrice: number;
8
+ onOptionChange?: (option: PerPackageOption, index: number) => void;
9
+ }
10
+ declare const OptionItem: React.FC<OptionItemProps>;
11
+ export default OptionItem;
@@ -0,0 +1,9 @@
1
+ import { BookingOptionPax } from "@qite/tide-client/build/types";
2
+ import React from "react";
3
+ interface OptionPaxCardProps {
4
+ pax: BookingOptionPax[];
5
+ parentIndex?: number;
6
+ onPaxChange?: (pax: BookingOptionPax[], index?: number) => void;
7
+ }
8
+ declare const OptionPaxCard: React.FC<OptionPaxCardProps>;
9
+ export default OptionPaxCard;
@@ -0,0 +1,20 @@
1
+ import {
2
+ BookingOptionGroup,
3
+ PerPaxPackageOption,
4
+ } from "@qite/tide-client/build/types";
5
+ import React from "react";
6
+ interface OptionPaxGroupProps {
7
+ paxId: number;
8
+ optionId?: string;
9
+ group: BookingOptionGroup<PerPaxPackageOption>;
10
+ firstClassName: string;
11
+ secondClassName: string;
12
+ parentId: string;
13
+ onGroupChange?: (
14
+ group: BookingOptionGroup<PerPaxPackageOption>,
15
+ paxId: number,
16
+ optionId?: string
17
+ ) => void;
18
+ }
19
+ declare const OptionPaxGroup: React.FC<OptionPaxGroupProps>;
20
+ export default OptionPaxGroup;