@hyper.software/common-helpers 1.0.33 → 1.0.35
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/lib/services/bookingService/bookingsService.d.ts +4 -3
- package/lib/services/bookingService/bookingsService.js +63 -20
- package/lib/services/bookingService/bookingsService.js.map +1 -1
- package/lib/services/dateService/dateService.d.ts +4 -0
- package/lib/services/dateService/dateService.js +43 -0
- package/lib/services/dateService/dateService.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { Moment } from 'moment';
|
|
2
|
-
import { IBooking, ICompany, IRoom, IRoomBooking, IRoomTypePricePlanPricingInformation, IRoomTypePricePlanPricingRules } from '@hyper.software/common-models/lib/interfaces';
|
|
2
|
+
import { IBooking, ICompany, IRoom, IRoomBooking, IRoomTypePricePlan, IRoomTypePricePlanPricingInformation, IRoomTypePricePlanPricingRules } from '@hyper.software/common-models/lib/interfaces';
|
|
3
3
|
export declare const getTotalCostFromBookings: (bookings: IBooking[], company?: ICompany) => number;
|
|
4
4
|
export declare const getLengthOfStayNights: (booking: IBooking) => number;
|
|
5
5
|
export declare const getLengthOfStay: (booking: IBooking) => number;
|
|
6
6
|
export declare const getAccommodationCost: (booking: IBooking, company: ICompany) => number;
|
|
7
|
+
export declare const getDefaultRoomTypePricePlan: (roomTypePricePlans: IRoomTypePricePlan[]) => IRoomTypePricePlan;
|
|
7
8
|
export declare const getTotalCostForRoomBooking: (roomBooking: IRoomBooking & {
|
|
9
|
+
price?: number;
|
|
8
10
|
pricingRules?: IRoomTypePricePlanPricingRules;
|
|
9
11
|
pricingInformation?: Partial<IRoomTypePricePlanPricingInformation>;
|
|
10
12
|
}, checkinDate: Moment, checkoutDate: Moment, numberOfAdults: any) => number;
|
|
11
|
-
export declare const
|
|
13
|
+
export declare const getTotalCost: (roomBookings: Array<{
|
|
12
14
|
roomId?: string;
|
|
13
15
|
breakfastIncluded?: boolean;
|
|
14
16
|
pricingInformation?: Partial<IRoomTypePricePlanPricingInformation>;
|
|
@@ -18,4 +20,3 @@ export declare const getTotalCosts: (roomBookings: Array<{
|
|
|
18
20
|
}>, _checkinDate: Moment, _checkoutDate: Moment, numberOfAdults: number) => number;
|
|
19
21
|
export declare const ensureValueIsNumber: (value: string | number, isDouble?: boolean) => number | null;
|
|
20
22
|
export declare const removeInvalidCharacters: (value: string, isDouble: boolean) => string;
|
|
21
|
-
export declare const normalizeDate: (date: Date | Moment | string | null) => Moment | null;
|
|
@@ -1,18 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
2
36
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
38
|
};
|
|
5
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
40
|
+
exports.removeInvalidCharacters = exports.ensureValueIsNumber = exports.getTotalCost = exports.getTotalCostForRoomBooking = exports.getDefaultRoomTypePricePlan = exports.getAccommodationCost = exports.getLengthOfStay = exports.getLengthOfStayNights = exports.getTotalCostFromBookings = void 0;
|
|
7
41
|
var moment_1 = __importDefault(require("moment"));
|
|
8
42
|
var helpers_1 = require("../../helpers");
|
|
9
43
|
var interfaces_1 = require("@hyper.software/common-models/lib/interfaces");
|
|
44
|
+
var dateService = __importStar(require("../dateService/dateService"));
|
|
10
45
|
var getTotalCostFromBookings = function (bookings, company) {
|
|
11
46
|
return bookings.reduce(function (prevVal, currVal) { return (prevVal += (0, exports.getAccommodationCost)(currVal, company) || 0); }, 0);
|
|
12
47
|
};
|
|
13
48
|
exports.getTotalCostFromBookings = getTotalCostFromBookings;
|
|
14
49
|
var getLengthOfStayNights = function (booking) {
|
|
15
|
-
return (0, moment_1.default)((0,
|
|
50
|
+
return (0, moment_1.default)(dateService.normalizeDate(booking === null || booking === void 0 ? void 0 : booking.checkoutDate, booking === null || booking === void 0 ? void 0 : booking.company.timezone)).diff((0, moment_1.default)(dateService.normalizeDate(booking === null || booking === void 0 ? void 0 : booking.checkinDate, booking === null || booking === void 0 ? void 0 : booking.company.timezone)), 'days');
|
|
16
51
|
};
|
|
17
52
|
exports.getLengthOfStayNights = getLengthOfStayNights;
|
|
18
53
|
var getLengthOfStay = function (booking) {
|
|
@@ -21,7 +56,7 @@ var getLengthOfStay = function (booking) {
|
|
|
21
56
|
return 0;
|
|
22
57
|
}
|
|
23
58
|
return (_b = booking === null || booking === void 0 ? void 0 : booking.roomBookings) === null || _b === void 0 ? void 0 : _b.reduce(function (prevVal, currVal) {
|
|
24
|
-
var lengthOfStay = (0, moment_1.default)(
|
|
59
|
+
var lengthOfStay = (0, moment_1.default)(dateService.normalizeDate(currVal.checkoutDate, booking === null || booking === void 0 ? void 0 : booking.company.timezone)).diff((0, moment_1.default)(dateService.normalizeDate(currVal.checkinDate, booking === null || booking === void 0 ? void 0 : booking.company.timezone)), 'days');
|
|
25
60
|
return prevVal + lengthOfStay;
|
|
26
61
|
}, 0);
|
|
27
62
|
};
|
|
@@ -33,11 +68,30 @@ var getAccommodationCost = function (booking, company) {
|
|
|
33
68
|
return totalCost + tourismTaxCost;
|
|
34
69
|
};
|
|
35
70
|
exports.getAccommodationCost = getAccommodationCost;
|
|
71
|
+
var getDefaultRoomTypePricePlan = function (roomTypePricePlans) {
|
|
72
|
+
if (!Array.isArray(roomTypePricePlans)) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
return (roomTypePricePlans.find(function (roomTypePricePlan) { return roomTypePricePlan.type === interfaces_1.CHANNEL_TYPE.BOOKING; }) ||
|
|
76
|
+
roomTypePricePlans.find(function (roomTypePricePlan) { return roomTypePricePlan.type === interfaces_1.CHANNEL_TYPE.DEFAULT; }));
|
|
77
|
+
};
|
|
78
|
+
exports.getDefaultRoomTypePricePlan = getDefaultRoomTypePricePlan;
|
|
36
79
|
var getTotalCostForRoomBooking = function (roomBooking, checkinDate, checkoutDate, numberOfAdults) {
|
|
37
80
|
var _a, _b, _c;
|
|
38
81
|
if (!roomBooking) {
|
|
39
82
|
return 0;
|
|
40
83
|
}
|
|
84
|
+
var roomTypePricePlan = (0, exports.getDefaultRoomTypePricePlan)(roomBooking.room.roomType.roomTypePricePlans);
|
|
85
|
+
roomBooking.pricingInformation = roomTypePricePlan.pricing;
|
|
86
|
+
roomBooking.pricingRules = roomBooking.pricingRules || roomTypePricePlan.pricingRules;
|
|
87
|
+
if (roomBooking.price) {
|
|
88
|
+
roomBooking.pricingInformation = dateService
|
|
89
|
+
.getDays(checkinDate.toISOString(), checkoutDate.toISOString())
|
|
90
|
+
.reduce(function (prevVal, currVal) {
|
|
91
|
+
var _a;
|
|
92
|
+
return (__assign(__assign({}, prevVal), (_a = {}, _a[currVal] = roomBooking.price, _a)));
|
|
93
|
+
}, {});
|
|
94
|
+
}
|
|
41
95
|
var totalCost = 0;
|
|
42
96
|
var maxNumberOfAdults = ((_b = (_a = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.maxNumberOfAdults) || ((_c = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.roomType) === null || _c === void 0 ? void 0 : _c.maxNumberOfAdults);
|
|
43
97
|
var actualNumberOfAdults = roomBooking.personsPayingBreakfast || numberOfAdults;
|
|
@@ -57,7 +111,7 @@ var getTotalCostForRoomBooking = function (roomBooking, checkinDate, checkoutDat
|
|
|
57
111
|
}
|
|
58
112
|
var cost = roomBooking.pricePerNight ||
|
|
59
113
|
(0, exports.ensureValueIsNumber)(roomBooking.pricingInformation[checkinDate.format(helpers_1.DATE_FORMATS.YYYY_MM_DD)]);
|
|
60
|
-
var calculation = actualNumberOfAdults === maxNumberOfAdults || !
|
|
114
|
+
var calculation = actualNumberOfAdults === maxNumberOfAdults || !discountOrIncrease
|
|
61
115
|
? cost
|
|
62
116
|
: (discountOrIncrease === null || discountOrIncrease === void 0 ? void 0 : discountOrIncrease.type) === interfaces_1.DISCOUNT_TYPE.PERCENTAGE
|
|
63
117
|
? ((100 + (discountOrIncrease === null || discountOrIncrease === void 0 ? void 0 : discountOrIncrease.value) * adjustmentFactor) / 100) * cost || 0
|
|
@@ -69,21 +123,21 @@ var getTotalCostForRoomBooking = function (roomBooking, checkinDate, checkoutDat
|
|
|
69
123
|
return totalCost;
|
|
70
124
|
};
|
|
71
125
|
exports.getTotalCostForRoomBooking = getTotalCostForRoomBooking;
|
|
72
|
-
var
|
|
126
|
+
var getTotalCost = function (roomBookings, _checkinDate, _checkoutDate, numberOfAdults) {
|
|
73
127
|
if (!_checkinDate || !_checkoutDate) {
|
|
74
128
|
return null;
|
|
75
129
|
}
|
|
76
|
-
var checkinDate = (0, moment_1.default)(
|
|
77
|
-
var checkoutDate = (0, moment_1.default)(
|
|
130
|
+
var checkinDate = (0, moment_1.default)(dateService.normalizeDate(_checkinDate, 'Europe/Berlin'));
|
|
131
|
+
var checkoutDate = (0, moment_1.default)(dateService.normalizeDate(_checkoutDate, 'Europe/Berlin'));
|
|
78
132
|
var totalCost = 0;
|
|
79
133
|
for (var _i = 0, roomBookings_1 = roomBookings; _i < roomBookings_1.length; _i++) {
|
|
80
134
|
var roomBooking = roomBookings_1[_i];
|
|
81
|
-
var costForRoomBooking = (0, exports.getTotalCostForRoomBooking)(roomBooking, (0, moment_1.default)(checkinDate.toISOString()), (0, moment_1.default)(checkoutDate.toISOString()), numberOfAdults);
|
|
135
|
+
var costForRoomBooking = (0, exports.getTotalCostForRoomBooking)(roomBooking, (0, moment_1.default)(checkinDate.toISOString()), (0, moment_1.default)(checkoutDate.toISOString()), roomBooking.personsPayingBreakfast || numberOfAdults);
|
|
82
136
|
totalCost += costForRoomBooking;
|
|
83
137
|
}
|
|
84
138
|
return totalCost;
|
|
85
139
|
};
|
|
86
|
-
exports.
|
|
140
|
+
exports.getTotalCost = getTotalCost;
|
|
87
141
|
var ensureValueIsNumber = function (value, isDouble) {
|
|
88
142
|
if (isDouble === void 0) { isDouble = true; }
|
|
89
143
|
if ((0, helpers_1.isEmpty)(value)) {
|
|
@@ -112,15 +166,4 @@ var removeInvalidCharacters = function (value, isDouble) {
|
|
|
112
166
|
return valWithNoInvalidChars.replace(/,/g, '');
|
|
113
167
|
};
|
|
114
168
|
exports.removeInvalidCharacters = removeInvalidCharacters;
|
|
115
|
-
var normalizeDate = function (date) {
|
|
116
|
-
if (!date) {
|
|
117
|
-
return null;
|
|
118
|
-
}
|
|
119
|
-
return (0, moment_1.default)(date).set({
|
|
120
|
-
hour: 18,
|
|
121
|
-
minute: 0,
|
|
122
|
-
second: 0,
|
|
123
|
-
});
|
|
124
|
-
};
|
|
125
|
-
exports.normalizeDate = normalizeDate;
|
|
126
169
|
//# sourceMappingURL=bookingsService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bookingsService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bookingsService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DateOrString } from '@hyper.software/common-models/lib/interfaces';
|
|
2
|
+
import moment from 'moment';
|
|
3
|
+
export declare const getDays: (startDate: DateOrString, endDate: DateOrString) => any[];
|
|
4
|
+
export declare const normalizeDate: (date: Date | moment.Moment | string | null, timezone: string) => moment.Moment | null;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.normalizeDate = exports.getDays = void 0;
|
|
7
|
+
var moment_1 = __importDefault(require("moment"));
|
|
8
|
+
var helpers_1 = require("../../helpers");
|
|
9
|
+
var moment_timezone_1 = __importDefault(require("moment-timezone"));
|
|
10
|
+
function getDate(date) {
|
|
11
|
+
if (Object.prototype.toString.call(date) === '[object Date]') {
|
|
12
|
+
return date;
|
|
13
|
+
}
|
|
14
|
+
return new Date(date);
|
|
15
|
+
}
|
|
16
|
+
var getDays = function (startDate, endDate) {
|
|
17
|
+
var days = [];
|
|
18
|
+
var dateStart = (0, moment_1.default)(startDate);
|
|
19
|
+
var dateEnd = (0, moment_1.default)(endDate).subtract(1, 'days');
|
|
20
|
+
while (dateEnd.diff(dateStart, 'days') >= 0) {
|
|
21
|
+
days.push(dateStart.format(helpers_1.DATE_FORMATS.YYYY_MM_DD));
|
|
22
|
+
dateStart.add(1, 'days');
|
|
23
|
+
}
|
|
24
|
+
return days;
|
|
25
|
+
};
|
|
26
|
+
exports.getDays = getDays;
|
|
27
|
+
var normalizeDate = function (date, timezone) {
|
|
28
|
+
if (!date) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
if (!timezone) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
var dt = getDate(date);
|
|
35
|
+
var momentDate = (0, moment_timezone_1.default)(dt);
|
|
36
|
+
return momentDate.tz(timezone).set({
|
|
37
|
+
hour: 15,
|
|
38
|
+
minute: 0,
|
|
39
|
+
second: 0,
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
exports.normalizeDate = normalizeDate;
|
|
43
|
+
//# sourceMappingURL=dateService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateService.js","sourceRoot":"","sources":["../../../src/services/dateService/dateService.ts"],"names":[],"mappings":";;;;;;AACA,kDAA2B;AAC3B,yCAA4C;AAC5C,oEAAiC;AAEjC,SAAS,OAAO,CAAC,IAAI;IACnB,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,eAAe,EAAE;QAC5D,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAEM,IAAM,OAAO,GAAG,UAAC,SAAuB,EAAE,OAAqB;IACpE,IAAM,IAAI,GAAG,EAAE,CAAA;IACf,IAAM,SAAS,GAAG,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAA;IACnC,IAAM,OAAO,GAAG,IAAA,gBAAM,EAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAEnD,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,sBAAY,CAAC,UAAU,CAAC,CAAC,CAAA;QACpD,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;KACzB;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAXY,QAAA,OAAO,WAWnB;AAEM,IAAM,aAAa,GAAG,UAAC,IAA0C,EAAE,QAAgB;IACxF,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAA;KACZ;IAED,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,IAAI,CAAA;KACZ;IAED,IAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,IAAM,UAAU,GAAG,IAAA,yBAAG,EAAC,EAAE,CAAC,CAAA;IAE1B,OAAO,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC;QACjC,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;KACV,CAAC,CAAA;AACJ,CAAC,CAAA;AAjBY,QAAA,aAAa,iBAiBzB"}
|