@qite/tide-booking-component 0.0.2-preview.34 → 0.0.2-preview.37
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.
- package/README.md +1 -0
- package/build/build-cjs/booking-wizard/components/product-card.d.ts +0 -2
- package/build/build-cjs/booking-wizard/features/booking/api.d.ts +6 -0
- package/build/build-cjs/booking-wizard/features/booking/booking-slice.d.ts +7 -19
- package/build/build-cjs/booking-wizard/features/booking/booking.d.ts +3 -3
- package/build/build-cjs/booking-wizard/features/booking/selectors.d.ts +52 -0
- package/build/build-cjs/booking-wizard/features/price-details/price-details-api.d.ts +2 -6
- package/build/build-cjs/booking-wizard/features/price-details/price-details-slice.d.ts +11 -21
- package/build/build-cjs/booking-wizard/features/price-details/util.d.ts +2 -0
- package/build/build-cjs/booking-wizard/features/product-options/option-booking-group.d.ts +12 -0
- package/build/build-cjs/booking-wizard/features/product-options/option-item.d.ts +11 -0
- package/build/build-cjs/booking-wizard/features/product-options/option-pax-card.d.ts +9 -0
- package/build/build-cjs/booking-wizard/features/product-options/option-pax-group.d.ts +13 -0
- package/build/build-cjs/booking-wizard/features/product-options/option-room.d.ts +8 -0
- package/build/build-cjs/booking-wizard/features/product-options/option-unit-group.d.ts +13 -0
- package/build/build-cjs/booking-wizard/features/product-options/option-units-card.d.ts +9 -0
- package/build/build-cjs/booking-wizard/features/sidebar/index.d.ts +5 -1
- package/build/build-cjs/booking-wizard/features/sidebar/sidebar-util.d.ts +4 -3
- package/build/build-cjs/booking-wizard/features/sidebar/sidebar.d.ts +6 -5
- package/build/build-cjs/booking-wizard/features/summary/summary-slice.d.ts +0 -9
- package/build/build-cjs/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +5 -17
- package/build/build-cjs/booking-wizard/index.d.ts +3 -3
- package/build/build-cjs/booking-wizard/store.d.ts +0 -10
- package/build/build-cjs/booking-wizard/types.d.ts +9 -5
- package/build/build-cjs/index.js +7134 -1219
- package/build/build-esm/booking-wizard/components/product-card.d.ts +0 -2
- package/build/build-esm/booking-wizard/features/booking/api.d.ts +6 -0
- package/build/build-esm/booking-wizard/features/booking/booking-slice.d.ts +7 -19
- package/build/build-esm/booking-wizard/features/booking/booking.d.ts +3 -3
- package/build/build-esm/booking-wizard/features/booking/selectors.d.ts +52 -0
- package/build/build-esm/booking-wizard/features/price-details/price-details-api.d.ts +2 -6
- package/build/build-esm/booking-wizard/features/price-details/price-details-slice.d.ts +11 -21
- package/build/build-esm/booking-wizard/features/price-details/util.d.ts +2 -0
- package/build/build-esm/booking-wizard/features/product-options/option-booking-group.d.ts +12 -0
- package/build/build-esm/booking-wizard/features/product-options/option-item.d.ts +11 -0
- package/build/build-esm/booking-wizard/features/product-options/option-pax-card.d.ts +9 -0
- package/build/build-esm/booking-wizard/features/product-options/option-pax-group.d.ts +13 -0
- package/build/build-esm/booking-wizard/features/product-options/option-room.d.ts +8 -0
- package/build/build-esm/booking-wizard/features/product-options/option-unit-group.d.ts +13 -0
- package/build/build-esm/booking-wizard/features/product-options/option-units-card.d.ts +9 -0
- package/build/build-esm/booking-wizard/features/sidebar/index.d.ts +5 -1
- package/build/build-esm/booking-wizard/features/sidebar/sidebar-util.d.ts +4 -3
- package/build/build-esm/booking-wizard/features/sidebar/sidebar.d.ts +6 -5
- package/build/build-esm/booking-wizard/features/summary/summary-slice.d.ts +0 -9
- package/build/build-esm/booking-wizard/features/travelers-form/travelers-form-slice.d.ts +5 -17
- package/build/build-esm/booking-wizard/index.d.ts +3 -3
- package/build/build-esm/booking-wizard/store.d.ts +0 -10
- package/build/build-esm/booking-wizard/types.d.ts +9 -5
- package/build/build-esm/index.js +6979 -1062
- package/package.json +2 -2
- package/src/booking-wizard/components/product-card.tsx +3 -39
- package/src/booking-wizard/components/step-indicator.tsx +1 -1
- package/src/booking-wizard/components/step-route.tsx +1 -1
- package/src/booking-wizard/features/booking/api.ts +33 -0
- package/src/booking-wizard/features/booking/booking-slice.ts +157 -69
- package/src/booking-wizard/features/booking/booking.tsx +102 -97
- package/src/booking-wizard/features/booking/selectors.ts +211 -0
- package/src/booking-wizard/features/confirmation/confirmation.tsx +2 -1
- package/src/booking-wizard/features/error/error.tsx +2 -1
- package/src/booking-wizard/features/price-details/price-details-api.ts +9 -17
- package/src/booking-wizard/features/price-details/price-details-slice.ts +29 -25
- package/src/booking-wizard/features/price-details/util.ts +123 -0
- package/src/booking-wizard/features/product-options/option-booking-group.tsx +187 -0
- package/src/booking-wizard/features/product-options/option-item.tsx +251 -0
- package/src/booking-wizard/features/product-options/option-pax-card.tsx +102 -0
- package/src/booking-wizard/features/product-options/option-pax-group.tsx +146 -0
- package/src/booking-wizard/features/product-options/option-room.tsx +215 -0
- package/src/booking-wizard/features/product-options/option-unit-group.tsx +169 -0
- package/src/booking-wizard/features/product-options/option-units-card.tsx +100 -0
- package/src/booking-wizard/features/product-options/options-form.tsx +156 -145
- package/src/booking-wizard/features/sidebar/index.tsx +20 -10
- package/src/booking-wizard/features/sidebar/sidebar-util.ts +41 -43
- package/src/booking-wizard/features/sidebar/sidebar.tsx +22 -42
- package/src/booking-wizard/features/summary/summary-slice.ts +1 -144
- package/src/booking-wizard/features/summary/summary.tsx +34 -63
- package/src/booking-wizard/features/travelers-form/travelers-form-slice.ts +42 -52
- package/src/booking-wizard/features/travelers-form/travelers-form.tsx +37 -27
- package/src/booking-wizard/index.tsx +5 -10
- package/src/booking-wizard/settings-context.ts +2 -1
- package/src/booking-wizard/store.ts +0 -4
- package/src/booking-wizard/translations/translations.json +8 -1
- package/src/booking-wizard/types.ts +9 -5
- package/src/booking-wizard/utils/query-string-util.ts +3 -2
- package/build/build-cjs/booking-wizard/features/product-options/checkbox.d.ts +0 -11
- package/build/build-cjs/booking-wizard/features/product-options/option-details.d.ts +0 -12
- package/build/build-cjs/booking-wizard/features/product-options/product-options-slice/adapters.d.ts +0 -4
- package/build/build-cjs/booking-wizard/features/product-options/product-options-slice/api.d.ts +0 -47
- package/build/build-cjs/booking-wizard/features/product-options/product-options-slice/index.d.ts +0 -12
- package/build/build-cjs/booking-wizard/features/product-options/product-options-slice/selectors.d.ts +0 -59
- package/build/build-cjs/booking-wizard/features/product-options/radio-button.d.ts +0 -10
- package/build/build-cjs/booking-wizard/features/product-options/rooms-slice.d.ts +0 -12
- package/build/build-cjs/booking-wizard/features/product-options/tree-level.d.ts +0 -7
- package/build/build-esm/booking-wizard/features/product-options/checkbox.d.ts +0 -11
- package/build/build-esm/booking-wizard/features/product-options/option-details.d.ts +0 -12
- package/build/build-esm/booking-wizard/features/product-options/product-options-slice/adapters.d.ts +0 -4
- package/build/build-esm/booking-wizard/features/product-options/product-options-slice/api.d.ts +0 -47
- package/build/build-esm/booking-wizard/features/product-options/product-options-slice/index.d.ts +0 -12
- package/build/build-esm/booking-wizard/features/product-options/product-options-slice/selectors.d.ts +0 -59
- package/build/build-esm/booking-wizard/features/product-options/radio-button.d.ts +0 -10
- package/build/build-esm/booking-wizard/features/product-options/rooms-slice.d.ts +0 -12
- package/build/build-esm/booking-wizard/features/product-options/tree-level.d.ts +0 -7
- package/src/booking-wizard/features/product-options/checkbox.tsx +0 -49
- package/src/booking-wizard/features/product-options/option-details.tsx +0 -77
- package/src/booking-wizard/features/product-options/product-options-slice/adapters.ts +0 -28
- package/src/booking-wizard/features/product-options/product-options-slice/api.ts +0 -232
- package/src/booking-wizard/features/product-options/product-options-slice/index.ts +0 -211
- package/src/booking-wizard/features/product-options/product-options-slice/selectors.ts +0 -81
- package/src/booking-wizard/features/product-options/radio-button.tsx +0 -35
- package/src/booking-wizard/features/product-options/rooms-slice.ts +0 -28
- package/src/booking-wizard/features/product-options/tree-level.tsx +0 -135
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`
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BookingPackageRequest, BookingPackageDetailsRequest, BookingPackage, BookingPackageBookRequest, BookingPriceDetails } from "@qite/tide-client/build/types";
|
|
2
|
+
declare const packageApi: {
|
|
3
|
+
fetchDetails: (request: BookingPackageRequest<BookingPackageDetailsRequest>, signal: AbortSignal) => Promise<BookingPackage>;
|
|
4
|
+
fetchPriceDetails: (request: BookingPackageRequest<BookingPackageBookRequest>, signal: AbortSignal) => Promise<BookingPriceDetails>;
|
|
5
|
+
};
|
|
6
|
+
export default packageApi;
|
|
@@ -1,30 +1,18 @@
|
|
|
1
1
|
import { BookingAttributes, ProductAttributes } from "../../types";
|
|
2
|
-
import {
|
|
2
|
+
import { BookingOptionGroup, BookingOptionPax, BookingOptionUnit, BookingPackage, BookingPackageRoom, PerBookingPackageOption } from "@qite/tide-client/build/types";
|
|
3
3
|
export interface BookingState {
|
|
4
4
|
officeId: number;
|
|
5
|
+
entryStatus: number;
|
|
5
6
|
customEntryStatusId?: number;
|
|
6
7
|
productAttributes?: ProductAttributes;
|
|
7
8
|
bookingAttributes?: BookingAttributes;
|
|
8
|
-
|
|
9
|
+
calculateDeposit: boolean;
|
|
9
10
|
bookingNumber?: string;
|
|
10
11
|
isRetry: boolean;
|
|
12
|
+
package?: BookingPackage;
|
|
13
|
+
isBusy: boolean;
|
|
11
14
|
}
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const
|
|
14
|
-
export declare const selectCustomEntryStatusId: (state: RootState) => number | undefined;
|
|
15
|
-
export declare const selectCacheKey: (state: RootState) => string | undefined;
|
|
16
|
-
export declare const selectProductAttributes: (state: RootState) => ProductAttributes | undefined;
|
|
17
|
-
export declare const selectBookingAttributes: (state: RootState) => BookingAttributes | undefined;
|
|
18
|
-
export declare const selectBookingNumber: (state: RootState) => string | undefined;
|
|
19
|
-
export declare const selectIsRetry: (state: RootState) => boolean;
|
|
20
|
-
export declare const selectBookingQuery: (state: RootState) => Record<string, string> | undefined;
|
|
21
|
-
export declare const selectBookingQueryString: import("reselect").OutputSelector<{
|
|
22
|
-
booking: BookingState;
|
|
23
|
-
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
24
|
-
productOptions: import("../product-options/product-options-slice").ProductOptionsState;
|
|
25
|
-
priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
|
|
26
|
-
rooms: import("@reduxjs/toolkit").EntityState<import("@qite/tide-client").PackageRoom>;
|
|
27
|
-
summary: import("../summary/summary-slice").SummaryState;
|
|
28
|
-
}, string | undefined, (res: Record<string, string> | undefined) => string | undefined>;
|
|
15
|
+
export declare const fetchPackage: import("@reduxjs/toolkit").AsyncThunk<void, void, {}>;
|
|
16
|
+
export declare const setOfficeId: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, string>, setEntryStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, string>, setCustomEntryStatusId: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<number | undefined, string>, setProductAttributes: import("@reduxjs/toolkit").ActionCreatorWithPayload<ProductAttributes, string>, setBookingAttributes: import("@reduxjs/toolkit").ActionCreatorWithPayload<BookingAttributes, string>, setCalculateDeposit: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, setBookingNumber: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, setIsRetry: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, setFetchingPackage: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, setPackage: import("@reduxjs/toolkit").ActionCreatorWithPayload<BookingPackage, string>, setPackageRooms: import("@reduxjs/toolkit").ActionCreatorWithPayload<BookingPackageRoom[], string>, setPackageOptionPax: import("@reduxjs/toolkit").ActionCreatorWithPayload<BookingOptionPax[], string>, setPackageOptionUnits: import("@reduxjs/toolkit").ActionCreatorWithPayload<BookingOptionUnit[], string>, setPackageGroups: import("@reduxjs/toolkit").ActionCreatorWithPayload<BookingOptionGroup<PerBookingPackageOption>[], string>;
|
|
29
17
|
declare const _default: import("redux").Reducer<BookingState, import("redux").AnyAction>;
|
|
30
18
|
export default _default;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
interface BookingProps {
|
|
3
|
-
|
|
3
|
+
productCode: string;
|
|
4
4
|
productName: string;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
allotmentName?: string;
|
|
6
|
+
tourCode?: string;
|
|
7
7
|
thumbnailUrl?: string;
|
|
8
8
|
}
|
|
9
9
|
declare const Booking: React.FC<BookingProps>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { BookingPackageAddress, BookingPackageBookRequest, BookingPackagePax, BookingPackageRequest } from "@qite/tide-client/build/types/offer";
|
|
2
|
+
import { RootState } from "../../store";
|
|
3
|
+
import { Room } from "../../types";
|
|
4
|
+
export declare const selectIsFetchingProductOptions: (state: RootState) => boolean;
|
|
5
|
+
export declare const selectDepartureFlight: (state: RootState) => import("@qite/tide-client/build/types/offer").BookingPackageFlight | undefined;
|
|
6
|
+
export declare const selectReturnFlight: (state: RootState) => import("@qite/tide-client/build/types/offer").BookingPackageFlight | undefined;
|
|
7
|
+
export declare const selectPackageRooms: (state: RootState) => import("@qite/tide-client/build/types/offer").BookingPackageRoom[] | undefined;
|
|
8
|
+
export declare const selectPackageOptionUnits: (state: RootState) => import("@qite/tide-client/build/types/offer").BookingOptionUnit[] | undefined;
|
|
9
|
+
export declare const selectPackageOptionPax: (state: RootState) => import("@qite/tide-client/build/types/offer").BookingOptionPax[] | undefined;
|
|
10
|
+
export declare const selectPackageGroups: (state: RootState) => import("@qite/tide-client/build/types/offer").BookingOptionGroup<import("@qite/tide-client/build/types/offer").PerBookingPackageOption>[] | undefined;
|
|
11
|
+
export declare const selectPackageDetails: (state: RootState) => import("@qite/tide-client/build/types/offer").BookingPackage | undefined;
|
|
12
|
+
export declare const selectRequestRooms: (state: RootState) => import("@qite/tide-client/build/types/offer").BookingPackageRequestRoom[] | undefined;
|
|
13
|
+
export declare const selectOfficeId: (state: RootState) => number;
|
|
14
|
+
export declare const selectEntryStatus: (state: RootState) => number;
|
|
15
|
+
export declare const selectCustomEntryStatusId: (state: RootState) => number | undefined;
|
|
16
|
+
export declare const selectProductAttributes: (state: RootState) => import("../../types").ProductAttributes | undefined;
|
|
17
|
+
export declare const selectBookingAttributes: (state: RootState) => import("../../types").BookingAttributes | undefined;
|
|
18
|
+
export declare const selectBookingNumber: (state: RootState) => string | undefined;
|
|
19
|
+
export declare const selectBookingRooms: (state: RootState) => Room[] | undefined;
|
|
20
|
+
export declare const selectCalculateDeposit: (state: RootState) => boolean;
|
|
21
|
+
export declare const selectIsRetry: (state: RootState) => boolean;
|
|
22
|
+
export declare const selectBookingQuery: (state: RootState) => Record<string, string> | undefined;
|
|
23
|
+
export declare const selectBookingQueryString: import("reselect").OutputSelector<{
|
|
24
|
+
booking: import("./booking-slice").BookingState;
|
|
25
|
+
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
26
|
+
priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
|
|
27
|
+
summary: import("../summary/summary-slice").SummaryState;
|
|
28
|
+
}, string | undefined, (res: Record<string, string> | undefined) => string | undefined>;
|
|
29
|
+
export declare const selectMainBookerId: import("reselect").OutputSelector<{
|
|
30
|
+
booking: import("./booking-slice").BookingState;
|
|
31
|
+
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
32
|
+
priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
|
|
33
|
+
summary: import("../summary/summary-slice").SummaryState;
|
|
34
|
+
}, number | undefined, (res: import("../../types").TravelersFormValues | undefined) => number | undefined>;
|
|
35
|
+
export declare const selectBookingPackagePax: import("reselect").OutputSelector<{
|
|
36
|
+
booking: import("./booking-slice").BookingState;
|
|
37
|
+
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
38
|
+
priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
|
|
39
|
+
summary: import("../summary/summary-slice").SummaryState;
|
|
40
|
+
}, BookingPackagePax[], (res: import("../../types").TravelersFormValues | undefined) => BookingPackagePax[]>;
|
|
41
|
+
export declare const selectBookingAddress: import("reselect").OutputSelector<{
|
|
42
|
+
booking: import("./booking-slice").BookingState;
|
|
43
|
+
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
44
|
+
priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
|
|
45
|
+
summary: import("../summary/summary-slice").SummaryState;
|
|
46
|
+
}, BookingPackageAddress | undefined, (res1: import("../../types").TravelersFormValues | undefined, res2: BookingPackagePax[]) => BookingPackageAddress | undefined>;
|
|
47
|
+
export declare const selectBookingPackageBookRequest: import("reselect").OutputSelector<{
|
|
48
|
+
booking: import("./booking-slice").BookingState;
|
|
49
|
+
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
50
|
+
priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
|
|
51
|
+
summary: import("../summary/summary-slice").SummaryState;
|
|
52
|
+
}, BookingPackageRequest<BookingPackageBookRequest> | null, (res1: number, res2: number, res3: number | undefined, res4: BookingPackagePax[], res5: BookingPackageAddress | undefined, res6: import("@qite/tide-client/build/types/offer").BookingPackage | undefined, res7: boolean) => BookingPackageRequest<BookingPackageBookRequest> | null>;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { PackagePriceDetailsRequest } from "@qite/tide-client/src/types/offer";
|
|
3
|
-
export interface PriceDetail extends Omit<ApiPriceDetail, "date"> {
|
|
4
|
-
date?: string;
|
|
5
|
-
}
|
|
1
|
+
import { BookingPackageBookRequest, BookingPackageRequest, BookingPriceDetails } from "@qite/tide-client/build/types";
|
|
6
2
|
declare const priceDetailsApi: {
|
|
7
|
-
fetchPriceDetails: (request:
|
|
3
|
+
fetchPriceDetails: (request: BookingPackageRequest<BookingPackageBookRequest>, signal: AbortSignal) => Promise<BookingPriceDetails>;
|
|
8
4
|
};
|
|
9
5
|
export default priceDetailsApi;
|
|
@@ -1,59 +1,49 @@
|
|
|
1
1
|
import { RootState } from "../../store";
|
|
2
2
|
import { EntityState } from "@reduxjs/toolkit";
|
|
3
|
-
import {
|
|
3
|
+
import { BookingPriceDetail } from "@qite/tide-client/build/types";
|
|
4
4
|
export interface PriceDetailsState {
|
|
5
|
-
priceDetails: EntityState<
|
|
5
|
+
priceDetails: EntityState<BookingPriceDetail>;
|
|
6
|
+
deposit?: number;
|
|
6
7
|
isBusy: boolean;
|
|
7
8
|
}
|
|
8
|
-
export declare const fetchPriceDetails: import("@reduxjs/toolkit").AsyncThunk<
|
|
9
|
+
export declare const fetchPriceDetails: import("@reduxjs/toolkit").AsyncThunk<import("@qite/tide-client/build/types").BookingPriceDetails, void, {}>;
|
|
9
10
|
export declare const selectPriceDetails: (state: {
|
|
10
11
|
booking: import("../booking/booking-slice").BookingState;
|
|
11
12
|
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
12
|
-
productOptions: import("../product-options/product-options-slice").ProductOptionsState;
|
|
13
13
|
priceDetails: PriceDetailsState;
|
|
14
|
-
rooms: EntityState<import("@qite/tide-client").PackageRoom>;
|
|
15
14
|
summary: import("../summary/summary-slice").SummaryState;
|
|
16
|
-
}) =>
|
|
15
|
+
}) => BookingPriceDetail[];
|
|
17
16
|
export declare const selectPackagePriceDetails: import("reselect").OutputSelector<{
|
|
18
17
|
booking: import("../booking/booking-slice").BookingState;
|
|
19
18
|
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
20
|
-
productOptions: import("../product-options/product-options-slice").ProductOptionsState;
|
|
21
19
|
priceDetails: PriceDetailsState;
|
|
22
|
-
rooms: EntityState<import("@qite/tide-client").PackageRoom>;
|
|
23
20
|
summary: import("../summary/summary-slice").SummaryState;
|
|
24
|
-
},
|
|
21
|
+
}, BookingPriceDetail[], (res: BookingPriceDetail[]) => BookingPriceDetail[]>;
|
|
25
22
|
export declare const selectSeparatePackagePriceDetails: import("reselect").OutputSelector<{
|
|
26
23
|
booking: import("../booking/booking-slice").BookingState;
|
|
27
24
|
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
28
|
-
productOptions: import("../product-options/product-options-slice").ProductOptionsState;
|
|
29
25
|
priceDetails: PriceDetailsState;
|
|
30
|
-
rooms: EntityState<import("@qite/tide-client").PackageRoom>;
|
|
31
26
|
summary: import("../summary/summary-slice").SummaryState;
|
|
32
|
-
},
|
|
27
|
+
}, BookingPriceDetail[], (res: BookingPriceDetail[]) => BookingPriceDetail[]>;
|
|
33
28
|
export declare const selectBasePrice: import("reselect").OutputSelector<{
|
|
34
29
|
booking: import("../booking/booking-slice").BookingState;
|
|
35
30
|
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
36
|
-
productOptions: import("../product-options/product-options-slice").ProductOptionsState;
|
|
37
31
|
priceDetails: PriceDetailsState;
|
|
38
|
-
rooms: EntityState<import("@qite/tide-client").PackageRoom>;
|
|
39
32
|
summary: import("../summary/summary-slice").SummaryState;
|
|
40
|
-
}, number, (res:
|
|
33
|
+
}, number, (res: BookingPriceDetail[]) => number>;
|
|
41
34
|
export declare const selectSeparateExtraPriceDetails: import("reselect").OutputSelector<{
|
|
42
35
|
booking: import("../booking/booking-slice").BookingState;
|
|
43
36
|
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
44
|
-
productOptions: import("../product-options/product-options-slice").ProductOptionsState;
|
|
45
37
|
priceDetails: PriceDetailsState;
|
|
46
|
-
rooms: EntityState<import("@qite/tide-client").PackageRoom>;
|
|
47
38
|
summary: import("../summary/summary-slice").SummaryState;
|
|
48
|
-
},
|
|
39
|
+
}, BookingPriceDetail[], (res: BookingPriceDetail[]) => BookingPriceDetail[]>;
|
|
49
40
|
export declare const selectTotalPrice: import("reselect").OutputSelector<{
|
|
50
41
|
booking: import("../booking/booking-slice").BookingState;
|
|
51
42
|
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
52
|
-
productOptions: import("../product-options/product-options-slice").ProductOptionsState;
|
|
53
43
|
priceDetails: PriceDetailsState;
|
|
54
|
-
rooms: EntityState<import("@qite/tide-client").PackageRoom>;
|
|
55
44
|
summary: import("../summary/summary-slice").SummaryState;
|
|
56
|
-
}, number, (res1: number, res2:
|
|
45
|
+
}, number, (res1: number, res2: BookingPriceDetail[]) => number>;
|
|
46
|
+
export declare const selectDeposit: (state: RootState) => number | undefined;
|
|
57
47
|
export declare const selectIsFetchingPriceDetails: (state: RootState) => boolean;
|
|
58
48
|
export declare const resetPriceDetails: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
59
49
|
declare const _default: import("redux").Reducer<PriceDetailsState, import("redux").AnyAction>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BookingOptionGroup, PerBookingPackageOption } from "@qite/tide-client/build/types";
|
|
2
|
+
import React from "react";
|
|
3
|
+
interface OptionBookingGroupProps {
|
|
4
|
+
optionId?: string;
|
|
5
|
+
group: BookingOptionGroup<PerBookingPackageOption>;
|
|
6
|
+
firstClassName: string;
|
|
7
|
+
secondClassName: string;
|
|
8
|
+
parentId: string;
|
|
9
|
+
onGroupChange?: (group: BookingOptionGroup<PerBookingPackageOption>, optionId?: string) => void;
|
|
10
|
+
}
|
|
11
|
+
declare const OptionBookingGroup: React.FC<OptionBookingGroupProps>;
|
|
12
|
+
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,13 @@
|
|
|
1
|
+
import { BookingOptionGroup, PerPaxPackageOption } from "@qite/tide-client/build/types";
|
|
2
|
+
import React from "react";
|
|
3
|
+
interface OptionPaxGroupProps {
|
|
4
|
+
paxId: number;
|
|
5
|
+
optionId?: string;
|
|
6
|
+
group: BookingOptionGroup<PerPaxPackageOption>;
|
|
7
|
+
firstClassName: string;
|
|
8
|
+
secondClassName: string;
|
|
9
|
+
parentId: string;
|
|
10
|
+
onGroupChange?: (group: BookingOptionGroup<PerPaxPackageOption>, paxId: number, optionId?: string) => void;
|
|
11
|
+
}
|
|
12
|
+
declare const OptionPaxGroup: React.FC<OptionPaxGroupProps>;
|
|
13
|
+
export default OptionPaxGroup;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BookingPackageRoom } from "@qite/tide-client/build/types";
|
|
2
|
+
import React from "react";
|
|
3
|
+
interface OptionRoomProps {
|
|
4
|
+
packageRoom: BookingPackageRoom;
|
|
5
|
+
onRoomChange: (index: number, accommodationCode: string, regimeCode: string) => void;
|
|
6
|
+
}
|
|
7
|
+
declare const OptionRoom: React.FC<OptionRoomProps>;
|
|
8
|
+
export default OptionRoom;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BookingOptionGroup, PerUnitPackageOption } from "@qite/tide-client/build/types";
|
|
2
|
+
import React from "react";
|
|
3
|
+
interface OptionUnitGroupProps {
|
|
4
|
+
unitIndex: number;
|
|
5
|
+
optionId?: string;
|
|
6
|
+
group: BookingOptionGroup<PerUnitPackageOption>;
|
|
7
|
+
firstClassName: string;
|
|
8
|
+
secondClassName: string;
|
|
9
|
+
parentId: string;
|
|
10
|
+
onGroupChange?: (group: BookingOptionGroup<PerUnitPackageOption>, unitIndex: number, optionId?: string) => void;
|
|
11
|
+
}
|
|
12
|
+
declare const OptionUnitGroup: React.FC<OptionUnitGroupProps>;
|
|
13
|
+
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,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const getTravelersText: (
|
|
1
|
+
import { BookingPackageFlight } from "@qite/tide-client/build/types";
|
|
2
|
+
export declare const getTravelersText: (adultIds: number[], childIds: number[]) => string | undefined;
|
|
3
3
|
export declare const getDateText: (date: string | undefined) => string | undefined;
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const getDatePeriodText: (from?: string | undefined, to?: string | undefined) => string | undefined;
|
|
5
|
+
export declare const getFlightText: (flight?: BookingPackageFlight | undefined) => string | undefined;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { BookingPriceDetail } from "@qite/tide-client/build/types";
|
|
3
3
|
interface SidebarProps {
|
|
4
|
+
productName: string;
|
|
5
|
+
thumbnailUrl?: string;
|
|
4
6
|
isLoading: boolean;
|
|
5
|
-
depositText?: string;
|
|
6
7
|
travelersText?: string;
|
|
7
8
|
startDateText?: string;
|
|
8
9
|
endDateText?: string;
|
|
@@ -11,9 +12,9 @@ interface SidebarProps {
|
|
|
11
12
|
basePrice?: number;
|
|
12
13
|
totalPrice?: number;
|
|
13
14
|
remainingAmountText?: string;
|
|
14
|
-
includedCosts?:
|
|
15
|
-
extraCosts?:
|
|
16
|
-
|
|
15
|
+
includedCosts?: BookingPriceDetail[];
|
|
16
|
+
extraCosts?: BookingPriceDetail[];
|
|
17
|
+
deposit?: number;
|
|
17
18
|
showAccommodationInfo: boolean;
|
|
18
19
|
headerComponent?: JSX.Element;
|
|
19
20
|
footerComponent?: JSX.Element;
|
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
import { Address, PackageBookRequestRoom, PackageBookRequest } from "@qite/tide-client";
|
|
2
1
|
import { RootState } from "../../store";
|
|
3
2
|
export interface SummaryState {
|
|
4
3
|
userValidated: boolean;
|
|
5
4
|
}
|
|
6
5
|
export declare const setUserValidated: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>;
|
|
7
6
|
export declare const selectUserValidated: (state: RootState) => boolean;
|
|
8
|
-
export declare const selectBookRequest: import("reselect").OutputSelector<{
|
|
9
|
-
booking: import("../booking/booking-slice").BookingState;
|
|
10
|
-
travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
|
|
11
|
-
productOptions: import("../product-options/product-options-slice").ProductOptionsState;
|
|
12
|
-
priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
|
|
13
|
-
rooms: import("@reduxjs/toolkit").EntityState<import("@qite/tide-client").PackageRoom>;
|
|
14
|
-
summary: SummaryState;
|
|
15
|
-
}, PackageBookRequest | undefined, (res1: number, res2: number | undefined, res3: string | undefined, res4: PackageBookRequestRoom[] | undefined, res5: Address | undefined, res6: string[]) => PackageBookRequest | undefined>;
|
|
16
7
|
declare const _default: import("redux").Reducer<SummaryState, import("redux").AnyAction>;
|
|
17
8
|
export default _default;
|
|
@@ -1,45 +1,33 @@
|
|
|
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
|
|
9
|
-
export declare const selectAdultCount: (state: RootState) => number;
|
|
10
|
-
export declare const selectChildCount: (state: RootState) => number;
|
|
6
|
+
export declare const setFormValues: import("@reduxjs/toolkit").ActionCreatorWithPayload<TravelersFormValues, string>;
|
|
11
7
|
export declare const selectTravelersFormValues: (state: RootState) => TravelersFormValues | undefined;
|
|
12
8
|
export declare const selectAdults: import("reselect").OutputSelector<{
|
|
13
9
|
booking: import("../booking/booking-slice").BookingState;
|
|
14
10
|
travelersForm: TravelersFormState;
|
|
15
|
-
productOptions: import("../product-options/product-options-slice").ProductOptionsState;
|
|
16
11
|
priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
|
|
17
|
-
rooms: import("@reduxjs/toolkit").EntityState<import("@qite/tide-client").PackageRoom>;
|
|
18
12
|
summary: import("../summary/summary-slice").SummaryState;
|
|
19
13
|
}, import("../../types").Traveler[], (res: TravelersFormValues | undefined) => import("../../types").Traveler[]>;
|
|
20
14
|
export declare const selectChildren: import("reselect").OutputSelector<{
|
|
21
15
|
booking: import("../booking/booking-slice").BookingState;
|
|
22
16
|
travelersForm: TravelersFormState;
|
|
23
|
-
productOptions: import("../product-options/product-options-slice").ProductOptionsState;
|
|
24
17
|
priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
|
|
25
|
-
rooms: import("@reduxjs/toolkit").EntityState<import("@qite/tide-client").PackageRoom>;
|
|
26
18
|
summary: import("../summary/summary-slice").SummaryState;
|
|
27
19
|
}, import("../../types").Traveler[], (res: TravelersFormValues | undefined) => import("../../types").Traveler[]>;
|
|
28
|
-
export declare const
|
|
20
|
+
export declare const selectAdultIds: import("reselect").OutputSelector<{
|
|
29
21
|
booking: import("../booking/booking-slice").BookingState;
|
|
30
22
|
travelersForm: TravelersFormState;
|
|
31
|
-
productOptions: import("../product-options/product-options-slice").ProductOptionsState;
|
|
32
23
|
priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
|
|
33
|
-
rooms: import("@reduxjs/toolkit").EntityState<import("@qite/tide-client").PackageRoom>;
|
|
34
24
|
summary: import("../summary/summary-slice").SummaryState;
|
|
35
|
-
},
|
|
36
|
-
export declare const
|
|
25
|
+
}, number[], (res: import("@qite/tide-client/build/types").BookingPackageRequestRoom[] | undefined) => number[]>;
|
|
26
|
+
export declare const selectChildIds: import("reselect").OutputSelector<{
|
|
37
27
|
booking: import("../booking/booking-slice").BookingState;
|
|
38
28
|
travelersForm: TravelersFormState;
|
|
39
|
-
productOptions: import("../product-options/product-options-slice").ProductOptionsState;
|
|
40
29
|
priceDetails: import("../price-details/price-details-slice").PriceDetailsState;
|
|
41
|
-
rooms: import("@reduxjs/toolkit").EntityState<import("@qite/tide-client").PackageRoom>;
|
|
42
30
|
summary: import("../summary/summary-slice").SummaryState;
|
|
43
|
-
}, number
|
|
31
|
+
}, number[], (res: import("@qite/tide-client/build/types").BookingPackageRequestRoom[] | undefined) => number[]>;
|
|
44
32
|
declare const _default: import("redux").Reducer<TravelersFormState, import("redux").AnyAction>;
|
|
45
33
|
export default _default;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Settings } from "./types";
|
|
3
3
|
interface BookingWizardProps {
|
|
4
|
-
|
|
4
|
+
productCode: string;
|
|
5
5
|
productName: string;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
allotmentName?: string;
|
|
7
|
+
tourCode?: string;
|
|
8
8
|
thumbnailUrl?: string;
|
|
9
9
|
settings: Settings;
|
|
10
10
|
}
|
|
@@ -2,23 +2,17 @@ import { Action, ThunkAction } from "@reduxjs/toolkit";
|
|
|
2
2
|
export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
|
|
3
3
|
booking: import("./features/booking/booking-slice").BookingState;
|
|
4
4
|
travelersForm: import("./features/travelers-form/travelers-form-slice").TravelersFormState;
|
|
5
|
-
productOptions: import("./features/product-options/product-options-slice").ProductOptionsState;
|
|
6
5
|
priceDetails: import("./features/price-details/price-details-slice").PriceDetailsState;
|
|
7
|
-
rooms: import("@reduxjs/toolkit").EntityState<import("@qite/tide-client").PackageRoom>;
|
|
8
6
|
summary: import("./features/summary/summary-slice").SummaryState;
|
|
9
7
|
}, import("redux").AnyAction, [import("redux-thunk").ThunkMiddleware<{
|
|
10
8
|
booking: import("./features/booking/booking-slice").BookingState;
|
|
11
9
|
travelersForm: import("./features/travelers-form/travelers-form-slice").TravelersFormState;
|
|
12
|
-
productOptions: import("./features/product-options/product-options-slice").ProductOptionsState;
|
|
13
10
|
priceDetails: import("./features/price-details/price-details-slice").PriceDetailsState;
|
|
14
|
-
rooms: import("@reduxjs/toolkit").EntityState<import("@qite/tide-client").PackageRoom>;
|
|
15
11
|
summary: import("./features/summary/summary-slice").SummaryState;
|
|
16
12
|
}, import("redux").AnyAction, null> | import("redux-thunk").ThunkMiddleware<{
|
|
17
13
|
booking: import("./features/booking/booking-slice").BookingState;
|
|
18
14
|
travelersForm: import("./features/travelers-form/travelers-form-slice").TravelersFormState;
|
|
19
|
-
productOptions: import("./features/product-options/product-options-slice").ProductOptionsState;
|
|
20
15
|
priceDetails: import("./features/price-details/price-details-slice").PriceDetailsState;
|
|
21
|
-
rooms: import("@reduxjs/toolkit").EntityState<import("@qite/tide-client").PackageRoom>;
|
|
22
16
|
summary: import("./features/summary/summary-slice").SummaryState;
|
|
23
17
|
}, import("redux").AnyAction, undefined>]>;
|
|
24
18
|
export declare type RootState = ReturnType<typeof store.getState>;
|
|
@@ -27,15 +21,11 @@ export declare type AppDispatch = typeof store.dispatch;
|
|
|
27
21
|
export declare const useAppDispatch: () => import("redux-thunk").ThunkDispatch<{
|
|
28
22
|
booking: import("./features/booking/booking-slice").BookingState;
|
|
29
23
|
travelersForm: import("./features/travelers-form/travelers-form-slice").TravelersFormState;
|
|
30
|
-
productOptions: import("./features/product-options/product-options-slice").ProductOptionsState;
|
|
31
24
|
priceDetails: import("./features/price-details/price-details-slice").PriceDetailsState;
|
|
32
|
-
rooms: import("@reduxjs/toolkit").EntityState<import("@qite/tide-client").PackageRoom>;
|
|
33
25
|
summary: import("./features/summary/summary-slice").SummaryState;
|
|
34
26
|
}, null, import("redux").AnyAction> & import("redux-thunk").ThunkDispatch<{
|
|
35
27
|
booking: import("./features/booking/booking-slice").BookingState;
|
|
36
28
|
travelersForm: import("./features/travelers-form/travelers-form-slice").TravelersFormState;
|
|
37
|
-
productOptions: import("./features/product-options/product-options-slice").ProductOptionsState;
|
|
38
29
|
priceDetails: import("./features/price-details/price-details-slice").PriceDetailsState;
|
|
39
|
-
rooms: import("@reduxjs/toolkit").EntityState<import("@qite/tide-client").PackageRoom>;
|
|
40
30
|
summary: import("./features/summary/summary-slice").SummaryState;
|
|
41
31
|
}, undefined, import("redux").AnyAction> & import("redux").Dispatch<import("redux").AnyAction>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export interface Settings {
|
|
3
3
|
officeId: number;
|
|
4
|
+
entryStatus: number;
|
|
4
5
|
customEntryStatusId?: number | null;
|
|
5
6
|
productPath: string;
|
|
6
7
|
basePath: string;
|
|
@@ -19,7 +20,8 @@ export interface Settings {
|
|
|
19
20
|
};
|
|
20
21
|
language: string;
|
|
21
22
|
currency: string;
|
|
22
|
-
|
|
23
|
+
includeFlights?: boolean;
|
|
24
|
+
generatePaymentUrl?: boolean;
|
|
23
25
|
companyContactEmail: string;
|
|
24
26
|
companyContactPhone: string;
|
|
25
27
|
showProductCardRating: boolean;
|
|
@@ -46,6 +48,8 @@ export interface Room {
|
|
|
46
48
|
adults: number;
|
|
47
49
|
children: number;
|
|
48
50
|
childAges: number[];
|
|
51
|
+
accommodationCode?: string;
|
|
52
|
+
regimeCode?: string;
|
|
49
53
|
}
|
|
50
54
|
export interface TravelersFormValues {
|
|
51
55
|
adults: Traveler[];
|
|
@@ -62,17 +66,17 @@ export interface TravelersFormValues {
|
|
|
62
66
|
emailConfirmation: string;
|
|
63
67
|
}
|
|
64
68
|
export interface ProductAttributes {
|
|
65
|
-
|
|
69
|
+
productCode: string;
|
|
66
70
|
productName: string;
|
|
67
|
-
serviceType: number;
|
|
68
71
|
}
|
|
69
72
|
export interface BookingAttributes {
|
|
70
73
|
startDate: string;
|
|
71
74
|
endDate: string;
|
|
72
|
-
accommodation: string;
|
|
73
|
-
regime?: string;
|
|
74
75
|
catalog: number;
|
|
75
76
|
rooms: Room[];
|
|
77
|
+
tourCode?: string;
|
|
78
|
+
allotmentName?: string;
|
|
79
|
+
includeFlights?: boolean;
|
|
76
80
|
}
|
|
77
81
|
export interface FlightLine {
|
|
78
82
|
departureAirportIata?: string;
|