@hyper.software/common-helpers 1.2.11 → 1.2.13
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.
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BOOKING_SOURCE, IBooking, IRoomBooking, IRoomTypePricePlan, IRoomTypePricePlanPricingRules } from '../../interfaces';
|
|
2
2
|
export declare const getDefaultRoomTypePricePlan: (rTPricePlans: IRoomTypePricePlan[]) => IRoomTypePricePlan;
|
|
3
3
|
export declare const getRoomTypePricePlanByType: (rTPricePlans: IRoomTypePricePlan[], bookingSource: BOOKING_SOURCE) => IRoomTypePricePlan;
|
|
4
|
+
export declare const getLengthOfStay: (booking: IBooking) => number;
|
|
4
5
|
export declare const getApplicablePricingRules: (roomBooking: IRoomBooking, bookingSource?: BOOKING_SOURCE) => IRoomTypePricePlanPricingRules;
|
|
5
6
|
export declare const getBreakfastCost: (booking: IBooking) => number;
|
|
6
7
|
export declare const getServicesCost: (booking: IBooking, company: any) => number;
|
|
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.getChildrenCost = exports.getTotalGuestCount = exports.getTotalCost = exports.isOtaBooking = exports.ensureValueIsNumber = exports.getAccommodationCost = exports.getLengthOfStayDiscount = exports.getOccupancyBasedPricingDiscount = exports.getServicesCost = exports.getBreakfastCost = exports.getApplicablePricingRules = exports.getRoomTypePricePlanByType = exports.getDefaultRoomTypePricePlan = void 0;
|
|
38
|
+
exports.getChildrenCost = exports.getTotalGuestCount = exports.getTotalCost = exports.isOtaBooking = exports.ensureValueIsNumber = exports.getAccommodationCost = exports.getLengthOfStayDiscount = exports.getOccupancyBasedPricingDiscount = exports.getServicesCost = exports.getBreakfastCost = exports.getApplicablePricingRules = exports.getLengthOfStay = exports.getRoomTypePricePlanByType = exports.getDefaultRoomTypePricePlan = void 0;
|
|
39
39
|
var moment_1 = __importDefault(require("moment"));
|
|
40
40
|
var helpers_1 = require("../../helpers");
|
|
41
41
|
var dateService = __importStar(require("../dateService/dateService"));
|
|
@@ -61,6 +61,13 @@ var getRoomTypePricePlanByType = function (rTPricePlans, bookingSource) {
|
|
|
61
61
|
return roomTypePricePlan;
|
|
62
62
|
};
|
|
63
63
|
exports.getRoomTypePricePlanByType = getRoomTypePricePlanByType;
|
|
64
|
+
var getLengthOfStay = function (booking) {
|
|
65
|
+
if (!booking || !Array.isArray(booking === null || booking === void 0 ? void 0 : booking.roomBookings)) {
|
|
66
|
+
return 0;
|
|
67
|
+
}
|
|
68
|
+
return (0, moment_1.default)(dateService.normalizeDate(booking.checkoutDate)).diff((0, moment_1.default)(dateService.normalizeDate(booking.checkinDate)), 'days');
|
|
69
|
+
};
|
|
70
|
+
exports.getLengthOfStay = getLengthOfStay;
|
|
64
71
|
var getApplicablePricingRules = function (roomBooking, bookingSource) {
|
|
65
72
|
var _a, _b, _c, _d;
|
|
66
73
|
if (!Array.isArray((_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.rTPricePlans)) {
|
|
@@ -83,7 +90,7 @@ var getServicesCost = function (booking, company) {
|
|
|
83
90
|
return 0;
|
|
84
91
|
}
|
|
85
92
|
var servicesCost = 0;
|
|
86
|
-
var numberOfNights =
|
|
93
|
+
var numberOfNights = (0, exports.getLengthOfStay)(booking);
|
|
87
94
|
var tourismTaxRate = ((_a = company === null || company === void 0 ? void 0 : company.receipts) === null || _a === void 0 ? void 0 : _a.tourismTax) || 0;
|
|
88
95
|
var _c = (0, exports.getTotalGuestCount)(booking), numberOfAdults = _c.numberOfAdults, numberOfChildren = _c.numberOfChildren;
|
|
89
96
|
var numberOfPersons = numberOfAdults + numberOfChildren || 1;
|
|
@@ -122,14 +129,14 @@ var getOccupancyBasedPricingDiscount = function (booking) {
|
|
|
122
129
|
var applicablePricingRules = (0, exports.getApplicablePricingRules)(roomBooking, booking.bookingSource);
|
|
123
130
|
var sortedRules = applicablePricingRules.sort(function (a, b) { return a.numberOfAdults - b.numberOfAdults; });
|
|
124
131
|
var discountOrIncrease = sortedRules.find(function (rule) { return rule.active && rule.numberOfAdults >= roomBooking.numberOfAdults; });
|
|
125
|
-
var lengthOfStay =
|
|
132
|
+
var lengthOfStay = (0, exports.getLengthOfStay)(booking);
|
|
126
133
|
if (!discountOrIncrease) {
|
|
127
134
|
discountOrIncrease = sortedRules[sortedRules.length - 1];
|
|
128
135
|
}
|
|
129
136
|
if (!discountOrIncrease || discountOrIncrease.value === undefined) {
|
|
130
137
|
return 0;
|
|
131
138
|
}
|
|
132
|
-
var basePrice = (0, exports.getAccommodationCost)(booking) /
|
|
139
|
+
var basePrice = (0, exports.getAccommodationCost)(booking) / (0, exports.getLengthOfStay)(booking);
|
|
133
140
|
if (basePrice === 0)
|
|
134
141
|
return roomBooking.pricePerNight || 0;
|
|
135
142
|
var discountAmount = discountOrIncrease.type === interfaces_1.DISCOUNT_TYPE.PERCENTAGE
|
|
@@ -144,7 +151,7 @@ var getLengthOfStayDiscount = function (booking, company) {
|
|
|
144
151
|
if (!(company === null || company === void 0 ? void 0 : company.owDiscountRules)) {
|
|
145
152
|
return 0;
|
|
146
153
|
}
|
|
147
|
-
var lengthOfStay =
|
|
154
|
+
var lengthOfStay = (0, exports.getLengthOfStay)(booking);
|
|
148
155
|
var totalCost = 0;
|
|
149
156
|
var owDiscountRule = __spreadArray([], ((company === null || company === void 0 ? void 0 : company.owDiscountRules) || []), true).sort(function (rule1, rule2) { return rule2.lengthOfStay - rule1.lengthOfStay; })
|
|
150
157
|
.find(function (rule) { return rule.lengthOfStay <= lengthOfStay; });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bookingsService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA2B;AAC3B,yCAAqD;AACrD,sEAAyD;AACzD,0EAA6D;AAC7D,+CAUyB;AAEzB,oDAAoD;AACpD,sFAAsF;AACtF,IAAI;AAEG,IAAM,2BAA2B,GAAG,UAAC,YAAkC;IAC5E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,YAAY,CAAC,IAAI,CAAC,UAAC,iBAAiB,IAAK,OAAA,iBAAiB,CAAC,IAAI,KAAK,yBAAY,CAAC,OAAO,EAA/C,CAA+C,CAAC;QACzF,YAAY,CAAC,IAAI,CAAC,UAAC,iBAAiB,IAAK,OAAA,iBAAiB,CAAC,IAAI,KAAK,yBAAY,CAAC,OAAO,EAA/C,CAA+C,CAAC,CAC1F,CAAA;AACH,CAAC,CAAA;AATY,QAAA,2BAA2B,+BASvC;AAEM,IAAM,0BAA0B,GAAG,UAAC,YAAkC,EAAE,aAA6B;IAC1G,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAM,iBAAiB,GACrB,YAAY,CAAC,IAAI,CAAC,UAAC,iBAAiB,IAAK,OAAA,iBAAiB,CAAC,IAAI,KAAM,aAAqB,EAAjD,CAAiD,CAAC;QAC3F,IAAA,mCAA2B,EAAC,YAAY,CAAC,CAAA;IAE3C,OAAO,iBAAiB,CAAA;AAC1B,CAAC,CAAA;AAVY,QAAA,0BAA0B,8BAUtC;AAEM,IAAM,yBAAyB,GAAG,UACvC,WAAyB,EACzB,aAA8B;;IAE9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,QAAQ,0CAAE,YAAY,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAM,iBAAiB,GAAG,IAAA,kCAA0B,EAAC,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,QAAQ,0CAAE,YAAY,EAAE,aAAa,CAAC,CAAA;IAE9G,OAAO,CAAC,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,YAAY,KAAI,EAAE,CAAC,CAAC,MAAM,CAAC,UAAC,WAAW,IAAK,OAAA,WAAW,CAAC,MAAM,EAAlB,CAAkB,CAAC,CAAA;AAC5F,CAAC,CAAA;AAXY,QAAA,yBAAyB,6BAWrC;AAEM,IAAM,gBAAgB,GAAG,UAAC,OAAiB;IAChD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,OAAO,IAAK,OAAA,MAAM,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAtD,CAAsD,EAAE,CAAC,CAAC,CAAA;AACpH,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B;AAEM,IAAM,eAAe,GAAG,UAAC,OAAiB,EAAE,OAAY;;IAC7D,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAA,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,YAAY,GAAW,CAAC,CAAA;IAC5B,IAAM,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"bookingsService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA2B;AAC3B,yCAAqD;AACrD,sEAAyD;AACzD,0EAA6D;AAC7D,+CAUyB;AAEzB,oDAAoD;AACpD,sFAAsF;AACtF,IAAI;AAEG,IAAM,2BAA2B,GAAG,UAAC,YAAkC;IAC5E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,YAAY,CAAC,IAAI,CAAC,UAAC,iBAAiB,IAAK,OAAA,iBAAiB,CAAC,IAAI,KAAK,yBAAY,CAAC,OAAO,EAA/C,CAA+C,CAAC;QACzF,YAAY,CAAC,IAAI,CAAC,UAAC,iBAAiB,IAAK,OAAA,iBAAiB,CAAC,IAAI,KAAK,yBAAY,CAAC,OAAO,EAA/C,CAA+C,CAAC,CAC1F,CAAA;AACH,CAAC,CAAA;AATY,QAAA,2BAA2B,+BASvC;AAEM,IAAM,0BAA0B,GAAG,UAAC,YAAkC,EAAE,aAA6B;IAC1G,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAM,iBAAiB,GACrB,YAAY,CAAC,IAAI,CAAC,UAAC,iBAAiB,IAAK,OAAA,iBAAiB,CAAC,IAAI,KAAM,aAAqB,EAAjD,CAAiD,CAAC;QAC3F,IAAA,mCAA2B,EAAC,YAAY,CAAC,CAAA;IAE3C,OAAO,iBAAiB,CAAA;AAC1B,CAAC,CAAA;AAVY,QAAA,0BAA0B,8BAUtC;AAEM,IAAM,eAAe,GAAG,UAAC,OAAiB;IAC/C,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,IAAA,gBAAM,EAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CACjE,IAAA,gBAAM,EAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EACtD,MAAM,CACP,CAAA;AACH,CAAC,CAAA;AATY,QAAA,eAAe,mBAS3B;AAEM,IAAM,yBAAyB,GAAG,UACvC,WAAyB,EACzB,aAA8B;;IAE9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,QAAQ,0CAAE,YAAY,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAM,iBAAiB,GAAG,IAAA,kCAA0B,EAAC,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,QAAQ,0CAAE,YAAY,EAAE,aAAa,CAAC,CAAA;IAE9G,OAAO,CAAC,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,YAAY,KAAI,EAAE,CAAC,CAAC,MAAM,CAAC,UAAC,WAAW,IAAK,OAAA,WAAW,CAAC,MAAM,EAAlB,CAAkB,CAAC,CAAA;AAC5F,CAAC,CAAA;AAXY,QAAA,yBAAyB,6BAWrC;AAEM,IAAM,gBAAgB,GAAG,UAAC,OAAiB;IAChD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,OAAO,IAAK,OAAA,MAAM,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAtD,CAAsD,EAAE,CAAC,CAAC,CAAA;AACpH,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B;AAEM,IAAM,eAAe,GAAG,UAAC,OAAiB,EAAE,OAAY;;IAC7D,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAA,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,YAAY,GAAW,CAAC,CAAA;IAC5B,IAAM,cAAc,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAA;IAC/C,IAAM,cAAc,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,UAAU,KAAI,CAAC,CAAA;IACnD,IAAA,KAAuC,IAAA,0BAAkB,EAAC,OAAO,CAAC,EAAhE,cAAc,oBAAA,EAAE,gBAAgB,sBAAgC,CAAA;IACxE,IAAM,eAAe,GAAG,cAAc,GAAG,gBAAgB,IAAI,CAAC,CAAA;IAC9D,IAAM,mBAAmB,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,CAAA;IAE7E,MAAA,OAAO,CAAC,eAAe,0CAAE,OAAO,CAAC,UAAC,cAAc;;QAC9C,IAAI,CAAC,cAAc,CAAC,QAAQ;YAAE,OAAM;QAEpC,IAAM,MAAM,GAAG,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,0CAAE,MAAM,MAAI,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,MAAM,CAAA,CAAA;QAC9E,IAAM,WAAW,GAAG,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,0CAAE,WAAW,MAAI,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,WAAW,CAAA,CAAA;QAE7F,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;YAC1B,QAAQ,WAAW,EAAE,CAAC;gBACpB,KAAK,WAAW;oBACd,YAAY,IAAI,MAAM,GAAG,cAAc,CAAA;oBACvC,MAAK;gBACP,KAAK,YAAY;oBACf,YAAY,IAAI,MAAM,GAAG,eAAe,CAAA;oBACxC,MAAK;gBACP,KAAK,UAAU;oBACb,YAAY,IAAI,MAAM,CAAA;oBACtB,MAAK;gBACP,KAAK,sBAAsB;oBACzB,YAAY,IAAI,MAAM,GAAG,eAAe,GAAG,cAAc,CAAA;oBACzD,MAAK;gBACP;oBACE,MAAK;YACT,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,YAAY,GAAG,mBAAmB,CAAA;AAC3C,CAAC,CAAA;AAvCY,QAAA,eAAe,mBAuC3B;AAEM,IAAM,gCAAgC,GAAG,UAAC,OAAiB;IAChE,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,WAAW,EAAE,WAAW;;QAC1D,IAAM,sBAAsB,GAAG,IAAA,iCAAyB,EAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;QAC5F,IAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,EAAnC,CAAmC,CAAC,CAAA;QAC9F,IAAI,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC,cAAc,EAAhE,CAAgE,CAAC,CAAA;QACrH,IAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAA;QAE7C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC1D,CAAC;QAED,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClE,OAAO,CAAC,CAAA;QACV,CAAC;QAED,IAAM,SAAS,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAA;QAE1E,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,WAAW,CAAC,aAAa,IAAI,CAAC,CAAA;QAE1D,IAAM,cAAc,GAClB,kBAAkB,CAAC,IAAI,KAAK,0BAAa,CAAC,UAAU;YAClD,CAAC,CAAC,SAAS,GAAG,CAAC,kBAAkB,CAAC,KAAK,GAAG,GAAG,CAAC;YAC9C,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAA;QAE9B,IAAM,UAAU,GAAG,WAAW,CAAC,cAAc,IAAG,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,0CAAE,iBAAiB,CAAA,CAAA;QAE7F,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC,GAAG,YAAY,CAAA;IACvF,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AA5BY,QAAA,gCAAgC,oCA4B5C;AAEM,IAAM,uBAAuB,GAAG,UAAC,OAAiB,EAAE,OAAY;IACrE,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAA,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAA;IAC7C,IAAM,SAAS,GAAW,CAAC,CAAA;IAE3B,IAAM,cAAc,GAAG,kBAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,KAAI,EAAE,CAAC,QACxD,IAAI,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,EAAvC,CAAuC,CAAC;SAC/D,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,YAAY,IAAI,YAAY,EAAjC,CAAiC,CAAC,CAAA;IAEpD,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,cAAc,CAAC,IAAI,KAAK,0BAAa,CAAC,UAAU,EAAE,CAAC;YACrD,OAAO,SAAS,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;QACrD,CAAC;QAED,OAAO,SAAS,GAAG,cAAc,CAAC,KAAK,GAAG,YAAY,CAAA;IACxD,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AArBY,QAAA,uBAAuB,2BAqBnC;AAEM,IAAM,oBAAoB,GAAG,UAAC,OAAiB;IAC5C,IAAa,YAAY,GAA+D,OAAO,YAAtE,EAAgB,aAAa,GAAkC,OAAO,aAAzC,EAAE,YAAY,GAAoB,OAAO,aAA3B,EAAE,aAAa,GAAK,OAAO,cAAZ,CAAY;IAEvG,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAM,WAAW,GAAkB,IAAA,gBAAM,EAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACjG,IAAM,YAAY,GAAkB,IAAA,gBAAM,EAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAEnG,OAAO,YAAY,CAAC,MAAM,CAAC,UAAC,SAAiB,EAAE,WAAW;;QACxD,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAM,WAAW,GAAG,IAAA,gBAAM,EAAC,WAAW,CAAC,CAAA;QAEvC,8JAA8J;QAC9J,OAAO,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,IAAM,kBAAkB,GACtB,CAAA,MAAA,IAAA,kCAA0B,EAAC,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,0CAAE,YAAY,EAAE,aAAa,CAAC,0CAAE,OAAO,KAAI,EAAE,CAAA;YACpG,IAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,sBAAY,CAAC,UAAU,CAAC,CAAA;YAC3D,IAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAElD,QAAQ,IAAI,SAAS,CAAA;YACrB,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAC5B,CAAC;QAED,OAAO,SAAS,GAAG,QAAQ,CAAA;IAC7B,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AA3BY,QAAA,oBAAoB,wBA2BhC;AAEM,IAAM,mBAAmB,GAAG,UAAC,KAAsB,EAAE,QAAe;IAAf,yBAAA,EAAA,eAAe;IACzE,IAAI,IAAA,iBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,UAAU,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAlBY,QAAA,mBAAmB,uBAkB/B;AAED,IAAM,uBAAuB,GAAG,UAAC,KAAa,EAAE,QAAiB;IAC/D,IAAM,qBAAqB,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;SACxC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAErB,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA;AAEM,IAAM,YAAY,GAAG,UAAC,OAAiB;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,CACL,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,MAAK,2BAAc,CAAC,MAAM;QAChD,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,MAAK,2BAAc,CAAC,UAAU;QACpD,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,MAAK,2BAAc,CAAC,OAAO;QACjD,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,MAAK,2BAAc,CAAC,MAAM,CACjD,CAAA;AACH,CAAC,CAAA;AAXY,QAAA,YAAY,gBAWxB;AAEM,IAAM,YAAY,GAAG,UAAC,OAAiB,EAAE,OAAY;IAC1D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3E,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAM,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CACnD,UAAC,WAAW;;QACV,OAAA,CAAA,MAAA,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,0CAAE,oBAAoB,0CAAE,IAAI;YACtD,iDAAoC,CAAC,wBAAwB,CAAA;KAAA,CAChE,CAAA;IACD,IAAM,iBAAiB,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAA;IACvD,IAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACtD,IAAM,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzE,IAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAA;IAC7C,IAAM,oBAAoB,GAAG,IAAA,+BAAuB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACtE,IAAM,wBAAwB,GAAG,IAAA,wCAAgC,EAAC,OAAO,CAAC,CAAA;IAE1E,OAAO,iBAAiB,GAAG,YAAY,GAAG,aAAa,GAAG,YAAY,GAAG,oBAAoB,GAAG,wBAAwB,CAAA;AAC1H,CAAC,CAAA;AAjBY,QAAA,YAAY,gBAiBxB;AAEM,IAAM,kBAAkB,GAAG,UAAC,OAAiB;IAClD,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAChC,UAAC,KAAK,EAAE,WAAW,IAAK,OAAA,CAAC;QACvB,cAAc,EAAE,KAAK,CAAC,cAAc,GAAG,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,CAAC;QACxE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,GAAG,CAAC,WAAW,CAAC,gBAAgB,IAAI,CAAC,CAAC;KAC/E,CAAC,EAHsB,CAGtB,EACF,EAAE,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAC3C,CAAA;AACH,CAAC,CAAA;AARY,QAAA,kBAAkB,sBAQ9B;AAEM,IAAM,eAAe,GAAG,UAAC,OAAiB;IAC/C,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,WAAyB;QAClE,OAAO,KAAK,GAAG,mBAAmB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;IACjE,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AARY,QAAA,eAAe,mBAQ3B"}
|
|
@@ -28548,9 +28548,9 @@ var company = {
|
|
|
28548
28548
|
var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(booking3, company);
|
|
28549
28549
|
expect(lengthOfStayDiscount).toBe(0);
|
|
28550
28550
|
var discountOrIncreaseAmount = (0, bookingsService_1.getOccupancyBasedPricingDiscount)(booking3);
|
|
28551
|
-
expect(discountOrIncreaseAmount).toBe(
|
|
28551
|
+
expect(discountOrIncreaseAmount).toBe(20);
|
|
28552
28552
|
var totalCost = (0, bookingsService_1.getTotalCost)(booking3, company);
|
|
28553
|
-
expect(totalCost).toBe(
|
|
28553
|
+
expect(totalCost).toBe(318);
|
|
28554
28554
|
});
|
|
28555
28555
|
it('SHOULD compute the correct accommodation cost for case 4 - A 3-day booking with a reduced price by OBP and by the Length of Stay Discount ', function () {
|
|
28556
28556
|
var accommodationCost = (0, bookingsService_1.getAccommodationCost)(booking4);
|