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

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 +95 -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 +208 -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 +63 -11
  37. package/build/build-cjs/booking-wizard/utils/query-string-util.d.ts +13 -0
  38. package/build/build-cjs/index.js +12065 -2381
  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 +95 -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 +208 -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 +63 -11
  74. package/build/build-esm/booking-wizard/utils/query-string-util.d.ts +13 -0
  75. package/build/build-esm/index.js +11888 -2330
  76. package/package.json +8 -4
  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 +193 -57
  85. package/src/booking-wizard/features/booking/selectors.ts +328 -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 +226 -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
@@ -0,0 +1,20 @@
1
+ import {
2
+ BookingOptionGroup,
3
+ PerUnitPackageOption,
4
+ } from "@qite/tide-client/build/types";
5
+ import React from "react";
6
+ interface OptionUnitGroupProps {
7
+ unitIndex: number;
8
+ optionId?: string;
9
+ group: BookingOptionGroup<PerUnitPackageOption>;
10
+ firstClassName: string;
11
+ secondClassName: string;
12
+ parentId: string;
13
+ onGroupChange?: (
14
+ group: BookingOptionGroup<PerUnitPackageOption>,
15
+ unitIndex: number,
16
+ optionId?: string
17
+ ) => void;
18
+ }
19
+ declare const OptionUnitGroup: React.FC<OptionUnitGroupProps>;
20
+ export default OptionUnitGroup;
@@ -0,0 +1,9 @@
1
+ import { BookingOptionUnit } from "@qite/tide-client/build/types";
2
+ import React from "react";
3
+ interface OptionUnitsCardProps {
4
+ units: BookingOptionUnit[];
5
+ parentIndex?: number;
6
+ onUnitsChange?: (units: BookingOptionUnit[], index?: number) => void;
7
+ }
8
+ declare const OptionUnitsCard: React.FC<OptionUnitsCardProps>;
9
+ export default OptionUnitsCard;
@@ -1,3 +1,7 @@
1
1
  import React from "react";
2
- declare const SidebarContainer: React.FC;
2
+ interface SidebarProps {
3
+ productName: string;
4
+ thumbnailUrl?: string;
5
+ }
6
+ declare const SidebarContainer: React.FC<SidebarProps>;
3
7
  export default SidebarContainer;
@@ -0,0 +1,8 @@
1
+ import { BookingPackageFlight } from "@qite/tide-client/build/types";
2
+ import React from "react";
3
+ interface SidebarFlightProps {
4
+ title: string;
5
+ flight: BookingPackageFlight;
6
+ }
7
+ declare const SidebarFlight: React.FC<SidebarFlightProps>;
8
+ export default SidebarFlight;
@@ -1,11 +1,28 @@
1
- import { ProductOption } from "../product-options/product-options-api";
1
+ import { BookingPackageFlightMetaData } from "@qite/tide-client/build/types";
2
+ import { FlightLine } from "../../types";
2
3
  export declare const getTravelersText: (
3
- adultCount: number,
4
- childCount: number
4
+ adultIds: number[],
5
+ childIds: number[]
5
6
  ) => string | undefined;
6
7
  export declare const getDateText: (
7
8
  date: string | undefined
8
9
  ) => string | undefined;
