@qite/tide-client 1.0.14 → 1.0.17

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 (74) hide show
  1. package/build/index.js +32 -0
  2. package/build/index.js.map +1 -1
  3. package/build/types/offer/booking-v2/index.d.ts +3 -0
  4. package/build/types/offer/booking-v2/request/booking-package-address.d.ts +13 -0
  5. package/build/types/offer/booking-v2/request/booking-package-book-request.d.ts +12 -0
  6. package/build/types/offer/booking-v2/request/booking-package-details-request.d.ts +12 -0
  7. package/build/types/offer/booking-v2/request/booking-package-request.d.ts +5 -0
  8. package/build/types/offer/booking-v2/request/booking-package-search-request.d.ts +20 -0
  9. package/build/types/offer/booking-v2/request/index.d.ts +5 -0
  10. package/build/types/offer/booking-v2/response/booking-package-allotment-info.d.ts +13 -0
  11. package/build/types/offer/booking-v2/response/booking-package-dossier.d.ts +5 -0
  12. package/build/types/offer/booking-v2/response/booking-package-item.d.ts +12 -0
  13. package/build/types/offer/booking-v2/response/booking-price-detail.d.ts +13 -0
  14. package/build/types/offer/booking-v2/response/booking-price-details.d.ts +6 -0
  15. package/build/types/offer/booking-v2/response/booking-price-per-pax.d.ts +4 -0
  16. package/build/types/offer/booking-v2/response/changed-line.d.ts +4 -0
  17. package/build/types/offer/booking-v2/response/index.d.ts +7 -0
  18. package/build/types/offer/booking-v2/shared/booking-option-group.d.ts +5 -0
  19. package/build/types/offer/booking-v2/shared/booking-option-pax.d.ts +7 -0
  20. package/build/types/offer/booking-v2/shared/booking-option-unit.d.ts +6 -0
  21. package/build/types/offer/booking-v2/shared/booking-package-flight.d.ts +11 -0
  22. package/build/types/offer/booking-v2/shared/booking-package-hotel-option.d.ts +7 -0
  23. package/build/types/offer/booking-v2/shared/booking-package-hotel-room.d.ts +5 -0
  24. package/build/types/offer/booking-v2/shared/booking-package-hotel.d.ts +10 -0
  25. package/build/types/offer/booking-v2/shared/booking-package-line.d.ts +7 -0
  26. package/build/types/offer/booking-v2/shared/booking-package-pax.d.ts +16 -0
  27. package/build/types/offer/booking-v2/shared/booking-package-request-room.d.ts +5 -0
  28. package/build/types/offer/booking-v2/shared/booking-package-room-option.d.ts +7 -0
  29. package/build/types/offer/booking-v2/shared/booking-package-room.d.ts +5 -0
  30. package/build/types/offer/booking-v2/shared/booking-package.d.ts +27 -0
  31. package/build/types/offer/booking-v2/shared/index.d.ts +17 -0
  32. package/build/types/offer/booking-v2/shared/per-booking-package-option.d.ts +9 -0
  33. package/build/types/offer/booking-v2/shared/per-package-option.d.ts +8 -0
  34. package/build/types/offer/booking-v2/shared/per-pax-package-option.d.ts +5 -0
  35. package/build/types/offer/booking-v2/shared/per-unit-package-option.d.ts +7 -0
  36. package/build/types/offer/index.d.ts +1 -0
  37. package/build/utils/booking-v2-client.d.ts +5 -1
  38. package/package.json +54 -54
  39. package/src/index.ts +65 -67
  40. package/src/types/offer/booking-v2/index.ts +3 -0
  41. package/src/types/offer/booking-v2/request/booking-package-address.ts +13 -0
  42. package/src/types/offer/booking-v2/request/booking-package-book-request.ts +14 -0
  43. package/src/types/offer/booking-v2/request/booking-package-details-request.ts +13 -0
  44. package/src/types/offer/booking-v2/request/booking-package-request.ts +5 -0
  45. package/src/types/offer/booking-v2/request/booking-package-search-request.ts +23 -0
  46. package/src/types/offer/booking-v2/request/index.ts +5 -0
  47. package/src/types/offer/booking-v2/response/booking-package-allotment-info.ts +13 -0
  48. package/src/types/offer/booking-v2/response/booking-package-dossier.ts +5 -0
  49. package/src/types/offer/booking-v2/response/booking-package-item.ts +14 -0
  50. package/src/types/offer/booking-v2/response/booking-price-detail.ts +15 -0
  51. package/src/types/offer/booking-v2/response/booking-price-details.ts +7 -0
  52. package/src/types/offer/booking-v2/response/booking-price-per-pax.ts +4 -0
  53. package/src/types/offer/booking-v2/response/changed-line.ts +4 -0
  54. package/src/types/offer/booking-v2/response/index.ts +7 -0
  55. package/src/types/offer/booking-v2/shared/booking-option-group.ts +5 -0
  56. package/src/types/offer/booking-v2/shared/booking-option-pax.ts +8 -0
  57. package/src/types/offer/booking-v2/shared/booking-option-unit.ts +7 -0
  58. package/src/types/offer/booking-v2/shared/booking-package-flight.ts +11 -0
  59. package/src/types/offer/booking-v2/shared/booking-package-hotel-option.ts +7 -0
  60. package/src/types/offer/booking-v2/shared/booking-package-hotel-room.ts +6 -0
  61. package/src/types/offer/booking-v2/shared/booking-package-hotel.ts +13 -0
  62. package/src/types/offer/booking-v2/shared/booking-package-line.ts +7 -0
  63. package/src/types/offer/booking-v2/shared/booking-package-pax.ts +18 -0
  64. package/src/types/offer/booking-v2/shared/booking-package-request-room.ts +6 -0
  65. package/src/types/offer/booking-v2/shared/booking-package-room-option.ts +7 -0
  66. package/src/types/offer/booking-v2/shared/booking-package-room.ts +6 -0
  67. package/src/types/offer/booking-v2/shared/booking-package.ts +33 -0
  68. package/src/types/offer/booking-v2/shared/index.ts +17 -0
  69. package/src/types/offer/booking-v2/shared/per-booking-package-option.ts +10 -0
  70. package/src/types/offer/booking-v2/shared/per-package-option.ts +9 -0
  71. package/src/types/offer/booking-v2/shared/per-pax-package-option.ts +6 -0
  72. package/src/types/offer/booking-v2/shared/per-unit-package-option.ts +8 -0
  73. package/src/types/offer/index.ts +65 -64
  74. package/src/utils/booking-v2-client.ts +81 -19
