@hyper.software/common-helpers 1.3.18 → 1.3.20
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/interfaces.d.ts +345 -6
- package/lib/interfaces.js +49 -1
- package/lib/interfaces.js.map +1 -1
- package/lib/services/bookingService/bookingReceiptService.d.ts +173 -0
- package/lib/services/bookingService/bookingReceiptService.js +340 -0
- package/lib/services/bookingService/bookingReceiptService.js.map +1 -0
- package/lib/services/bookingService/bookingServicesService.d.ts +4 -0
- package/lib/services/bookingService/bookingServicesService.js +74 -0
- package/lib/services/bookingService/bookingServicesService.js.map +1 -0
- package/lib/services/bookingService/bookingsService.js +22 -10
- package/lib/services/bookingService/bookingsService.js.map +1 -1
- package/lib/services/bookingService/bookingsService.test.js +4815 -19582
- package/lib/services/bookingService/bookingsService.test.js.map +1 -1
- package/lib/services/roomBookingServices/index.d.ts +2 -0
- package/lib/services/roomBookingServices/index.js +25 -1
- package/lib/services/roomBookingServices/index.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,340 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.calculateSalesTax = exports.initialiseReceiptData = exports.initialiseProducts = exports.getFullAddress = exports.RECEIPT_PRODUCT = void 0;
|
|
18
|
+
var moment_1 = __importDefault(require("moment"));
|
|
19
|
+
var clone_deep_1 = __importDefault(require("clone-deep"));
|
|
20
|
+
var interfaces_1 = require("../../interfaces");
|
|
21
|
+
var bookingsService_1 = require("./bookingsService");
|
|
22
|
+
var roomBookingServices_1 = require("../roomBookingServices");
|
|
23
|
+
var helpers_1 = require("../../helpers");
|
|
24
|
+
var bookingServicesService_1 = require("./bookingServicesService");
|
|
25
|
+
var RECEIPT_PRODUCT;
|
|
26
|
+
(function (RECEIPT_PRODUCT) {
|
|
27
|
+
RECEIPT_PRODUCT["DRINKS"] = "DRINKS";
|
|
28
|
+
RECEIPT_PRODUCT["BREAKFAST"] = "BREAKFAST";
|
|
29
|
+
RECEIPT_PRODUCT["ACCOMMODATION"] = "ACCOMMODATION";
|
|
30
|
+
RECEIPT_PRODUCT["SERVICE"] = "SERVICE";
|
|
31
|
+
})(RECEIPT_PRODUCT || (exports.RECEIPT_PRODUCT = RECEIPT_PRODUCT = {}));
|
|
32
|
+
var getFullAddress = function (address, withCountry) {
|
|
33
|
+
if (withCountry === void 0) { withCountry = false; }
|
|
34
|
+
if (!address) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
if (!address.streetName && !address.streetNumber && !address.zipCode && !address.city && !address.country) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
if (!withCountry) {
|
|
41
|
+
return "".concat((address.streetName || '').trim(), " ").concat((address.streetNumber || '').trim(), ", ").concat((address.zipCode || '').trim(), " ").concat((address.city || '').trim(), " ").trim();
|
|
42
|
+
}
|
|
43
|
+
return "".concat((address.streetName || '').trim(), " ").concat((address.streetNumber || '').trim(), ", ").concat((address.zipCode || '').trim(), " ").concat((address.city || '').trim(), ", ").concat((address.country || '').trim(), " ").trim();
|
|
44
|
+
};
|
|
45
|
+
exports.getFullAddress = getFullAddress;
|
|
46
|
+
function formatCompanyAddress(company, booking, receiptIndex) {
|
|
47
|
+
var _a, _b;
|
|
48
|
+
var companyAddress = (0, clone_deep_1.default)(company === null || company === void 0 ? void 0 : company.address) || {};
|
|
49
|
+
var receiptCompanyAddress = (_b = (_a = booking === null || booking === void 0 ? void 0 : booking.receipts[receiptIndex]) === null || _a === void 0 ? void 0 : _a.company) === null || _b === void 0 ? void 0 : _b.address;
|
|
50
|
+
companyAddress.streetInformation =
|
|
51
|
+
(receiptCompanyAddress === null || receiptCompanyAddress === void 0 ? void 0 : receiptCompanyAddress.streetInformation) ||
|
|
52
|
+
((companyAddress === null || companyAddress === void 0 ? void 0 : companyAddress.streetName) && (companyAddress === null || companyAddress === void 0 ? void 0 : companyAddress.streetNumber)
|
|
53
|
+
? "".concat(companyAddress === null || companyAddress === void 0 ? void 0 : companyAddress.streetName.trim(), " ").concat(companyAddress === null || companyAddress === void 0 ? void 0 : companyAddress.streetNumber)
|
|
54
|
+
: undefined);
|
|
55
|
+
companyAddress.zipCodeCity =
|
|
56
|
+
(receiptCompanyAddress === null || receiptCompanyAddress === void 0 ? void 0 : receiptCompanyAddress.zipCodeCity) ||
|
|
57
|
+
(companyAddress.zipCode && companyAddress.city ? "".concat(companyAddress.zipCode.trim(), ", ").concat(companyAddress.city) : undefined);
|
|
58
|
+
companyAddress.fullAddress = (0, exports.getFullAddress)(companyAddress);
|
|
59
|
+
return companyAddress;
|
|
60
|
+
}
|
|
61
|
+
function formatCustomerAddress(booking, receiptIndex) {
|
|
62
|
+
var _a, _b, _c;
|
|
63
|
+
var customerAddress = (0, clone_deep_1.default)((_a = booking === null || booking === void 0 ? void 0 : booking.customer) === null || _a === void 0 ? void 0 : _a.address) || {};
|
|
64
|
+
var receiptCustomerAddress = (_c = (_b = booking === null || booking === void 0 ? void 0 : booking.receipts[receiptIndex]) === null || _b === void 0 ? void 0 : _b.customer) === null || _c === void 0 ? void 0 : _c.address;
|
|
65
|
+
customerAddress.streetInformation =
|
|
66
|
+
(receiptCustomerAddress === null || receiptCustomerAddress === void 0 ? void 0 : receiptCustomerAddress.streetInformation) ||
|
|
67
|
+
((customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.streetName) && (customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.streetNumber)
|
|
68
|
+
? "".concat(customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.streetName.trim(), " ").concat(customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.streetNumber)
|
|
69
|
+
: undefined);
|
|
70
|
+
customerAddress.zipCodeCity =
|
|
71
|
+
(receiptCustomerAddress === null || receiptCustomerAddress === void 0 ? void 0 : receiptCustomerAddress.zipCodeCity) ||
|
|
72
|
+
((customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.zipCode) && (customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.city)
|
|
73
|
+
? "".concat(customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.zipCode.trim(), ", ").concat(customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.city)
|
|
74
|
+
: undefined);
|
|
75
|
+
customerAddress.country = (receiptCustomerAddress === null || receiptCustomerAddress === void 0 ? void 0 : receiptCustomerAddress.country) || customerAddress.country;
|
|
76
|
+
return customerAddress;
|
|
77
|
+
}
|
|
78
|
+
var initialiseProducts = function (company, booking, intl) {
|
|
79
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
80
|
+
if (!booking || !company) {
|
|
81
|
+
return [];
|
|
82
|
+
}
|
|
83
|
+
var bookingLengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(booking, company);
|
|
84
|
+
var reducedSalesTax = ((_a = company === null || company === void 0 ? void 0 : company.receipts) === null || _a === void 0 ? void 0 : _a.reducedSalesTax) / (100 + ((_b = company === null || company === void 0 ? void 0 : company.receipts) === null || _b === void 0 ? void 0 : _b.reducedSalesTax));
|
|
85
|
+
var salesTax = ((_c = company === null || company === void 0 ? void 0 : company.receipts) === null || _c === void 0 ? void 0 : _c.salesTax) / (100 + ((_d = company === null || company === void 0 ? void 0 : company.receipts) === null || _d === void 0 ? void 0 : _d.salesTax));
|
|
86
|
+
var showCostBreakdown = false;
|
|
87
|
+
var products = ((booking === null || booking === void 0 ? void 0 : booking.roomBookings) || []).reduce(function (prevVal, roomBooking) {
|
|
88
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
|
|
89
|
+
var roomBookingAccommodationCost = (0, bookingsService_1.getAccommodationCost)(__assign(__assign({}, booking), { roomBookings: [roomBooking] }));
|
|
90
|
+
var roomBookingChildrenCost = (0, bookingsService_1.getChildrenCost)(__assign(__assign({}, booking), { roomBookings: [roomBooking] }));
|
|
91
|
+
var roomBookingChildrenTourismTaxCost = (0, bookingsService_1.getChildrenTourismTaxCost)(__assign(__assign({}, booking), { roomBookings: [roomBooking] }));
|
|
92
|
+
var roomBookingObpDiscountOrIncrease = (0, bookingsService_1.getOccupancyBasedPricingDiscount)(__assign(__assign({}, booking), { roomBookings: [roomBooking] }));
|
|
93
|
+
var lengthOfStay = (0, roomBookingServices_1.getLengthOfStayRoomBooking)(roomBooking);
|
|
94
|
+
var breakfastMultiplier = ((_a = company === null || company === void 0 ? void 0 : company.receipts) === null || _a === void 0 ? void 0 : _a.splitBreakfastIntoFoodAndDrinks) ? 0.7 : 1;
|
|
95
|
+
var breakfastQuantity = (0, roomBookingServices_1.getLengthOfStayRoomBooking)(roomBooking) * ((roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.numberOfAdults) + (roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.numberOfChildren));
|
|
96
|
+
var breakfastRate = roomBooking.breakfastIncluded
|
|
97
|
+
? (((_d = (_c = (_b = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _b === void 0 ? void 0 : _b.roomType) === null || _c === void 0 ? void 0 : _c.breakfastInformation) === null || _d === void 0 ? void 0 : _d.cost) || 0) * breakfastMultiplier
|
|
98
|
+
: 0;
|
|
99
|
+
var breakfastCost = breakfastRate * breakfastQuantity;
|
|
100
|
+
var roomDates = (roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.checkinDate) && (roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.checkoutDate)
|
|
101
|
+
? "(".concat((0, moment_1.default)(roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.checkinDate).format(helpers_1.DATE_FORMATS.DD_MM_YYYY), " - ").concat((0, moment_1.default)(roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.checkoutDate).format(helpers_1.DATE_FORMATS.DD_MM_YYYY), ")")
|
|
102
|
+
: '';
|
|
103
|
+
var accommodationDescription = "".concat((_f = (_e = roomBooking.room) === null || _e === void 0 ? void 0 : _e.roomType) === null || _f === void 0 ? void 0 : _f.name, " ").concat(roomDates);
|
|
104
|
+
roomBookingAccommodationCost -= showCostBreakdown ? roomBookingObpDiscountOrIncrease : 0;
|
|
105
|
+
var newProducts = [
|
|
106
|
+
{
|
|
107
|
+
type: RECEIPT_PRODUCT.ACCOMMODATION,
|
|
108
|
+
description: accommodationDescription,
|
|
109
|
+
quantity: (0, roomBookingServices_1.getLengthOfStayRoomBooking)(roomBooking),
|
|
110
|
+
taxType: interfaces_1.SERVICE_TAX_TYPE.REDUCED_SALES_TAX,
|
|
111
|
+
rate: roomBookingAccommodationCost / lengthOfStay -
|
|
112
|
+
(0, exports.calculateSalesTax)(roomBookingAccommodationCost, reducedSalesTax, lengthOfStay),
|
|
113
|
+
tax: (0, exports.calculateSalesTax)(roomBookingAccommodationCost, reducedSalesTax),
|
|
114
|
+
total: roomBookingAccommodationCost,
|
|
115
|
+
},
|
|
116
|
+
];
|
|
117
|
+
if (((_j = (_h = (_g = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _g === void 0 ? void 0 : _g.roomType) === null || _h === void 0 ? void 0 : _h.breakfastInformation) === null || _j === void 0 ? void 0 : _j.type) ===
|
|
118
|
+
interfaces_1.ROOM_TYPE_BREAKFAST_INFORMATION_TYPE.INCLUDED_IN_ROOM_PRICE &&
|
|
119
|
+
(roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.numberOfAdults) &&
|
|
120
|
+
breakfastRate) {
|
|
121
|
+
newProducts = [
|
|
122
|
+
{
|
|
123
|
+
type: RECEIPT_PRODUCT.ACCOMMODATION,
|
|
124
|
+
description: accommodationDescription,
|
|
125
|
+
quantity: (0, roomBookingServices_1.getLengthOfStayRoomBooking)(roomBooking),
|
|
126
|
+
taxType: interfaces_1.SERVICE_TAX_TYPE.REDUCED_SALES_TAX,
|
|
127
|
+
rate: (roomBookingAccommodationCost - breakfastCost) / lengthOfStay -
|
|
128
|
+
(0, exports.calculateSalesTax)(roomBookingAccommodationCost - breakfastCost, reducedSalesTax, lengthOfStay),
|
|
129
|
+
tax: (0, exports.calculateSalesTax)(roomBookingAccommodationCost - breakfastCost, reducedSalesTax),
|
|
130
|
+
total: roomBookingAccommodationCost - breakfastCost,
|
|
131
|
+
},
|
|
132
|
+
];
|
|
133
|
+
newProducts.push({
|
|
134
|
+
type: RECEIPT_PRODUCT.BREAKFAST,
|
|
135
|
+
description: intl.formatMessage({ id: 'App.bookings.bookingDetails.bookingInvoice.breakfast.description' }, {
|
|
136
|
+
roomTypeName: (_l = (_k = roomBooking.room) === null || _k === void 0 ? void 0 : _k.roomType) === null || _l === void 0 ? void 0 : _l.name,
|
|
137
|
+
}),
|
|
138
|
+
taxType: interfaces_1.SERVICE_TAX_TYPE.SALES_TAX,
|
|
139
|
+
quantity: breakfastQuantity,
|
|
140
|
+
rate: breakfastRate - (0, exports.calculateSalesTax)(breakfastCost, salesTax, breakfastQuantity),
|
|
141
|
+
tax: (0, exports.calculateSalesTax)(breakfastCost, salesTax),
|
|
142
|
+
total: breakfastCost,
|
|
143
|
+
});
|
|
144
|
+
if (((_m = company === null || company === void 0 ? void 0 : company.receipts) === null || _m === void 0 ? void 0 : _m.splitBreakfastIntoFoodAndDrinks) && breakfastRate) {
|
|
145
|
+
var drinksQuantity = (0, bookingsService_1.getLengthOfStay)(booking) * (roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.numberOfAdults);
|
|
146
|
+
var drinksRate = ((_q = (_p = (_o = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _o === void 0 ? void 0 : _o.roomType) === null || _p === void 0 ? void 0 : _p.breakfastInformation) === null || _q === void 0 ? void 0 : _q.cost) * 0.3;
|
|
147
|
+
var drinksCost = drinksRate * drinksQuantity;
|
|
148
|
+
newProducts.push({
|
|
149
|
+
type: RECEIPT_PRODUCT.DRINKS,
|
|
150
|
+
description: intl.formatMessage({ id: 'App.bookings.bookingDetails.bookingInvoice.breakfast.drinks.description' }, {
|
|
151
|
+
roomTypeName: (_s = (_r = roomBooking.room) === null || _r === void 0 ? void 0 : _r.roomType) === null || _s === void 0 ? void 0 : _s.name,
|
|
152
|
+
}),
|
|
153
|
+
taxType: interfaces_1.SERVICE_TAX_TYPE.SALES_TAX,
|
|
154
|
+
quantity: drinksQuantity,
|
|
155
|
+
rate: drinksRate - (0, exports.calculateSalesTax)(drinksCost, salesTax, drinksQuantity),
|
|
156
|
+
tax: (0, exports.calculateSalesTax)(drinksCost, salesTax),
|
|
157
|
+
total: drinksCost,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (roomBookingObpDiscountOrIncrease !== 0 && showCostBreakdown) {
|
|
162
|
+
newProducts.push({
|
|
163
|
+
type: RECEIPT_PRODUCT.ACCOMMODATION,
|
|
164
|
+
description: intl.formatMessage(roomBookingObpDiscountOrIncrease > 0
|
|
165
|
+
? {
|
|
166
|
+
id: 'App.bookings.booking.pricePerNight.increase',
|
|
167
|
+
}
|
|
168
|
+
: {
|
|
169
|
+
id: 'App.bookings.booking.pricePerNight.decrease',
|
|
170
|
+
}),
|
|
171
|
+
quantity: (0, roomBookingServices_1.getLengthOfStayRoomBooking)(roomBooking),
|
|
172
|
+
taxType: interfaces_1.SERVICE_TAX_TYPE.REDUCED_SALES_TAX,
|
|
173
|
+
rate: roomBookingObpDiscountOrIncrease / lengthOfStay -
|
|
174
|
+
(0, exports.calculateSalesTax)(roomBookingObpDiscountOrIncrease, reducedSalesTax, lengthOfStay),
|
|
175
|
+
tax: (0, exports.calculateSalesTax)(roomBookingObpDiscountOrIncrease, reducedSalesTax),
|
|
176
|
+
total: roomBookingObpDiscountOrIncrease,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
if ((roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.numberOfChildren) &&
|
|
180
|
+
((_v = (_u = (_t = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _t === void 0 ? void 0 : _t.roomType) === null || _u === void 0 ? void 0 : _u.childrenRates) === null || _v === void 0 ? void 0 : _v.length) > 0 &&
|
|
181
|
+
roomBookingChildrenCost > 0) {
|
|
182
|
+
newProducts.push({
|
|
183
|
+
type: RECEIPT_PRODUCT.ACCOMMODATION,
|
|
184
|
+
description: intl.formatMessage({
|
|
185
|
+
id: 'App.bookings.bookingDetails.bookingInvoice.childrenAccommodation.description',
|
|
186
|
+
}),
|
|
187
|
+
taxType: interfaces_1.SERVICE_TAX_TYPE.REDUCED_SALES_TAX,
|
|
188
|
+
quantity: (0, roomBookingServices_1.getLengthOfStayRoomBooking)(roomBooking),
|
|
189
|
+
rate: (roomBookingChildrenCost + roomBookingChildrenTourismTaxCost) / lengthOfStay -
|
|
190
|
+
(0, exports.calculateSalesTax)(roomBookingChildrenCost + roomBookingChildrenTourismTaxCost, reducedSalesTax, lengthOfStay),
|
|
191
|
+
tax: (0, exports.calculateSalesTax)(roomBookingChildrenCost + roomBookingChildrenTourismTaxCost, reducedSalesTax),
|
|
192
|
+
total: roomBookingChildrenCost + roomBookingChildrenTourismTaxCost,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
if (((_y = (_x = (_w = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _w === void 0 ? void 0 : _w.roomType) === null || _x === void 0 ? void 0 : _x.breakfastInformation) === null || _y === void 0 ? void 0 : _y.type) ===
|
|
196
|
+
interfaces_1.ROOM_TYPE_BREAKFAST_INFORMATION_TYPE.OPTIONAL_WITH_EXTRA_COST &&
|
|
197
|
+
(roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.numberOfAdults) &&
|
|
198
|
+
breakfastRate) {
|
|
199
|
+
newProducts.push({
|
|
200
|
+
type: RECEIPT_PRODUCT.BREAKFAST,
|
|
201
|
+
description: intl.formatMessage({ id: 'App.bookings.bookingDetails.bookingInvoice.breakfast.description' }, {
|
|
202
|
+
roomTypeName: (_0 = (_z = roomBooking.room) === null || _z === void 0 ? void 0 : _z.roomType) === null || _0 === void 0 ? void 0 : _0.name,
|
|
203
|
+
}),
|
|
204
|
+
taxType: interfaces_1.SERVICE_TAX_TYPE.SALES_TAX,
|
|
205
|
+
quantity: breakfastQuantity,
|
|
206
|
+
rate: breakfastRate - (0, exports.calculateSalesTax)(breakfastCost, salesTax, breakfastQuantity),
|
|
207
|
+
tax: (0, exports.calculateSalesTax)(breakfastCost, salesTax),
|
|
208
|
+
total: breakfastCost,
|
|
209
|
+
});
|
|
210
|
+
if ((_1 = company === null || company === void 0 ? void 0 : company.receipts) === null || _1 === void 0 ? void 0 : _1.splitBreakfastIntoFoodAndDrinks) {
|
|
211
|
+
var drinksQuantity = (0, bookingsService_1.getLengthOfStay)(booking) * ((roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.numberOfAdults) + (roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.numberOfChildren));
|
|
212
|
+
var drinksRate = ((_4 = (_3 = (_2 = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _2 === void 0 ? void 0 : _2.roomType) === null || _3 === void 0 ? void 0 : _3.breakfastInformation) === null || _4 === void 0 ? void 0 : _4.cost) * 0.3;
|
|
213
|
+
var drinksCost = drinksRate * drinksQuantity;
|
|
214
|
+
newProducts.push({
|
|
215
|
+
type: RECEIPT_PRODUCT.DRINKS,
|
|
216
|
+
description: intl.formatMessage({ id: 'App.bookings.bookingDetails.bookingInvoice.breakfast.drinks.description' }, {
|
|
217
|
+
roomTypeName: (_6 = (_5 = roomBooking.room) === null || _5 === void 0 ? void 0 : _5.roomType) === null || _6 === void 0 ? void 0 : _6.name,
|
|
218
|
+
}),
|
|
219
|
+
taxType: interfaces_1.SERVICE_TAX_TYPE.SALES_TAX,
|
|
220
|
+
quantity: drinksQuantity,
|
|
221
|
+
rate: drinksRate - (0, exports.calculateSalesTax)(drinksCost, salesTax, drinksQuantity),
|
|
222
|
+
tax: (0, exports.calculateSalesTax)(drinksCost, salesTax, drinksQuantity),
|
|
223
|
+
total: drinksCost,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return prevVal.concat(newProducts);
|
|
228
|
+
}, []);
|
|
229
|
+
if (bookingLengthOfStayDiscount !== 0) {
|
|
230
|
+
products.push({
|
|
231
|
+
type: RECEIPT_PRODUCT.ACCOMMODATION,
|
|
232
|
+
description: intl.formatMessage({
|
|
233
|
+
id: 'App.bookings.lengthOfStayDiscount',
|
|
234
|
+
}),
|
|
235
|
+
taxType: interfaces_1.SERVICE_TAX_TYPE.REDUCED_SALES_TAX,
|
|
236
|
+
quantity: (0, bookingsService_1.getLengthOfStay)(booking),
|
|
237
|
+
rate: bookingLengthOfStayDiscount / (0, bookingsService_1.getLengthOfStay)(booking) -
|
|
238
|
+
(0, exports.calculateSalesTax)(bookingLengthOfStayDiscount, reducedSalesTax, (0, bookingsService_1.getLengthOfStay)(booking)),
|
|
239
|
+
tax: (0, exports.calculateSalesTax)(bookingLengthOfStayDiscount, reducedSalesTax),
|
|
240
|
+
total: bookingLengthOfStayDiscount,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
var onlinePaymentCost = (0, bookingsService_1.getOnlinePaymentCost)(booking, company);
|
|
244
|
+
if (onlinePaymentCost !== 0) {
|
|
245
|
+
products.push({
|
|
246
|
+
type: RECEIPT_PRODUCT.ACCOMMODATION,
|
|
247
|
+
description: intl.formatMessage({
|
|
248
|
+
id: 'App.public.bookings.finalizeBooking.onlinePaymentFee',
|
|
249
|
+
}),
|
|
250
|
+
taxType: interfaces_1.SERVICE_TAX_TYPE.NO_TAX,
|
|
251
|
+
quantity: 1,
|
|
252
|
+
tax: 0,
|
|
253
|
+
rate: onlinePaymentCost,
|
|
254
|
+
total: onlinePaymentCost,
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
var bookingServices = ((booking === null || booking === void 0 ? void 0 : booking.bookingServices) || []).filter(function (bookingService) { return bookingService.isActive; });
|
|
258
|
+
for (var _i = 0, bookingServices_1 = bookingServices; _i < bookingServices_1.length; _i++) {
|
|
259
|
+
var bookingService = bookingServices_1[_i];
|
|
260
|
+
var bookingServiceName = ((_e = bookingService === null || bookingService === void 0 ? void 0 : bookingService.service) === null || _e === void 0 ? void 0 : _e.name) || ((_f = bookingService === null || bookingService === void 0 ? void 0 : bookingService.data) === null || _f === void 0 ? void 0 : _f.name);
|
|
261
|
+
var bookingServiceTotalCost = (0, bookingServicesService_1.getBookingServiceTotalCost)(booking, bookingService);
|
|
262
|
+
var bookingServiceTaxType = ((_g = bookingService === null || bookingService === void 0 ? void 0 : bookingService.service) === null || _g === void 0 ? void 0 : _g.taxType) || ((_h = bookingService === null || bookingService === void 0 ? void 0 : bookingService.data) === null || _h === void 0 ? void 0 : _h.taxType);
|
|
263
|
+
var taxValue = bookingServiceTaxType === interfaces_1.SERVICE_TAX_TYPE.SALES_TAX
|
|
264
|
+
? salesTax
|
|
265
|
+
: bookingServiceTaxType === interfaces_1.SERVICE_TAX_TYPE.REDUCED_SALES_TAX
|
|
266
|
+
? reducedSalesTax
|
|
267
|
+
: 0;
|
|
268
|
+
products.push({
|
|
269
|
+
type: RECEIPT_PRODUCT.SERVICE,
|
|
270
|
+
description: bookingServiceName,
|
|
271
|
+
quantity: (0, bookingServicesService_1.getBookingServiceQuantity)(booking, bookingService),
|
|
272
|
+
taxType: bookingServiceTaxType,
|
|
273
|
+
rate: bookingServiceTotalCost / (0, bookingServicesService_1.getBookingServiceQuantity)(booking, bookingService) -
|
|
274
|
+
(0, exports.calculateSalesTax)(bookingServiceTotalCost, taxValue, (0, bookingServicesService_1.getBookingServiceQuantity)(booking, bookingService)),
|
|
275
|
+
tax: (0, exports.calculateSalesTax)(bookingServiceTotalCost, taxValue),
|
|
276
|
+
total: (0, bookingServicesService_1.getBookingServiceTotalCost)(booking, bookingService),
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
return products;
|
|
280
|
+
};
|
|
281
|
+
exports.initialiseProducts = initialiseProducts;
|
|
282
|
+
var initialiseReceiptData = function (company, user, booking, intl) {
|
|
283
|
+
var _a, _b, _c, _d, _e;
|
|
284
|
+
var getPaymentMethod = function (paymentMethod) {
|
|
285
|
+
var _a;
|
|
286
|
+
if (paymentMethod === null || paymentMethod === undefined) {
|
|
287
|
+
return 'N/A';
|
|
288
|
+
}
|
|
289
|
+
if (interfaces_1.ALL_PAYMENT_METHOD.includes(paymentMethod)) {
|
|
290
|
+
return ((_a = intl.formatMessage({
|
|
291
|
+
id: "App.admin.bookings.invoice.paymentMethod.".concat(paymentMethod),
|
|
292
|
+
})) !== null && _a !== void 0 ? _a : 'N/A');
|
|
293
|
+
}
|
|
294
|
+
return paymentMethod;
|
|
295
|
+
};
|
|
296
|
+
var companyAddress = formatCompanyAddress(company, booking, 0);
|
|
297
|
+
var customerAddress = formatCustomerAddress(booking, 0);
|
|
298
|
+
var updatedCompany = __assign(__assign(__assign({}, company), booking === null || booking === void 0 ? void 0 : booking.receipts[0].company), { address: __assign(__assign({}, companyAddress), (_a = booking === null || booking === void 0 ? void 0 : booking.receipts[0].company) === null || _a === void 0 ? void 0 : _a.address), phoneNumber: (company === null || company === void 0 ? void 0 : company.phoneNumbers) && (company === null || company === void 0 ? void 0 : company.phoneNumbers[0]), ownerName: (0, helpers_1.getFullName)(company === null || company === void 0 ? void 0 : company.mainUser)
|
|
299
|
+
? intl.formatMessage({ id: 'App.admin.bookings.invoice.companyResponsibleName.value' }, {
|
|
300
|
+
ownerName: (0, helpers_1.getFullName)(company === null || company === void 0 ? void 0 : company.mainUser),
|
|
301
|
+
})
|
|
302
|
+
: '' });
|
|
303
|
+
var updatedCustomer = __assign(__assign({}, booking === null || booking === void 0 ? void 0 : booking.customer), { address: customerAddress, fullName: (0, helpers_1.getFullName)(booking === null || booking === void 0 ? void 0 : booking.customer) });
|
|
304
|
+
var updatedReceipts = booking === null || booking === void 0 ? void 0 : booking.receipts;
|
|
305
|
+
if ((updatedReceipts === null || updatedReceipts === void 0 ? void 0 : updatedReceipts.length) > 0) {
|
|
306
|
+
updatedReceipts = updatedReceipts === null || updatedReceipts === void 0 ? void 0 : updatedReceipts.map(function (receipt, index) { return (__assign(__assign({}, receipt), { company: __assign(__assign(__assign({}, company), receipt.company), { address: formatCompanyAddress(company, booking, index), phoneNumber: (company === null || company === void 0 ? void 0 : company.phoneNumbers) && (company === null || company === void 0 ? void 0 : company.phoneNumbers[0]), ownerName: (0, helpers_1.getFullName)(company === null || company === void 0 ? void 0 : company.mainUser)
|
|
307
|
+
? intl.formatMessage({ id: 'App.admin.bookings.invoice.companyResponsibleName.value' }, {
|
|
308
|
+
ownerName: (0, helpers_1.getFullName)(company === null || company === void 0 ? void 0 : company.mainUser),
|
|
309
|
+
})
|
|
310
|
+
: '' }), customer: __assign(__assign({}, booking === null || booking === void 0 ? void 0 : booking.customer), { address: formatCustomerAddress(booking, index), fullName: (0, helpers_1.getFullName)(booking === null || booking === void 0 ? void 0 : booking.customer) }), products: (0, exports.initialiseProducts)(company, booking, intl) })); });
|
|
311
|
+
}
|
|
312
|
+
var receiptData = [
|
|
313
|
+
{
|
|
314
|
+
adminFullName: (0, helpers_1.getFullName)(user),
|
|
315
|
+
registrationNumber: (_b = company === null || company === void 0 ? void 0 : company.legalInformation) === null || _b === void 0 ? void 0 : _b.registrationNumber,
|
|
316
|
+
company: updatedCompany,
|
|
317
|
+
customer: updatedCustomer,
|
|
318
|
+
products: (0, exports.initialiseProducts)(company, booking, intl),
|
|
319
|
+
notesLabel: intl === null || intl === void 0 ? void 0 : intl.formatMessage({ id: 'App.bookings.bookingDetails.bookingInvoice.notes' }),
|
|
320
|
+
notesText: ((booking === null || booking === void 0 ? void 0 : booking.receipts) && ((_c = booking === null || booking === void 0 ? void 0 : booking.receipts[0]) === null || _c === void 0 ? void 0 : _c.notes)) || '',
|
|
321
|
+
currentInvoiceId: ((booking === null || booking === void 0 ? void 0 : booking.receipts) && ((_d = booking === null || booking === void 0 ? void 0 : booking.receipts[0]) === null || _d === void 0 ? void 0 : _d.currentInvoiceId)) || '',
|
|
322
|
+
createdAt: (0, moment_1.default)(),
|
|
323
|
+
receiptDate: (0, moment_1.default)(booking === null || booking === void 0 ? void 0 : booking.checkinDate),
|
|
324
|
+
dueDate: (0, moment_1.default)(booking === null || booking === void 0 ? void 0 : booking.checkinDate).add(14, 'days'),
|
|
325
|
+
paymentMethod: getPaymentMethod((booking === null || booking === void 0 ? void 0 : booking.receipts) && ((_e = booking === null || booking === void 0 ? void 0 : booking.receipts[0]) === null || _e === void 0 ? void 0 : _e.paymentMethod)),
|
|
326
|
+
companyId: company === null || company === void 0 ? void 0 : company.id,
|
|
327
|
+
},
|
|
328
|
+
];
|
|
329
|
+
return receiptData;
|
|
330
|
+
};
|
|
331
|
+
exports.initialiseReceiptData = initialiseReceiptData;
|
|
332
|
+
var calculateSalesTax = function (value, taxRate, divisor) {
|
|
333
|
+
if (!value || !taxRate) {
|
|
334
|
+
return 0;
|
|
335
|
+
}
|
|
336
|
+
var baseValue = divisor ? value / divisor : value;
|
|
337
|
+
return Number((baseValue * taxRate).toFixed(2)) || 0;
|
|
338
|
+
};
|
|
339
|
+
exports.calculateSalesTax = calculateSalesTax;
|
|
340
|
+
//# sourceMappingURL=bookingReceiptService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bookingReceiptService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingReceiptService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IBooking, IBookingService } from '../../interfaces';
|
|
2
|
+
export declare const getBookingServiceTotalCost: (booking: IBooking, bookingService: IBookingService) => number;
|
|
3
|
+
export declare const getBookingServiceQuantity: (booking: IBooking, bookingService: IBookingService) => number;
|
|
4
|
+
export declare const processBookingServices: (bookingServices: any) => any;
|
|
@@ -0,0 +1,74 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.processBookingServices = exports.getBookingServiceQuantity = exports.getBookingServiceTotalCost = void 0;
|
|
18
|
+
var moment_1 = __importDefault(require("moment"));
|
|
19
|
+
var clone_deep_1 = __importDefault(require("clone-deep"));
|
|
20
|
+
var interfaces_1 = require("../../interfaces");
|
|
21
|
+
var bookingsService_1 = require("./bookingsService");
|
|
22
|
+
var dateService_1 = require("../dateService/dateService");
|
|
23
|
+
var getBookingServiceTotalCost = function (booking, bookingService) {
|
|
24
|
+
var _a, _b, _c, _d;
|
|
25
|
+
var amount = ((_a = bookingService === null || bookingService === void 0 ? void 0 : bookingService.service) === null || _a === void 0 ? void 0 : _a.amount) || ((_b = bookingService === null || bookingService === void 0 ? void 0 : bookingService.data) === null || _b === void 0 ? void 0 : _b.amount);
|
|
26
|
+
var pricingUnit = ((_c = bookingService === null || bookingService === void 0 ? void 0 : bookingService.service) === null || _c === void 0 ? void 0 : _c.pricingUnit) || ((_d = bookingService.data) === null || _d === void 0 ? void 0 : _d.pricingUnit);
|
|
27
|
+
var _e = (0, bookingsService_1.getTotalGuestCount)(booking), numberOfAdults = _e.numberOfAdults, numberOfChildren = _e.numberOfChildren;
|
|
28
|
+
var totalGuestsCount = numberOfAdults + numberOfChildren;
|
|
29
|
+
var personsMultiplier = pricingUnit === interfaces_1.SERVICE_PRICING_UNIT.PER_NIGHT || pricingUnit === interfaces_1.SERVICE_PRICING_UNIT.PER_STAY ? 1 : totalGuestsCount;
|
|
30
|
+
var lengthMultiplier = pricingUnit === interfaces_1.SERVICE_PRICING_UNIT.PER_STAY || pricingUnit === interfaces_1.SERVICE_PRICING_UNIT.PER_PERSON
|
|
31
|
+
? 1
|
|
32
|
+
: (0, moment_1.default)((0, dateService_1.normalizeDate)(booking === null || booking === void 0 ? void 0 : booking.checkoutDate)).diff((0, moment_1.default)((0, dateService_1.normalizeDate)(booking === null || booking === void 0 ? void 0 : booking.checkinDate)), 'days');
|
|
33
|
+
return lengthMultiplier * personsMultiplier * amount;
|
|
34
|
+
};
|
|
35
|
+
exports.getBookingServiceTotalCost = getBookingServiceTotalCost;
|
|
36
|
+
var getBookingServiceQuantity = function (booking, bookingService) {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
var pricingUnit = ((_a = bookingService === null || bookingService === void 0 ? void 0 : bookingService.service) === null || _a === void 0 ? void 0 : _a.pricingUnit) || ((_b = bookingService.data) === null || _b === void 0 ? void 0 : _b.pricingUnit);
|
|
39
|
+
if (pricingUnit === interfaces_1.SERVICE_PRICING_UNIT.PER_PERSON) {
|
|
40
|
+
return (0, bookingsService_1.getTotalGuestCount)(booking).numberOfAdults;
|
|
41
|
+
}
|
|
42
|
+
if (pricingUnit === interfaces_1.SERVICE_PRICING_UNIT.PER_PERSON_PER_NIGHT) {
|
|
43
|
+
return (0, bookingsService_1.getTotalGuestCount)(booking).numberOfAdults * (0, bookingsService_1.getLengthOfStay)(booking);
|
|
44
|
+
}
|
|
45
|
+
return 1;
|
|
46
|
+
};
|
|
47
|
+
exports.getBookingServiceQuantity = getBookingServiceQuantity;
|
|
48
|
+
var processBookingServices = function (bookingServices) {
|
|
49
|
+
return (0, clone_deep_1.default)(bookingServices || [])
|
|
50
|
+
.sort(function (bookingService1, bookingService2) {
|
|
51
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
52
|
+
if (((_b = (_a = bookingService1 === null || bookingService1 === void 0 ? void 0 : bookingService1.roomTypeService) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.name) < ((_d = (_c = bookingService2 === null || bookingService2 === void 0 ? void 0 : bookingService2.roomTypeService) === null || _c === void 0 ? void 0 : _c.roomType) === null || _d === void 0 ? void 0 : _d.name)) {
|
|
53
|
+
return -1;
|
|
54
|
+
}
|
|
55
|
+
if (((_f = (_e = bookingService2 === null || bookingService2 === void 0 ? void 0 : bookingService2.roomTypeService) === null || _e === void 0 ? void 0 : _e.roomType) === null || _f === void 0 ? void 0 : _f.name) < ((_h = (_g = bookingService1 === null || bookingService1 === void 0 ? void 0 : bookingService1.roomTypeService) === null || _g === void 0 ? void 0 : _g.roomType) === null || _h === void 0 ? void 0 : _h.name)) {
|
|
56
|
+
return 1;
|
|
57
|
+
}
|
|
58
|
+
return 0;
|
|
59
|
+
})
|
|
60
|
+
.filter(function (bookingService) {
|
|
61
|
+
var _a, _b;
|
|
62
|
+
var sections = ((_a = bookingService === null || bookingService === void 0 ? void 0 : bookingService.service) === null || _a === void 0 ? void 0 : _a.sections) || ((_b = bookingService === null || bookingService === void 0 ? void 0 : bookingService.data) === null || _b === void 0 ? void 0 : _b.sections);
|
|
63
|
+
return (sections || []).includes(interfaces_1.SERVICE_DISPLAY_SECTION.BOOKING_DETAILS);
|
|
64
|
+
})
|
|
65
|
+
.map(function (bookingService) {
|
|
66
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
67
|
+
var name = [interfaces_1.SERVICE_PRICING_UNIT.PER_PERSON, interfaces_1.SERVICE_PRICING_UNIT.PER_PERSON_PER_NIGHT].includes((_a = bookingService === null || bookingService === void 0 ? void 0 : bookingService.service) === null || _a === void 0 ? void 0 : _a.pricingUnit) || !((_c = (_b = bookingService === null || bookingService === void 0 ? void 0 : bookingService.roomTypeService) === null || _b === void 0 ? void 0 : _b.roomType) === null || _c === void 0 ? void 0 : _c.name)
|
|
68
|
+
? (_d = bookingService === null || bookingService === void 0 ? void 0 : bookingService.service) === null || _d === void 0 ? void 0 : _d.name
|
|
69
|
+
: "(".concat((_f = (_e = bookingService === null || bookingService === void 0 ? void 0 : bookingService.roomTypeService) === null || _e === void 0 ? void 0 : _e.roomType) === null || _f === void 0 ? void 0 : _f.name, ") ").concat((_g = bookingService === null || bookingService === void 0 ? void 0 : bookingService.service) === null || _g === void 0 ? void 0 : _g.name);
|
|
70
|
+
return __assign(__assign({}, bookingService), { name: name });
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
exports.processBookingServices = processBookingServices;
|
|
74
|
+
//# sourceMappingURL=bookingServicesService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bookingServicesService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingServicesService.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,10 +41,6 @@ var helpers_1 = require("../../helpers");
|
|
|
41
41
|
var dateService = __importStar(require("../dateService/dateService"));
|
|
42
42
|
var roomBookingsService = __importStar(require("../roomBookingServices"));
|
|
43
43
|
var interfaces_1 = require("../../interfaces");
|
|
44
|
-
var __1 = require("..");
|
|
45
|
-
// const getApplyDiscount = (booking: IBooking) => {
|
|
46
|
-
// return !isOtaBooking(booking) && booking?.bookingSource !== BOOKING_SOURCE.IMPORT
|
|
47
|
-
// }
|
|
48
44
|
var getDefaultRoomTypePricePlan = function (rTPricePlans) {
|
|
49
45
|
if (!Array.isArray(rTPricePlans)) {
|
|
50
46
|
return null;
|
|
@@ -62,14 +58,30 @@ var getRoomTypePricePlanByType = function (rTPricePlans, bookingSource) {
|
|
|
62
58
|
return roomTypePricePlan;
|
|
63
59
|
};
|
|
64
60
|
exports.getRoomTypePricePlanByType = getRoomTypePricePlanByType;
|
|
61
|
+
var hasRoomNightDuringDate = function (booking, date) {
|
|
62
|
+
if (!booking || !Array.isArray(booking.roomBookings)) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
return booking.roomBookings.some(function (roomBooking) {
|
|
66
|
+
return dateService
|
|
67
|
+
.normalizeDate(date)
|
|
68
|
+
.isBetween((0, moment_1.default)(dateService.normalizeDate(roomBooking.checkinDate)), (0, moment_1.default)(roomBooking.checkoutDate), 'days', '[)');
|
|
69
|
+
});
|
|
70
|
+
};
|
|
65
71
|
var getLengthOfStay = function (booking) {
|
|
66
72
|
if (!booking || !Array.isArray(booking === null || booking === void 0 ? void 0 : booking.roomBookings)) {
|
|
67
73
|
return 0;
|
|
68
74
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
75
|
+
var startDate = (0, moment_1.default)(roomBookingsService.getEarliestCheckinDate(booking.roomBookings));
|
|
76
|
+
var endDate = (0, moment_1.default)(roomBookingsService.getLatestCheckoutDate(booking.roomBookings));
|
|
77
|
+
var daysAccummulator = 0;
|
|
78
|
+
while (startDate.isBefore(endDate)) {
|
|
79
|
+
if (hasRoomNightDuringDate(booking, startDate)) {
|
|
80
|
+
daysAccummulator += 1;
|
|
81
|
+
}
|
|
82
|
+
startDate.add(1, 'days');
|
|
83
|
+
}
|
|
84
|
+
return daysAccummulator;
|
|
73
85
|
};
|
|
74
86
|
exports.getLengthOfStay = getLengthOfStay;
|
|
75
87
|
var getApplicablePricingRules = function (roomBooking, bookingSource) {
|
|
@@ -239,8 +251,8 @@ var getTotalCost = function (booking, company) {
|
|
|
239
251
|
};
|
|
240
252
|
exports.getTotalCost = getTotalCost;
|
|
241
253
|
var getOnlinePaymentCost = function (booking, company) {
|
|
242
|
-
var _a;
|
|
243
|
-
if (((_a = booking === null || booking === void 0 ? void 0 : booking.extra) === null || _a === void 0 ? void 0 : _a.paymentMethod) === interfaces_1.PAYMENT_METHOD.STRIPE_ONLINE_PAYMENT) {
|
|
254
|
+
var _a, _b;
|
|
255
|
+
if (((_b = (_a = booking === null || booking === void 0 ? void 0 : booking.extra) === null || _a === void 0 ? void 0 : _a.payment) === null || _b === void 0 ? void 0 : _b.paymentMethod) === interfaces_1.PAYMENT_METHOD.STRIPE_ONLINE_PAYMENT) {
|
|
244
256
|
var totalCost = (0, exports.getTotalCost)(booking, company);
|
|
245
257
|
return totalCost * 0.015 + 0.3;
|
|
246
258
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bookingsService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bookingsService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsService.ts"],"names":[],"mappings":"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"}
|