@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.
@@ -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
- return booking.roomBookings.reduce(function (totalLength, roomBooking) {
70
- var roomLength = __1.roomBookingServices.getLengthOfStayRoomBooking(roomBooking);
71
- return totalLength + roomLength;
72
- }, 0);
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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"}