@@ -62,3 +62,4 @@ export * from "./price-per-pax";
62
62
  export * from "./product-notification-result";
63
63
  export * from "./web-contact-form-request";
64
64
  export * from "./web-contact-has-tag-request";
65
+ export * from "./booking-v2";
@@ -1,3 +1,7 @@
1
1
  import { PackageSearchRequest, TideClientConfig } from "..";
2
- import { AvailablePackage } from "../types";
2
+ import { AvailablePackage, BookingPackage, BookingPackageBookRequest, BookingPackageDetailsRequest, BookingPackageDossier, BookingPackageItem, BookingPackageRequest, BookingPackageSearchRequest, BookingPriceDetails } from "../types";
3
3
  export declare const readPackageSearchList: (config: TideClientConfig, request: PackageSearchRequest, signal?: AbortSignal | undefined) => Promise<AvailablePackage[]>;
4
+ export declare const search: (config: TideClientConfig, request: BookingPackageRequest<BookingPackageSearchRequest>, signal?: AbortSignal | undefined) => Promise<BookingPackageItem[]>;
5
+ export declare const details: (config: TideClientConfig, request: BookingPackageRequest<BookingPackageDetailsRequest>, signal?: AbortSignal | undefined) => Promise<BookingPackage>;
6
+ export declare const priceDetails: (config: TideClientConfig, request: BookingPackageRequest<BookingPackageBookRequest>, signal?: AbortSignal | undefined) => Promise<BookingPriceDetails>;
7
+ export declare const book: (config: TideClientConfig, request: BookingPackageRequest<BookingPackageBookRequest>, signal?: AbortSignal | undefined) => Promise<BookingPackageDossier>;
package/package.json CHANGED
@@ -1,54 +1,54 @@
1
- {
2
- "name": "@qite/tide-client",
3
- "version": "1.0.14",
4
- "description": "Frontend client for Tide",
5
- "main": "build/index.js",
6
- "scripts": {
7
- "build": "rollup -c",
8
- "tsc": "tsc --noEmit",
9
- "format": "prettier --write .",
10
- "test": "jest"
11
- },
12
- "repository": {
13
- "type": "git",
14
- "url": "git+ssh://git@bitbucket.org/qitegeneral/tide-client.git"
15
- },
16
- "keywords": [
17
- "tide",
18
- "client"
19
- ],
20
- "author": "Kristof Colpaert <kristof.colpaert@qite.be>",
21
- "license": "OBSD",
22
- "homepage": "https://bitbucket.org/qitegeneral/tide-client#readme",
23
- "devDependencies": {
24
- "@rollup/plugin-commonjs": "^19.0.0",
25
- "@rollup/plugin-node-resolve": "^13.0.0",
26
- "@types/jest": "^26.0.23",
27
- "dotenv": "^9.0.2",
28
- "jest": "^26.6.3",
29
- "jest-fetch-mock": "^3.0.3",
30
- "prettier": "^2.3.0",
31
- "rollup": "^2.48.0",
32
- "rollup-plugin-typescript2": "^0.30.0",
33
- "ts-jest": "^26.5.6",
34
- "tslib": "^2.2.0",
35
- "typescript": "^4.2.4"
36
- },
37
- "jest": {
38
- "moduleFileExtensions": [
39
- "ts",
40
- "js"
41
- ],
42
- "transform": {
43
- "^.+\\.ts$": "ts-jest"
44
- },
45
- "globals": {
46
- "ts-jest": {
47
- "tsconfig": "tsconfig.json"
48
- }
49
- },
50
- "testMatch": [
51
- "**/tests/**/*.test.ts"
52
- ]
53
- }
54
- }
1
+ {
2
+ "name": "@qite/tide-client",
3
+ "version": "1.0.17",
4
+ "description": "Frontend client for Tide",
5
+ "main": "build/index.js",
6
+ "scripts": {
7
+ "build": "rollup -c",
8
+ "tsc": "tsc --noEmit",
9
+ "format": "prettier --write .",
10
+ "test": "jest"
11
+ },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+ssh://git@bitbucket.org/qitegeneral/tide-client.git"
15
+ },
16
+ "keywords": [
17
+ "tide",
18
+ "client"
19
+ ],
20
+ "author": "Kristof Colpaert <kristof.colpaert@qite.be>",
21
+ "license": "OBSD",
22
+ "homepage": "https://bitbucket.org/qitegeneral/tide-client#readme",
23
+ "devDependencies": {
24
+ "@rollup/plugin-commonjs": "^19.0.0",
25
+ "@rollup/plugin-node-resolve": "^13.0.0",
26
+ "@types/jest": "^26.0.23",
27
+ "dotenv": "^9.0.2",
28
+ "jest": "^26.6.3",
29
+ "jest-fetch-mock": "^3.0.3",
30
+ "prettier": "^2.3.0",
31
+ "rollup": "^2.48.0",
32
+ "rollup-plugin-typescript2": "^0.30.0",
33
+ "ts-jest": "^26.5.6",
34
+ "tslib": "^2.2.0",
35
+ "typescript": "^4.2.4"
36
+ },
37
+ "jest": {
38
+ "moduleFileExtensions": [
39
+ "ts",
40
+ "js"
41
+ ],
42
+ "transform": {
43
+ "^.+\\.ts$": "ts-jest"
44
+ },
45
+ "globals": {
46
+ "ts-jest": {
47
+ "tsconfig": "tsconfig.json"
48
+ }
49
+ },
50
+ "testMatch": [
51
+ "**/tests/**/*.test.ts"
52
+ ]
53
+ }
54
+ }
package/src/index.ts CHANGED
@@ -1,67 +1,65 @@
1
- // Config
2
-
3
- export { TideClientConfig } from "./types";
4
-
5
- // Enums
6
-
7
- export {
8
- AllotmentType,
9
- AvailabilitySearchType,
10
- Gender,
11
- MetaDataType,
12
- RequirementType,
13
- ServiceType,
14
- } from "./types";
15
-
16
- // Request types
17
-
18
- export {
19
- Address,
20
- AvailableProductsRequest,
21
- BasePricesRequest,
22
- BasePricesFromDateRequest,
23
- CrmContactRequest,
24
- MolliePaymentRequest,
25
- MultiroomBookRequest,
26
- OtherProduct,
27
- PackageBookRequestRoom,
28
- PackageBookRequest,
29
- PackagePriceDetailsRequestRoom,
30
- PackagePriceDetailsRequest,
31
- PackageSearchDestination,
32
- PackageSearchRequestDate,
33
- PackageSearchRequestRoom,
34
- PackageSearchRequest,
35
- Pax,
36
- TravelerGrouping,
37
- WebContactFormRequest,
38
- WebContactHasTagRequest,
39
- } from "./types";
40
-
41
- // Responses
42
-
43
- export {
44
- Availability,
45
- AvailablePackage,
46
- BasePrice,
47
- BookingResponse,
48
- CachedPackageSearchResult,
49
- Entry,
50
- MolliePayment,
51
- PackageOption,
52
- PackageRoom,
53
- PriceDetail,
54
- } from "./types";
55
-
56
- // Tide Types
57
- export {
58
- FlightMetaData
59
- } from "./types"
60
-
61
- // Calls
62
-
63
- export * from "./utils/booking-client";
64
- export * from "./utils/booking-v2-client";
65
- export * from "./utils/mollie-client";
66
- export * from "./utils/web-client";
67
- export * from "./utils/web-contact-client";
1
+ // Config
2
+
3
+ export { TideClientConfig } from "./types";
4
+
5
+ // Enums
6
+
7
+ export {
8
+ AllotmentType,
9
+ AvailabilitySearchType,
10
+ Gender,
11
+ MetaDataType,
12
+ RequirementType,
13
+ ServiceType,
14
+ } from "./types";
15
+
16
+ // Request types
17
+
18
+ export {
19
+ Address,
20
+ AvailableProductsRequest,
21
+ BasePricesRequest,
22
+ BasePricesFromDateRequest,
23
+ CrmContactRequest,
24
+ MolliePaymentRequest,
25
+ MultiroomBookRequest,
26
+ OtherProduct,
27
+ PackageBookRequestRoom,
28
+ PackageBookRequest,
29
+ PackagePriceDetailsRequestRoom,
30
+ PackagePriceDetailsRequest,
31
+ PackageSearchDestination,
32
+ PackageSearchRequestDate,
33
+ PackageSearchRequestRoom,
34
+ PackageSearchRequest,
35
+ Pax,
36
+ TravelerGrouping,
37
+ WebContactFormRequest,
38
+ WebContactHasTagRequest,
39
+ } from "./types";
40
+
41
+ // Responses
42
+
43
+ export {
44
+ Availability,
45
+ AvailablePackage,
46
+ BasePrice,
47
+ BookingResponse,
48
+ CachedPackageSearchResult,
49
+ Entry,
50
+ MolliePayment,
51
+ PackageOption,
52
+ PackageRoom,
53
+ PriceDetail,
54
+ } from "./types";
55
+
56
+ // Tide Types
57
+ export { FlightMetaData } from "./types";
58
+
59
+ // Calls
60
+
61
+ export * from "./utils/booking-client";
62
+ export * from "./utils/booking-v2-client";
63
+ export * from "./utils/mollie-client";
64
+ export * from "./utils/web-client";
65
+ export * from "./utils/web-contact-client";
@@ -0,0 +1,3 @@
1
+ export * from "./request";
2
+ export * from "./response";
3
+ export * from "./shared";
@@ -0,0 +1,13 @@
1
+ export interface BookingPackageAddress {
2
+ name: string;
3
+ street: string;
4
+ number: string;
5
+ box: string;
6
+ postalCode: string;
7
+ location: String;
8
+ country: string;
9
+ mobilePhone: string;
10
+ phone: string;
11
+ email: string;
12
+ vatNumber: string;
13
+ }
@@ -0,0 +1,14 @@
1
+ import { BookingPackage } from "../shared";
2
+ import { BookingPackagePax } from "../shared/booking-package-pax";
3
+ import { BookingPackageAddress } from "./booking-package-address";
4
+
5
+ export interface BookingPackageBookRequest {
6
+ saleType?: number;
7
+ status: number;
8
+ customStatusId: number;
9
+ package: BookingPackage;
10
+
11
+ adddress: BookingPackageAddress;
12
+ pax: BookingPackagePax[];
13
+ nonTravelPax: BookingPackagePax[];
14
+ }
@@ -0,0 +1,13 @@
1
+ import { BookingPackageRequestRoom } from "../shared/booking-package-request-room";
2
+
3
+ export interface BookingPackageDetailsRequest {
4
+ catalogueId?: number;
5
+ rooms: BookingPackageRequestRoom[];
6
+ searchType: number;
7
+ productCode: string;
8
+ allotmentName: string;
9
+ tourCode: string;
10
+ fromDate: Date;
11
+ toDate: Date;
12
+ includeFlights: boolean;
13
+ }
@@ -0,0 +1,5 @@
1
+ export interface BookingPackageRequest<T> {
2
+ officeId: number;
3
+ agentId?: number;
4
+ payload: T;
5
+ }
@@ -0,0 +1,23 @@
1
+ import { BookingPackageRequestRoom } from "../shared/booking-package-request-room";
2
+
3
+ export interface BookingPackageSearchRequest {
4
+ catalogueIds: number[];
5
+ rooms: BookingPackageRequestRoom[];
6
+ serviceType?: number;
7
+ searchType?: number;
8
+ productIds: number[];
9
+ productCodes: string[];
10
+ fromDate: Date;
11
+ toDate: Date;
12
+ productTagIds: number[];
13
+ includeFlights: boolean;
14
+
15
+ minPrice?: number;
16
+ maxPrice?: number;
17
+
18
+ allotmentName: string;
19
+ tourCode: string;
20
+ allotmentTagIds: number[];
21
+ includeClosedAllotments: boolean;
22
+ includeFullyBookedAllotments: boolean;
23
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./booking-package-address";
2
+ export * from "./booking-package-book-request";
3
+ export * from "./booking-package-details-request";
4
+ export * from "./booking-package-request";
5
+ export * from "./booking-package-search-request";
@@ -0,0 +1,13 @@
1
+ export interface BookingPackageAllotmentInfo {
2
+ name: string;
3
+ tourCode: string;
4
+ startTime: string;
5
+ endTime: string;
6
+ totalPlaces: number;
7
+ bookedPlaces: number;
8
+ inOptionPlaces: number;
9
+ status: number;
10
+ customStatusId?: number;
11
+ tagIds: number[];
12
+ allotmentIds: number[];
13
+ }
@@ -0,0 +1,5 @@
1
+ export interface BookingPackageDossier {
2
+ number: string;
3
+ productName: string;
4
+ allotmentName: string;
5
+ }
@@ -0,0 +1,14 @@
1
+ import { BookingPackageAllotmentInfo } from "./booking-package-allotment-info";
2
+
3
+ export interface BookingPackageItem {
4
+ catalogueId: number;
5
+ code: string;
6
+ name: string;
7
+ price: number;
8
+ type: number;
9
+ fromDate: Date;
10
+ toDate: Date;
11
+ tagIds: number[];
12
+
13
+ allotment: BookingPackageAllotmentInfo;
14
+ }
@@ -0,0 +1,15 @@
1
+ import { BookingPricePerPax } from "./booking-price-per-pax";
2
+
3
+ export interface BookingPriceDetail {
4
+ productName: string;
5
+ priceDescription: string;
6
+ price: number;
7
+ amount: number;
8
+ total: number;
9
+ pricePerPax: BookingPricePerPax[];
10
+
11
+ isInpackage: boolean;
12
+ isSeparate: boolean;
13
+ showPrice: boolean;
14
+ requirementType?: number;
15
+ }
@@ -0,0 +1,7 @@
1
+ import { BookingPriceDetail } from "./booking-price-detail";
2
+ import { ChangedLine } from "./changed-line";
3
+
4
+ export interface BookingPriceDetails {
5
+ details: BookingPriceDetail[];
6
+ changedLines: ChangedLine[];
7
+ }
@@ -0,0 +1,4 @@
1
+ export interface BookingPricePerPax {
2
+ paxId: number;
3
+ price: number;
4
+ }
@@ -0,0 +1,4 @@
1
+ export interface ChangedLine {
2
+ entryLineGuid: string;
3
+ price: number;
4
+ }
@@ -0,0 +1,7 @@
1
+ export * from "./booking-package-allotment-info";
2
+ export * from "./booking-package-dossier";
3
+ export * from "./booking-package-item";
4
+ export * from "./booking-price-detail";
5
+ export * from "./booking-price-details";
6
+ export * from "./booking-price-per-pax";
7
+ export * from "./changed-line";
@@ -0,0 +1,5 @@
1
+ export interface BookingOptionGroup<T> {
2
+ name: string;
3
+ title: string;
4
+ options: T[];
5
+ }
@@ -0,0 +1,8 @@
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { PerPaxPackageOption } from "./per-pax-package-option";
3
+
4
+ export interface BookingOptionPax {
5
+ id: number;
6
+ paxName: string;
7
+ groups: BookingOptionGroup<PerPaxPackageOption>[];
8
+ }
@@ -0,0 +1,7 @@
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { PerUnitPackageOption } from "./per-unit-package-option";
3
+
4
+ export interface BookingOptionUnit {
5
+ index: number;
6
+ groups: BookingOptionGroup<PerUnitPackageOption>[];
7
+ }
@@ -0,0 +1,11 @@
1
+ export interface BookingPackageFlight {
2
+ code: string;
3
+ tag: string;
4
+ class: string;
5
+ startDateTime: Date;
6
+ endDateTime: Date;
7
+ price: number;
8
+ isSelected: boolean;
9
+ externalGuid?: string;
10
+ entryLineGuid: string;
11
+ }
@@ -0,0 +1,7 @@
1
+ export interface BookingPackageHotelOption {
2
+ entryLineGuid: string;
3
+ accommodationName: string;
4
+ regimeName: string;
5
+ price: number;
6
+ isSelected: boolean;
7
+ }
@@ -0,0 +1,6 @@
1
+ import { BookingPackageHotelOption } from "./booking-package-hotel-option";
2
+
3
+ export interface BookingPackageHotelRoom {
4
+ index: number;
5
+ options: BookingPackageHotelOption[];
6
+ }
@@ -0,0 +1,13 @@
1
+ import { BookingPackageHotelRoom } from "./booking-package-hotel-room";
2
+
3
+ export interface BookingPackageHotel {
4
+ name: string;
5
+ isSelected: boolean;
6
+ cheapestPrice: number;
7
+
8
+ latitude: number;
9
+ longitude: number;
10
+
11
+ rooms: BookingPackageHotelRoom[];
12
+ combinations: string[][];
13
+ }
@@ -0,0 +1,7 @@
1
+ export interface BookingPackageLine {
2
+ entryLineGuid: string;
3
+ productName: string;
4
+ accommodationName: string;
5
+ regimeName: string;
6
+ price: number;
7
+ }
@@ -0,0 +1,18 @@
1
+ export interface BookingPackagePax {
2
+ id: number;
3
+ age?: number;
4
+ guid: string;
5
+ dateOfBirth?: Date;
6
+ firstName: string;
7
+ lastName: string;
8
+
9
+ salutationId?: number;
10
+ preferredLanguageId?: number;
11
+ gender?: number;
12
+ isMainBooker: boolean;
13
+ initials: string;
14
+
15
+ email: string;
16
+ phone: string;
17
+ mobilePhone: string;
18
+ }
@@ -0,0 +1,6 @@
1
+ import { BookingPackagePax } from "./booking-package-pax";
2
+
3
+ export interface BookingPackageRequestRoom {
4
+ index: number;
5
+ pax: BookingPackagePax[];
6
+ }
@@ -0,0 +1,7 @@
1
+ export interface BookingPackageRoomOption {
2
+ entryLineGuid: string;
3
+ accommodatioName: string;
4
+ regimeName: string;
5
+ price: number;
6
+ isSelected: boolean;
7
+ }
@@ -0,0 +1,6 @@
1
+ import { BookingPackageRoomOption } from "./booking-package-room-option";
2
+
3
+ export interface BookingPackageRoom {
4
+ index: number;
5
+ options: BookingPackageRoomOption[];
6
+ }
@@ -0,0 +1,33 @@
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { BookingOptionPax } from "./booking-option-pax";
3
+ import { BookingOptionUnit } from "./booking-option-unit";
4
+ import { BookingPackageFlight } from "./booking-package-flight";
5
+ import { BookingPackageHotel } from "./booking-package-hotel";
6
+ import { BookingPackageRequestRoom } from "./booking-package-request-room";
7
+ import { BookingPackageRoom } from "./booking-package-room";
8
+ import { PerBookingPackageOption } from "./per-booking-package-option";
9
+
10
+ export interface BookingPackage {
11
+ catalogueId: number;
12
+ code: string;
13
+ name: string;
14
+ price: number;
15
+ serviceType: number;
16
+
17
+ requestRooms: BookingPackageRequestRoom[];
18
+
19
+ fromDate: Date;
20
+ toDate: Date;
21
+
22
+ outwardFlights: BookingPackageFlight[];
23
+ returnFlights: BookingPackageFlight[];
24
+ hotels: BookingPackageHotel[];
25
+
26
+ allotmentTourCode: string;
27
+ allotmentName: string;
28
+
29
+ rooms: BookingPackageRoom[];
30
+ groups: BookingOptionGroup<PerBookingPackageOption>;
31
+ optionUnits: BookingOptionUnit[];
32
+ optionPax: BookingOptionPax[];
33
+ }
@@ -0,0 +1,17 @@
1
+ export * from "./booking-option-group";
2
+ export * from "./booking-option-pax";
3
+ export * from "./booking-option-unit";
4
+ export * from "./booking-package-flight";
5
+ export * from "./booking-package-hotel-option";
6
+ export * from "./booking-package-hotel-room";
7
+ export * from "./booking-package-hotel";
8
+ export * from "./booking-package-line";
9
+ export * from "./booking-package-pax";
10
+ export * from "./booking-package-request-room";
11
+ export * from "./booking-package-room-option";
12
+ export * from "./booking-package-room";
13
+ export * from "./booking-package";
14
+ export * from "./per-booking-package-option";
15
+ export * from "./per-package-option";
16
+ export * from "./per-pax-package-option";
17
+ export * from "./per-unit-package-option";
@@ -0,0 +1,10 @@
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { BookingOptionPax } from "./booking-option-pax";
3
+ import { BookingOptionUnit } from "./booking-option-unit";
4
+ import { PerPackageOption } from "./per-package-option";
5
+
6
+ export interface PerBookingPackageOption extends PerPackageOption {
7
+ groups: BookingOptionGroup<PerBookingPackageOption>;
8
+ units: BookingOptionUnit[];
9
+ pax: BookingOptionPax[];
10
+ }
@@ -0,0 +1,9 @@
1
+ import { BookingPackageLine } from "./booking-package-line";
2
+
3
+ export interface PerPackageOption {
4
+ line: BookingPackageLine;
5
+ isSelected: boolean;
6
+ isDefault: boolean;
7
+ requirementType?: number;
8
+ alternatives: BookingPackageLine[];
9
+ }
@@ -0,0 +1,6 @@
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { PerPackageOption } from "./per-package-option";
3
+
4
+ export interface PerPaxPackageOption extends PerPackageOption {
5
+ groups: BookingOptionGroup<PerPaxPackageOption>[];
6
+ }
@@ -0,0 +1,8 @@
1
+ import { BookingOptionGroup } from "./booking-option-group";
2
+ import { BookingOptionPax } from "./booking-option-pax";
3
+ import { PerPackageOption } from "./per-package-option";
4
+
5
+ export interface PerUnitPackageOption extends PerPackageOption {
6
+ groups: BookingOptionGroup<PerUnitPackageOption>[];
7
+ pax: BookingOptionPax[];
8
+ }