9
- export declare const getFlightText: (
10
- productOption?: ProductOption | undefined
10
+ export declare const getDatePeriodText: (
11
+ from?: string,
12
+ to?: string,
13
+ nightsOnly?: boolean
11
14
  ) => string | undefined;
15
+ export declare const getFlightText: (
16
+ firstFlight: FlightLine | undefined,
17
+ lastFlight: FlightLine | undefined
18
+ ) => string;
19
+ export declare const getAirlines: (
20
+ flightLines: FlightLine[] | undefined
21
+ ) => string;
22
+ export declare const getFlightHours: (
23
+ firstFlight: FlightLine | undefined,
24
+ lastFlight: FlightLine | undefined
25
+ ) => string;
26
+ export declare const parseFlightLines: (
27
+ metaDatas: BookingPackageFlightMetaData
28
+ ) => FlightLine[] | undefined;
@@ -1,21 +1,29 @@
1
- import { PriceDetail } from "@qite/tide-client";
2
1
  import React from "react";
2
+ import {
3
+ BookingPackageFlight,
4
+ BookingPackageRoom,
5
+ BookingPriceDetail,
6
+ } from "@qite/tide-client/build/types";
3
7
  interface SidebarProps {
4
- depositText?: string;
8
+ productName: string;
9
+ thumbnailUrl?: string;
10
+ isLoading: boolean;
5
11
  travelersText?: string;
6
12
  startDateText?: string;
7
13
  endDateText?: string;
8
- departureFlightText?: string;
9
- returnFlightText?: string;
14
+ departureFlight?: BookingPackageFlight;
15
+ returnFlight?: BookingPackageFlight;
10
16
  basePrice?: number;
11
17
  totalPrice?: number;
12
18
  remainingAmountText?: string;
13
- includedCosts?: PriceDetail[];
14
- extraCosts?: PriceDetail[];
15
- showDeposit: boolean;
16
- showAccommodationInfo: boolean;
19
+ includedCosts?: BookingPriceDetail[];
20
+ extraCosts?: BookingPriceDetail[];
21
+ deposit?: number;
22
+ accommodations?: BookingPackageRoom[];
23
+ isOnRequest?: boolean;
17
24
  headerComponent?: JSX.Element;
18
25
  footerComponent?: JSX.Element;
26
+ loaderComponent?: JSX.Element;
19
27
  }
20
28
  declare const Sidebar: React.FC<SidebarProps>;
21
29
  export default Sidebar;
@@ -0,0 +1,7 @@
1
+ import { BookingOptionPax } from "@qite/tide-client/build/types";
2
+ import React from "react";
3
+ interface SummaryBookingOptionPaxProps {
4
+ pax: BookingOptionPax;
5
+ }
6
+ declare const SummaryBookingOptionPax: React.FC<SummaryBookingOptionPaxProps>;
7
+ export default SummaryBookingOptionPax;
@@ -0,0 +1,7 @@
1
+ import { BookingOptionUnit } from "@qite/tide-client/build/types";
2
+ import React from "react";
3
+ interface SummaryBookingOptionUnitProps {
4
+ unit: BookingOptionUnit;
5
+ }
6
+ declare const SummaryBookingOptionUnit: React.FC<SummaryBookingOptionUnitProps>;
7
+ export default SummaryBookingOptionUnit;
@@ -0,0 +1,8 @@
1
+ import { BookingPackageFlight } from "@qite/tide-client/build/types";
2
+ import React from "react";
3
+ interface SummaryFlightProps {
4
+ flight: BookingPackageFlight;
5
+ header: string;
6
+ }
7
+ declare const SummaryFlight: React.FC<SummaryFlightProps>;
8
+ export default SummaryFlight;
@@ -0,0 +1,10 @@
1
+ import {
2
+ BookingOptionGroup,
3
+ PerBookingPackageOption,
4
+ } from "@qite/tide-client/build/types";
5
+ import React from "react";
6
+ interface SummaryPerBookingOptionGroupProps {
7
+ group: BookingOptionGroup<PerBookingPackageOption>;
8
+ }
9
+ declare const SummaryPerBookingOptionGroup: React.FC<SummaryPerBookingOptionGroupProps>;
10
+ export default SummaryPerBookingOptionGroup;
@@ -0,0 +1,10 @@
1
+ import {
2
+ BookingOptionGroup,
3
+ PerPaxPackageOption,
4
+ } from "@qite/tide-client/build/types";
5
+ import React from "react";
6
+ interface SummaryPerPaxOptionGroupProps {
7
+ group: BookingOptionGroup<PerPaxPackageOption>;
8
+ }
9
+ declare const SummaryPerPaxOptionGroup: React.FC<SummaryPerPaxOptionGroupProps>;
10
+ export default SummaryPerPaxOptionGroup;
@@ -0,0 +1,10 @@
1
+ import {
2
+ BookingOptionGroup,
3
+ PerUnitPackageOption,
4
+ } from "@qite/tide-client/build/types";
5
+ import React from "react";
6
+ interface SummaryPerUnitOptionGroupProps {
7
+ group: BookingOptionGroup<PerUnitPackageOption>;
8
+ }
9
+ declare const SummaryPerUnitOptionGroup: React.FC<SummaryPerUnitOptionGroupProps>;
10
+ export default SummaryPerUnitOptionGroup;
@@ -1,8 +1,3 @@
1
- import {
2
- Address,
3
- PackageBookRequestRoom,
4
- PackageBookRequest,
5
- } from "@qite/tide-client";
6
1
  import { RootState } from "../../store";
7
2
  export interface SummaryState {
8
3
  userValidated: boolean;
@@ -12,29 +7,6 @@ export declare const setUserValidated: import("@reduxjs/toolkit").ActionCreatorW
12
7
  string
13
8
  >;
14
9
  export declare const selectUserValidated: (state: RootState) => boolean;
15
- export declare const selectBookRequest: import("reselect").OutputSelector<
16
- {
17
- booking: import("../booking/booking-slice").BookingState;
18
- travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
19
- productOptions: import("@reduxjs/toolkit").EntityState<
20
- import("../product-options/product-options-api").ProductOption
21
- >;
22
- priceDetails: import("@reduxjs/toolkit").EntityState<
23
- import("@qite/tide-client").PriceDetail
24
- >;
25
- rooms: import("@reduxjs/toolkit").EntityState<
26
- import("@qite/tide-client").PackageRoom
27
- >;
28
- summary: SummaryState;
29
- },
30
- PackageBookRequest | undefined,
31
- (
32
- res1: string | undefined,
33
- res2: PackageBookRequestRoom[] | undefined,
34
- res3: Address | undefined,
35
- res4: string[]
36
- ) => PackageBookRequest | undefined
37
- >;
38
10
  declare const _default: import("redux").Reducer<
39
11
  SummaryState,
40
12
  import("redux").AnyAction
@@ -1,99 +1,93 @@
1
1
  import { RootState } from "../../store";
2
2
  import { TravelersFormValues } from "../../types";
3
3
  export interface TravelersFormState {
4
- adultCount: number;
5
- childCount: number;
6
4
  formValues?: TravelersFormValues;
7
5
  }
8
- export declare const setAdultCount: import("@reduxjs/toolkit").ActionCreatorWithPayload<
9
- number,
10
- string
11
- >,
12
- setChildCount: import("@reduxjs/toolkit").ActionCreatorWithPayload<
13
- number,
14
- string
15
- >,
16
- setFormValues: import("@reduxjs/toolkit").ActionCreatorWithPayload<
17
- TravelersFormValues,
18
- string
19
- >;
20
- export declare const selectAdultCount: (state: RootState) => number;
21
- export declare const selectChildCount: (state: RootState) => number;
6
+ export declare const CHILD_MAX_AGE = 17;
7
+ export declare const setFormValues: import("@reduxjs/toolkit").ActionCreatorWithPayload<
8
+ TravelersFormValues,
9
+ string
10
+ >;
22
11
  export declare const selectTravelersFormValues: (
23
12
  state: RootState
24
13
  ) => TravelersFormValues | undefined;
25
- export declare const selectAdults: import("reselect").OutputSelector<
26
- {
27
- booking: import("../booking/booking-slice").BookingState;
28
- travelersForm: TravelersFormState;
29
- productOptions: import("@reduxjs/toolkit").EntityState<
30
- import("../product-options/product-options-api").ProductOption
31
- >;
32
- priceDetails: import("@reduxjs/toolkit").EntityState<
33
- import("@qite/tide-client").PriceDetail
34
- >;
35
- rooms: import("@reduxjs/toolkit").EntityState<
36
- import("@qite/tide-client").PackageRoom
37
- >;
38
- summary: import("../summary/summary-slice").SummaryState;
39
- },
40
- import("../../types").Traveler[],
41
- (res: TravelersFormValues | undefined) => import("../../types").Traveler[]
42
- >;
43
- export declare const selectChildren: import("reselect").OutputSelector<
44
- {
45
- booking: import("../booking/booking-slice").BookingState;
46
- travelersForm: TravelersFormState;
47
- productOptions: import("@reduxjs/toolkit").EntityState<
48
- import("../product-options/product-options-api").ProductOption
49
- >;
50
- priceDetails: import("@reduxjs/toolkit").EntityState<
51
- import("@qite/tide-client").PriceDetail
52
- >;
53
- rooms: import("@reduxjs/toolkit").EntityState<
54
- import("@qite/tide-client").PackageRoom
55
- >;
56
- summary: import("../summary/summary-slice").SummaryState;
57
- },
58
- import("../../types").Traveler[],
59
- (res: TravelersFormValues | undefined) => import("../../types").Traveler[]
60
- >;
61
- export declare const selectTravelerAges: import("reselect").OutputSelector<
62
- {
63
- booking: import("../booking/booking-slice").BookingState;
64
- travelersForm: TravelersFormState;
65
- productOptions: import("@reduxjs/toolkit").EntityState<
66
- import("../product-options/product-options-api").ProductOption
67
- >;
68
- priceDetails: import("@reduxjs/toolkit").EntityState<
69
- import("@qite/tide-client").PriceDetail
70
- >;
71
- rooms: import("@reduxjs/toolkit").EntityState<
72
- import("@qite/tide-client").PackageRoom
73
- >;
74
- summary: import("../summary/summary-slice").SummaryState;
75
- },
76
- any[],
77
- (res1: number, res2: number, res3: TravelersFormValues | undefined) => any[]
78
- >;
79
- export declare const selectMainBookerId: import("reselect").OutputSelector<
80
- {
81
- booking: import("../booking/booking-slice").BookingState;
82
- travelersForm: TravelersFormState;
83
- productOptions: import("@reduxjs/toolkit").EntityState<
84
- import("../product-options/product-options-api").ProductOption
85
- >;
86
- priceDetails: import("@reduxjs/toolkit").EntityState<
87
- import("@qite/tide-client").PriceDetail
88
- >;
89
- rooms: import("@reduxjs/toolkit").EntityState<
90
- import("@qite/tide-client").PackageRoom
91
- >;
92
- summary: import("../summary/summary-slice").SummaryState;
93
- },
94
- string | undefined,
95
- (res: TravelersFormValues | undefined) => string | undefined
96
- >;
14
+ export declare const selectAdults: ((state: {
15
+ booking: import("../booking/booking-slice").BookingState;
16
+ travelersForm: TravelersFormState;
17
+ priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
18
+ summary: import("../summary/summary-slice").SummaryState;
19
+ }) => import("../../types").Traveler[]) &
20
+ import("reselect").OutputSelectorFields<
21
+ (
22
+ args_0: TravelersFormValues | undefined
23
+ ) => import("../../types").Traveler[] & {
24
+ clearCache: () => void;
25
+ }
26
+ > & {
27
+ clearCache: () => void;
28
+ };
29
+ export declare const selectChildren: ((state: {
30
+ booking: import("../booking/booking-slice").BookingState;
31
+ travelersForm: TravelersFormState;
32
+ priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
33
+ summary: import("../summary/summary-slice").SummaryState;
34
+ }) => import("../../types").Traveler[]) &
35
+ import("reselect").OutputSelectorFields<
36
+ (
37
+ args_0: TravelersFormValues | undefined
38
+ ) => import("../../types").Traveler[] & {
39
+ clearCache: () => void;
40
+ }
41
+ > & {
42
+ clearCache: () => void;
43
+ };
44
+ export declare const selectAgentId: ((state: {
45
+ booking: import("../booking/booking-slice").BookingState;
46
+ travelersForm: TravelersFormState;
47
+ priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
48
+ summary: import("../summary/summary-slice").SummaryState;
49
+ }) => number | undefined) &
50
+ import("reselect").OutputSelectorFields<
51
+ (args_0: TravelersFormValues | undefined) => number & {
52
+ clearCache: () => void;
53
+ }
54
+ > & {
55
+ clearCache: () => void;
56
+ };
57
+ export declare const selectAdultIds: ((state: {
58
+ booking: import("../booking/booking-slice").BookingState;
59
+ travelersForm: TravelersFormState;
60
+ priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
61
+ summary: import("../summary/summary-slice").SummaryState;
62
+ }) => number[]) &
63
+ import("reselect").OutputSelectorFields<
64
+ (
65
+ args_0:
66
+ | import("@qite/tide-client/build/types").BookingPackageRequestRoom[]
67
+ | undefined
68
+ ) => number[] & {
69
+ clearCache: () => void;
70
+ }
71
+ > & {
72
+ clearCache: () => void;
73
+ };
74
+ export declare const selectChildIds: ((state: {
75
+ booking: import("../booking/booking-slice").BookingState;
76
+ travelersForm: TravelersFormState;
77
+ priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
78
+ summary: import("../summary/summary-slice").SummaryState;
79
+ }) => number[]) &
80
+ import("reselect").OutputSelectorFields<
81
+ (
82
+ args_0:
83
+ | import("@qite/tide-client/build/types").BookingPackageRequestRoom[]
84
+ | undefined
85
+ ) => number[] & {
86
+ clearCache: () => void;
87
+ }
88
+ > & {
89
+ clearCache: () => void;
90
+ };
97
91
  declare const _default: import("redux").Reducer<
98
92
  TravelersFormState,
99
93
  import("redux").AnyAction
@@ -9,6 +9,7 @@ interface TypeAheadInputProps {
9
9
  text: string;
10
10
  }[];
11
11
  onChange?: (value: string) => void;
12
+ onSelect?: (key: string) => void;
12
13
  onClear?: () => void;
13
14
  }
14
15
  declare const TypeAheadInput: React.FC<TypeAheadInputProps>;
@@ -1,6 +1,7 @@
1
1
  import { FormikErrors } from "formik";
2
2
  import { TravelersFormValues } from "../../types";
3
3
  declare const validateForm: (
4
- values: TravelersFormValues
4
+ values: TravelersFormValues,
5
+ agentRequired?: boolean
5
6
  ) => FormikErrors<TravelersFormValues>;
6
7
  export default validateForm;
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
2
  import { Settings } from "./types";
3
3
  interface BookingWizardProps {
4
- productId: number;
4
+ productCode: string;
5
5
  productName: string;
6
- productDescription?: string;
6
+ allotmentName?: string;
7
+ tourCode?: string;
7
8
  thumbnailUrl?: string;
8
9
  settings: Settings;
9
10
  }
@@ -3,55 +3,21 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<
3
3
  {
4
4
  booking: import("./features/booking/booking-slice").BookingState;
5
5
  travelersForm: import("./features/travelers-form/travelers-form-slice").TravelersFormState;
6
- productOptions: import("@reduxjs/toolkit").EntityState<
7
- import("./features/product-options/product-options-api").ProductOption
8
- >;
9
- priceDetails: import("@reduxjs/toolkit").EntityState<
10
- import("@qite/tide-client").PriceDetail
11
- >;
12
- rooms: import("@reduxjs/toolkit").EntityState<
13
- import("@qite/tide-client").PackageRoom
14
- >;
6
+ priceDetails: import("./features/price-details/price-details-slice").PriceDetailsState;
15
7
  summary: import("./features/summary/summary-slice").SummaryState;
16
8
  },
17
9
  import("redux").AnyAction,
18
10
  [
19
- | import("redux-thunk").ThunkMiddleware<
20
- {
21
- booking: import("./features/booking/booking-slice").BookingState;
22
- travelersForm: import("./features/travelers-form/travelers-form-slice").TravelersFormState;
23
- productOptions: import("@reduxjs/toolkit").EntityState<
24
- import("./features/product-options/product-options-api").ProductOption
25
- >;
26
- priceDetails: import("@reduxjs/toolkit").EntityState<
27
- import("@qite/tide-client").PriceDetail
28
- >;
29
- rooms: import("@reduxjs/toolkit").EntityState<
30
- import("@qite/tide-client").PackageRoom
31
- >;
32
- summary: import("./features/summary/summary-slice").SummaryState;
33
- },
34
- import("redux").AnyAction,
35
- null
36
- >
37
- | import("redux-thunk").ThunkMiddleware<
38
- {
39
- booking: import("./features/booking/booking-slice").BookingState;
40
- travelersForm: import("./features/travelers-form/travelers-form-slice").TravelersFormState;
41
- productOptions: import("@reduxjs/toolkit").EntityState<
42
- import("./features/product-options/product-options-api").ProductOption
43
- >;
44
- priceDetails: import("@reduxjs/toolkit").EntityState<
45
- import("@qite/tide-client").PriceDetail
46
- >;
47
- rooms: import("@reduxjs/toolkit").EntityState<
48
- import("@qite/tide-client").PackageRoom
49
- >;
50
- summary: import("./features/summary/summary-slice").SummaryState;
51
- },
52
- import("redux").AnyAction,
53
- undefined
54
- >
11
+ import("redux-thunk").ThunkMiddleware<
12
+ {
13
+ booking: import("./features/booking/booking-slice").BookingState;
14
+ travelersForm: import("./features/travelers-form/travelers-form-slice").TravelersFormState;
15
+ priceDetails: import("./features/price-details/price-details-slice").PriceDetailsState;
16
+ summary: import("./features/summary/summary-slice").SummaryState;
17
+ },
18
+ import("redux").AnyAction,
19
+ undefined
20
+ >
55
21
  ]
56
22
  >;
57
23
  export declare type RootState = ReturnType<typeof store.getState>;
@@ -61,3 +27,15 @@ export declare type AppThunk<ReturnType = void> = ThunkAction<
61
27
  unknown,
62
28
  Action<string>
63
29
  >;
30
+ export declare type AppDispatch = typeof store.dispatch;
31
+ export declare const useAppDispatch: () => import("@reduxjs/toolkit").ThunkDispatch<
32
+ {
33
+ booking: import("./features/booking/booking-slice").BookingState;
34
+ travelersForm: import("./features/travelers-form/travelers-form-slice").TravelersFormState;
35
+ priceDetails: import("./features/price-details/price-details-slice").PriceDetailsState;
36
+ summary: import("./features/summary/summary-slice").SummaryState;
37
+ },
38
+ undefined,
39
+ import("redux").AnyAction
40
+ > &
41
+ import("redux").Dispatch<import("redux").AnyAction>;
@@ -1,31 +1,75 @@
1
- /// <reference types="react" />
2
1
  export interface Settings {
3
2
  officeId: number;
3
+ bookingOptions: BookingOptions;
4
4
  productPath: string;
5
5
  basePath: string;
6
- optionsPathSuffix: string;
7
- summaryPathSuffix: string;
8
- confirmationPathSuffix: string;
9
- errorPathSuffix: string;
6
+ options: {
7
+ pathSuffix: string;
8
+ };
9
+ summary: {
10
+ pathSuffix: string;
11
+ checkboxes?: SummaryCheckbox[] | null;
12
+ };
13
+ confirmation: {
14
+ pathSuffix: string;
15
+ };
16
+ error: {
17
+ pathSuffix: string;
18
+ };
19
+ language: string;
20
+ currency: string;
21
+ includeFlights?: boolean;
22
+ generatePaymentUrl?: boolean;
23
+ skipPaymentWithAgent?: boolean;
10
24
  companyContactEmail: string;
25
+ companyContactPhone: string;
11
26
  showProductCardRating: boolean;
12
- showSidebarAccommodationInfo: boolean;
13
27
  showSidebarDeposit: boolean;
14
28
  sidebarHeaderComponent?: JSX.Element | null;
15
29
  sidebarFooterComponent?: JSX.Element | null;
30
+ loaderComponent?: JSX.Element | null;
16
31
  icons?: string | null;
32
+ tagIds?: number[];
33
+ agentRequired?: boolean;
34
+ hideAgentSelection?: boolean;
35
+ agentAdressId?: number;
36
+ affiliateSlug?: string;
37
+ enableVoucher?: boolean;
17
38
  }
18
- export interface Traveler {
39
+ export interface BookingOptions {
40
+ b2b: BookingOptionsDetail;
41
+ b2b2c: BookingOptionsDetail;
42
+ b2c: BookingOptionsDetail;
43
+ }
44
+ export interface BookingOptionsDetail {
45
+ entryStatus: number;
46
+ customEntryStatusId?: number;
47
+ tagIds?: number[];
48
+ }
49
+ export interface SummaryCheckbox {
19
50
  id: string;
51
+ text: string;
52
+ isSelected: boolean;
53
+ }
54
+ export interface Traveler {
55
+ id: number;
20
56
  gender: string;
21
57
  firstName: string;
22
58
  lastName: string;
23
59
  birthDate: string;
24
60
  }
61
+ export interface Room {
62
+ adults: number;
63
+ children: number;
64
+ childAges: number[];
65
+ accommodationCode?: string;
66
+ regimeCode?: string;
67
+ }
25
68
  export interface TravelersFormValues {
69
+ startDate?: string;
26
70
  adults: Traveler[];
27
71
  children: Traveler[];
28
- mainBookerId: string;
72
+ mainBookerId: number;
29
73
  street: string;
30
74
  houseNumber: string;
31
75
  box: string;
@@ -35,24 +79,32 @@ export interface TravelersFormValues {
35
79
  phone: string;
36
80
  email: string;
37
81
  emailConfirmation: string;
82
+ travelAgentId: number;
83
+ travelAgentName: string;
38
84
  }
39
85
  export interface ProductAttributes {
40
- productId: number;
86
+ productCode: string;
87
+ productName: string;
41
88
  }
42
89
  export interface BookingAttributes {
43
90
  startDate: string;
44
91
  endDate: string;
45
- accommodation: string;
46
- regime: string;
47
92
  catalog: number;
93
+ rooms: Room[];
94
+ tourCode: string | null;
95
+ allotmentName: string | null;
96
+ allotmentIds: number[];
97
+ includeFlights?: boolean;
48
98
  }
49
99
  export interface FlightLine {
50
100
  departureAirportIata?: string;
51
101
  departureAirportDescription?: string;
52
102
  departureDate?: string;
103
+ departureTime?: string;
53
104
  arrivalAirportIata?: string;
54
105
  arrivalAirportDescription?: string;
55
106
  arrivalDate?: string;
107
+ arrivalTime?: string;
56
108
  airlineIata?: string;
57
109
  airlineDescription?: string;
58
110
  airlineNumber?: string;