@hyper.software/common-helpers 1.3.24 → 1.3.26
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 +10 -10
- package/lib/services/bookingService/{bookingReceiptService.d.ts → bookingInvoiceService.d.ts} +4 -4
- package/lib/services/bookingService/{bookingReceiptService.js → bookingInvoiceService.js} +129 -128
- package/lib/services/bookingService/bookingInvoiceService.js.map +1 -0
- package/lib/services/bookingService/bookingsService.js +1 -1
- package/lib/services/bookingService/bookingsService.test.js +26 -26
- package/package.json +1 -1
- package/lib/services/bookingService/bookingReceiptService.js.map +0 -1
package/lib/interfaces.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IAddress } from './services/bookingService/
|
|
1
|
+
import { IAddress } from './services/bookingService/bookingInvoiceService';
|
|
2
2
|
export interface IUser extends ITimestamps {
|
|
3
3
|
id?: string;
|
|
4
4
|
email?: string;
|
|
@@ -185,7 +185,7 @@ export interface IBooking extends ITimestamps {
|
|
|
185
185
|
extra?: IBookingExtraInformation;
|
|
186
186
|
checkinInformation?: IBookingCheckinInformation;
|
|
187
187
|
bookingServices?: IBookingService[];
|
|
188
|
-
|
|
188
|
+
invoices?: IBookingInvoices;
|
|
189
189
|
}
|
|
190
190
|
export interface IBookingNotificationStatuses {
|
|
191
191
|
sentCustomerReviewRequest?: boolean;
|
|
@@ -233,7 +233,7 @@ export interface IBookingCompanyInformation {
|
|
|
233
233
|
iban?: string;
|
|
234
234
|
swift?: string;
|
|
235
235
|
}
|
|
236
|
-
export interface
|
|
236
|
+
export interface IInvoiceCustomerInformation {
|
|
237
237
|
fullName?: string;
|
|
238
238
|
address?: {
|
|
239
239
|
zipCodeCity?: string;
|
|
@@ -243,19 +243,19 @@ export interface IReceiptCustomerInformation {
|
|
|
243
243
|
customerCompanyName?: string;
|
|
244
244
|
company?: string;
|
|
245
245
|
}
|
|
246
|
-
export interface
|
|
246
|
+
export interface IBookingInvoice {
|
|
247
247
|
currentInvoiceId?: string;
|
|
248
248
|
paymentMethod?: PAYMENT_METHOD;
|
|
249
249
|
paymentMethodText?: string;
|
|
250
250
|
lastUpdated?: string;
|
|
251
|
-
|
|
251
|
+
invoiceDate?: DateOrString;
|
|
252
252
|
dueDate?: DateOrString;
|
|
253
253
|
notes?: string;
|
|
254
254
|
company?: IBookingCompanyInformation;
|
|
255
255
|
products?: IProduct[];
|
|
256
|
-
customer?:
|
|
256
|
+
customer?: IInvoiceCustomerInformation;
|
|
257
257
|
}
|
|
258
|
-
export type
|
|
258
|
+
export type IBookingInvoices = IBookingInvoice[];
|
|
259
259
|
export interface IProduct {
|
|
260
260
|
itemName?: IRoom[];
|
|
261
261
|
services?: IBookingService[];
|
|
@@ -525,7 +525,7 @@ export interface ICompany extends ITimestamps {
|
|
|
525
525
|
bookings?: ICompanyBookingsSettings;
|
|
526
526
|
legalInformation?: ICompanyLegalInformation;
|
|
527
527
|
bankInformation?: ICompanyBankInformation;
|
|
528
|
-
|
|
528
|
+
invoices?: ICompanyInvoicesInformation;
|
|
529
529
|
trialEndDate?: DateOrString;
|
|
530
530
|
isPayingCustomer?: boolean;
|
|
531
531
|
includeFeesInFinalCostExternalBookings?: boolean;
|
|
@@ -550,12 +550,12 @@ export interface ICompanyBankInformation {
|
|
|
550
550
|
iban?: string;
|
|
551
551
|
swift?: string;
|
|
552
552
|
}
|
|
553
|
-
export interface
|
|
553
|
+
export interface ICompanyInvoicesInformation {
|
|
554
554
|
tourismTax?: number;
|
|
555
555
|
reducedSalesTax?: number;
|
|
556
556
|
salesTax?: number;
|
|
557
557
|
splitBreakfastIntoFoodAndDrinks?: boolean;
|
|
558
|
-
|
|
558
|
+
showHeaderFooterInvoices?: boolean;
|
|
559
559
|
headerSpacing?: number;
|
|
560
560
|
}
|
|
561
561
|
export interface IOWDiscountRule {
|
package/lib/services/bookingService/{bookingReceiptService.d.ts → bookingInvoiceService.d.ts}
RENAMED
|
@@ -7,7 +7,7 @@ export interface IAddress {
|
|
|
7
7
|
city?: string;
|
|
8
8
|
country?: string;
|
|
9
9
|
}
|
|
10
|
-
export declare enum
|
|
10
|
+
export declare enum INVOICE_PRODUCT {
|
|
11
11
|
DRINKS = "DRINKS",
|
|
12
12
|
BREAKFAST = "BREAKFAST",
|
|
13
13
|
ACCOMMODATION = "ACCOMMODATION",
|
|
@@ -15,7 +15,7 @@ export declare enum RECEIPT_PRODUCT {
|
|
|
15
15
|
}
|
|
16
16
|
export declare const getFullAddress: (address: IAddress | null | undefined, withCountry?: boolean) => string | null;
|
|
17
17
|
export declare const initialiseProducts: (company: ICompany, booking: IBooking, intl: any) => any[];
|
|
18
|
-
export declare const
|
|
18
|
+
export declare const initialiseInvoiceData: (company: ICompany, user: IUser, booking: IBooking, intl: any) => {
|
|
19
19
|
adminFullName: string;
|
|
20
20
|
registrationNumber: string;
|
|
21
21
|
company: {
|
|
@@ -124,7 +124,7 @@ export declare const initialiseReceiptData: (company: ICompany, user: IUser, boo
|
|
|
124
124
|
bookings?: import("../../interfaces").ICompanyBookingsSettings;
|
|
125
125
|
legalInformation?: import("../../interfaces").ICompanyLegalInformation;
|
|
126
126
|
bankInformation?: import("../../interfaces").ICompanyBankInformation;
|
|
127
|
-
|
|
127
|
+
invoices?: import("../../interfaces").ICompanyInvoicesInformation;
|
|
128
128
|
trialEndDate?: import("../../interfaces").DateOrString;
|
|
129
129
|
isPayingCustomer?: boolean;
|
|
130
130
|
includeFeesInFinalCostExternalBookings?: boolean;
|
|
@@ -165,7 +165,7 @@ export declare const initialiseReceiptData: (company: ICompany, user: IUser, boo
|
|
|
165
165
|
notesText: string;
|
|
166
166
|
currentInvoiceId: string;
|
|
167
167
|
createdAt: moment.Moment;
|
|
168
|
-
|
|
168
|
+
invoiceDate: moment.Moment;
|
|
169
169
|
dueDate: moment.Moment;
|
|
170
170
|
paymentMethod: any;
|
|
171
171
|
companyId: string;
|
|
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.calculateSalesTax = exports.
|
|
17
|
+
exports.calculateSalesTax = exports.initialiseInvoiceData = exports.initialiseProducts = exports.getFullAddress = exports.INVOICE_PRODUCT = void 0;
|
|
18
18
|
var moment_1 = __importDefault(require("moment"));
|
|
19
19
|
var clone_deep_1 = __importDefault(require("clone-deep"));
|
|
20
20
|
var interfaces_1 = require("../../interfaces");
|
|
@@ -22,13 +22,13 @@ var bookingsService_1 = require("./bookingsService");
|
|
|
22
22
|
var roomBookingServices_1 = require("../roomBookingServices");
|
|
23
23
|
var helpers_1 = require("../../helpers");
|
|
24
24
|
var bookingServicesService_1 = require("./bookingServicesService");
|
|
25
|
-
var
|
|
26
|
-
(function (
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
})(
|
|
25
|
+
var INVOICE_PRODUCT;
|
|
26
|
+
(function (INVOICE_PRODUCT) {
|
|
27
|
+
INVOICE_PRODUCT["DRINKS"] = "DRINKS";
|
|
28
|
+
INVOICE_PRODUCT["BREAKFAST"] = "BREAKFAST";
|
|
29
|
+
INVOICE_PRODUCT["ACCOMMODATION"] = "ACCOMMODATION";
|
|
30
|
+
INVOICE_PRODUCT["SERVICE"] = "SERVICE";
|
|
31
|
+
})(INVOICE_PRODUCT || (exports.INVOICE_PRODUCT = INVOICE_PRODUCT = {}));
|
|
32
32
|
var getFullAddress = function (address, withCountry) {
|
|
33
33
|
if (withCountry === void 0) { withCountry = false; }
|
|
34
34
|
if (!address) {
|
|
@@ -43,36 +43,36 @@ var getFullAddress = function (address, withCountry) {
|
|
|
43
43
|
return "".concat((address.streetName || '').trim(), " ").concat((address.streetNumber || '').trim(), ", ").concat((address.zipCode || '').trim(), " ").concat((address.city || '').trim(), ", ").concat((address.country || '').trim(), " ").trim();
|
|
44
44
|
};
|
|
45
45
|
exports.getFullAddress = getFullAddress;
|
|
46
|
-
function formatCompanyAddress(company, booking,
|
|
46
|
+
function formatCompanyAddress(company, booking, invoiceIndex) {
|
|
47
47
|
var _a, _b;
|
|
48
48
|
var companyAddress = (0, clone_deep_1.default)(company === null || company === void 0 ? void 0 : company.address) || {};
|
|
49
|
-
var
|
|
49
|
+
var invoiceCompanyAddress = (_b = (_a = booking === null || booking === void 0 ? void 0 : booking.invoices[invoiceIndex]) === null || _a === void 0 ? void 0 : _a.company) === null || _b === void 0 ? void 0 : _b.address;
|
|
50
50
|
companyAddress.streetInformation =
|
|
51
|
-
(
|
|
51
|
+
(invoiceCompanyAddress === null || invoiceCompanyAddress === void 0 ? void 0 : invoiceCompanyAddress.streetInformation) ||
|
|
52
52
|
((companyAddress === null || companyAddress === void 0 ? void 0 : companyAddress.streetName) && (companyAddress === null || companyAddress === void 0 ? void 0 : companyAddress.streetNumber)
|
|
53
53
|
? "".concat(companyAddress === null || companyAddress === void 0 ? void 0 : companyAddress.streetName.trim(), " ").concat(companyAddress === null || companyAddress === void 0 ? void 0 : companyAddress.streetNumber)
|
|
54
54
|
: undefined);
|
|
55
55
|
companyAddress.zipCodeCity =
|
|
56
|
-
(
|
|
56
|
+
(invoiceCompanyAddress === null || invoiceCompanyAddress === void 0 ? void 0 : invoiceCompanyAddress.zipCodeCity) ||
|
|
57
57
|
(companyAddress.zipCode && companyAddress.city ? "".concat(companyAddress.zipCode.trim(), ", ").concat(companyAddress.city) : undefined);
|
|
58
58
|
companyAddress.fullAddress = (0, exports.getFullAddress)(companyAddress);
|
|
59
59
|
return companyAddress;
|
|
60
60
|
}
|
|
61
|
-
function formatCustomerAddress(booking,
|
|
61
|
+
function formatCustomerAddress(booking, invoiceIndex) {
|
|
62
62
|
var _a, _b, _c;
|
|
63
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
|
|
64
|
+
var invoiceCustomerAddress = (_c = (_b = booking === null || booking === void 0 ? void 0 : booking.invoices[invoiceIndex]) === null || _b === void 0 ? void 0 : _b.customer) === null || _c === void 0 ? void 0 : _c.address;
|
|
65
65
|
customerAddress.streetInformation =
|
|
66
|
-
(
|
|
66
|
+
(invoiceCustomerAddress === null || invoiceCustomerAddress === void 0 ? void 0 : invoiceCustomerAddress.streetInformation) ||
|
|
67
67
|
((customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.streetName) && (customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.streetNumber)
|
|
68
68
|
? "".concat(customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.streetName.trim(), " ").concat(customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.streetNumber)
|
|
69
69
|
: undefined);
|
|
70
70
|
customerAddress.zipCodeCity =
|
|
71
|
-
(
|
|
71
|
+
(invoiceCustomerAddress === null || invoiceCustomerAddress === void 0 ? void 0 : invoiceCustomerAddress.zipCodeCity) ||
|
|
72
72
|
((customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.zipCode) && (customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.city)
|
|
73
73
|
? "".concat(customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.zipCode.trim(), ", ").concat(customerAddress === null || customerAddress === void 0 ? void 0 : customerAddress.city)
|
|
74
74
|
: undefined);
|
|
75
|
-
customerAddress.country = (
|
|
75
|
+
customerAddress.country = (invoiceCustomerAddress === null || invoiceCustomerAddress === void 0 ? void 0 : invoiceCustomerAddress.country) || customerAddress.country;
|
|
76
76
|
return customerAddress;
|
|
77
77
|
}
|
|
78
78
|
var initialiseProducts = function (company, booking, intl) {
|
|
@@ -81,17 +81,17 @@ var initialiseProducts = function (company, booking, intl) {
|
|
|
81
81
|
return [];
|
|
82
82
|
}
|
|
83
83
|
var bookingLengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(booking, company);
|
|
84
|
-
var reducedSalesTax = ((_a = company === null || company === void 0 ? void 0 : company.
|
|
85
|
-
var salesTax = ((_c = company === null || company === void 0 ? void 0 : company.
|
|
84
|
+
var reducedSalesTax = ((_a = company === null || company === void 0 ? void 0 : company.invoices) === null || _a === void 0 ? void 0 : _a.reducedSalesTax) / (100 + ((_b = company === null || company === void 0 ? void 0 : company.invoices) === null || _b === void 0 ? void 0 : _b.reducedSalesTax));
|
|
85
|
+
var salesTax = ((_c = company === null || company === void 0 ? void 0 : company.invoices) === null || _c === void 0 ? void 0 : _c.salesTax) / (100 + ((_d = company === null || company === void 0 ? void 0 : company.invoices) === null || _d === void 0 ? void 0 : _d.salesTax));
|
|
86
86
|
var showCostBreakdown = false;
|
|
87
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
|
|
88
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
|
89
89
|
var roomBookingAccommodationCost = (0, bookingsService_1.getAccommodationCost)(__assign(__assign({}, booking), { roomBookings: [roomBooking] }));
|
|
90
90
|
var roomBookingChildrenCost = (0, bookingsService_1.getChildrenCost)(__assign(__assign({}, booking), { roomBookings: [roomBooking] }));
|
|
91
91
|
var roomBookingChildrenTourismTaxCost = (0, bookingsService_1.getChildrenTourismTaxCost)(__assign(__assign({}, booking), { roomBookings: [roomBooking] }));
|
|
92
92
|
var roomBookingObpDiscountOrIncrease = (0, bookingsService_1.getOccupancyBasedPricingDiscount)(__assign(__assign({}, booking), { roomBookings: [roomBooking] }));
|
|
93
93
|
var lengthOfStay = (0, roomBookingServices_1.getLengthOfStayRoomBooking)(roomBooking);
|
|
94
|
-
var breakfastMultiplier = ((_a = company === null || company === void 0 ? void 0 : company.
|
|
94
|
+
var breakfastMultiplier = ((_a = company === null || company === void 0 ? void 0 : company.invoices) === null || _a === void 0 ? void 0 : _a.splitBreakfastIntoFoodAndDrinks) ? 0.7 : 1;
|
|
95
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
96
|
var breakfastRate = roomBooking.breakfastIncluded
|
|
97
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
|
|
@@ -102,9 +102,21 @@ var initialiseProducts = function (company, booking, intl) {
|
|
|
102
102
|
: '';
|
|
103
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
104
|
roomBookingAccommodationCost -= showCostBreakdown ? roomBookingObpDiscountOrIncrease : 0;
|
|
105
|
-
var
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
var accommodationExistsInAccumulator = prevVal.find(function (product) {
|
|
106
|
+
var _a, _b;
|
|
107
|
+
return product.type === INVOICE_PRODUCT.ACCOMMODATION &&
|
|
108
|
+
product.roomTypeId === ((_b = (_a = roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.id) &&
|
|
109
|
+
product.description === accommodationDescription;
|
|
110
|
+
});
|
|
111
|
+
if (accommodationExistsInAccumulator) {
|
|
112
|
+
accommodationExistsInAccumulator.quantity += lengthOfStay;
|
|
113
|
+
accommodationExistsInAccumulator.total += roomBookingAccommodationCost;
|
|
114
|
+
accommodationExistsInAccumulator.rate =
|
|
115
|
+
accommodationExistsInAccumulator.total / accommodationExistsInAccumulator.quantity;
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
prevVal.push({
|
|
119
|
+
type: INVOICE_PRODUCT.ACCOMMODATION,
|
|
108
120
|
description: accommodationDescription,
|
|
109
121
|
quantity: (0, roomBookingServices_1.getLengthOfStayRoomBooking)(roomBooking),
|
|
110
122
|
taxType: interfaces_1.SERVICE_TAX_TYPE.REDUCED_SALES_TAX,
|
|
@@ -112,43 +124,38 @@ var initialiseProducts = function (company, booking, intl) {
|
|
|
112
124
|
(0, exports.calculateSalesTax)(roomBookingAccommodationCost, reducedSalesTax, lengthOfStay),
|
|
113
125
|
tax: (0, exports.calculateSalesTax)(roomBookingAccommodationCost, reducedSalesTax),
|
|
114
126
|
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,
|
|
127
|
+
roomTypeId: (_h = (_g = roomBooking.room) === null || _g === void 0 ? void 0 : _g.roomType) === null || _h === void 0 ? void 0 : _h.id,
|
|
143
128
|
});
|
|
144
|
-
|
|
129
|
+
}
|
|
130
|
+
if (roomBooking.breakfastIncluded && breakfastCost > 0) {
|
|
131
|
+
var breakfastExistsInAccumulator = prevVal.find(function (product) { var _a, _b; return product.type === INVOICE_PRODUCT.BREAKFAST && product.roomTypeId === ((_b = (_a = roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.id); });
|
|
132
|
+
if (breakfastExistsInAccumulator) {
|
|
133
|
+
breakfastExistsInAccumulator.quantity += breakfastQuantity;
|
|
134
|
+
breakfastExistsInAccumulator.total += breakfastCost;
|
|
135
|
+
breakfastExistsInAccumulator.rate = breakfastExistsInAccumulator.total / breakfastExistsInAccumulator.quantity;
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
prevVal.push({
|
|
139
|
+
type: INVOICE_PRODUCT.BREAKFAST,
|
|
140
|
+
description: intl.formatMessage({ id: 'App.bookings.bookingDetails.bookingInvoice.breakfast.description' }, {
|
|
141
|
+
roomTypeName: (_k = (_j = roomBooking.room) === null || _j === void 0 ? void 0 : _j.roomType) === null || _k === void 0 ? void 0 : _k.name,
|
|
142
|
+
}),
|
|
143
|
+
taxType: interfaces_1.SERVICE_TAX_TYPE.SALES_TAX,
|
|
144
|
+
quantity: breakfastQuantity,
|
|
145
|
+
rate: breakfastRate - (0, exports.calculateSalesTax)(breakfastCost, salesTax, breakfastQuantity),
|
|
146
|
+
tax: (0, exports.calculateSalesTax)(breakfastCost, salesTax),
|
|
147
|
+
total: breakfastCost,
|
|
148
|
+
roomTypeId: (_m = (_l = roomBooking.room) === null || _l === void 0 ? void 0 : _l.roomType) === null || _m === void 0 ? void 0 : _m.id,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
if (((_o = company === null || company === void 0 ? void 0 : company.invoices) === null || _o === void 0 ? void 0 : _o.splitBreakfastIntoFoodAndDrinks) && breakfastRate) {
|
|
145
152
|
var drinksQuantity = (0, bookingsService_1.getLengthOfStay)(booking) * (roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.numberOfAdults);
|
|
146
|
-
var drinksRate = ((
|
|
153
|
+
var drinksRate = ((_r = (_q = (_p = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _p === void 0 ? void 0 : _p.roomType) === null || _q === void 0 ? void 0 : _q.breakfastInformation) === null || _r === void 0 ? void 0 : _r.cost) * 0.3;
|
|
147
154
|
var drinksCost = drinksRate * drinksQuantity;
|
|
148
|
-
|
|
149
|
-
type:
|
|
155
|
+
prevVal.push({
|
|
156
|
+
type: INVOICE_PRODUCT.DRINKS,
|
|
150
157
|
description: intl.formatMessage({ id: 'App.bookings.bookingDetails.bookingInvoice.breakfast.drinks.description' }, {
|
|
151
|
-
roomTypeName: (
|
|
158
|
+
roomTypeName: (_t = (_s = roomBooking.room) === null || _s === void 0 ? void 0 : _s.roomType) === null || _t === void 0 ? void 0 : _t.name,
|
|
152
159
|
}),
|
|
153
160
|
taxType: interfaces_1.SERVICE_TAX_TYPE.SALES_TAX,
|
|
154
161
|
quantity: drinksQuantity,
|
|
@@ -159,8 +166,8 @@ var initialiseProducts = function (company, booking, intl) {
|
|
|
159
166
|
}
|
|
160
167
|
}
|
|
161
168
|
if (roomBookingObpDiscountOrIncrease !== 0 && showCostBreakdown) {
|
|
162
|
-
|
|
163
|
-
type:
|
|
169
|
+
prevVal.push({
|
|
170
|
+
type: INVOICE_PRODUCT.ACCOMMODATION,
|
|
164
171
|
description: intl.formatMessage(roomBookingObpDiscountOrIncrease > 0
|
|
165
172
|
? {
|
|
166
173
|
id: 'App.bookings.booking.pricePerNight.increase',
|
|
@@ -177,58 +184,41 @@ var initialiseProducts = function (company, booking, intl) {
|
|
|
177
184
|
});
|
|
178
185
|
}
|
|
179
186
|
if ((roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.numberOfChildren) &&
|
|
180
|
-
((
|
|
187
|
+
((_w = (_v = (_u = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _u === void 0 ? void 0 : _u.roomType) === null || _v === void 0 ? void 0 : _v.childrenRates) === null || _w === void 0 ? void 0 : _w.length) > 0 &&
|
|
181
188
|
roomBookingChildrenCost > 0) {
|
|
182
|
-
|
|
183
|
-
type
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
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,
|
|
189
|
+
var childrenCostExistsInAccumulator = prevVal.find(function (product) {
|
|
190
|
+
return product.type === INVOICE_PRODUCT.ACCOMMODATION &&
|
|
191
|
+
product.description ===
|
|
192
|
+
intl.formatMessage({
|
|
193
|
+
id: 'App.bookings.bookingDetails.bookingInvoice.childrenAccommodation.description',
|
|
194
|
+
});
|
|
209
195
|
});
|
|
210
|
-
if (
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
196
|
+
if (childrenCostExistsInAccumulator) {
|
|
197
|
+
childrenCostExistsInAccumulator.quantity += (0, roomBookingServices_1.getLengthOfStayRoomBooking)(roomBooking);
|
|
198
|
+
childrenCostExistsInAccumulator.total += roomBookingChildrenCost + roomBookingChildrenTourismTaxCost;
|
|
199
|
+
childrenCostExistsInAccumulator.rate =
|
|
200
|
+
childrenCostExistsInAccumulator.total / childrenCostExistsInAccumulator.quantity;
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
prevVal.push({
|
|
204
|
+
type: INVOICE_PRODUCT.ACCOMMODATION,
|
|
205
|
+
description: intl.formatMessage({
|
|
206
|
+
id: 'App.bookings.bookingDetails.bookingInvoice.childrenAccommodation.description',
|
|
218
207
|
}),
|
|
219
|
-
taxType: interfaces_1.SERVICE_TAX_TYPE.
|
|
220
|
-
quantity:
|
|
221
|
-
rate:
|
|
222
|
-
|
|
223
|
-
|
|
208
|
+
taxType: interfaces_1.SERVICE_TAX_TYPE.REDUCED_SALES_TAX,
|
|
209
|
+
quantity: (0, roomBookingServices_1.getLengthOfStayRoomBooking)(roomBooking),
|
|
210
|
+
rate: (roomBookingChildrenCost + roomBookingChildrenTourismTaxCost) / lengthOfStay -
|
|
211
|
+
(0, exports.calculateSalesTax)(roomBookingChildrenCost + roomBookingChildrenTourismTaxCost, reducedSalesTax, lengthOfStay),
|
|
212
|
+
tax: (0, exports.calculateSalesTax)(roomBookingChildrenCost + roomBookingChildrenTourismTaxCost, reducedSalesTax),
|
|
213
|
+
total: roomBookingChildrenCost + roomBookingChildrenTourismTaxCost,
|
|
224
214
|
});
|
|
225
215
|
}
|
|
226
216
|
}
|
|
227
|
-
return prevVal
|
|
217
|
+
return prevVal;
|
|
228
218
|
}, []);
|
|
229
219
|
if (bookingLengthOfStayDiscount !== 0) {
|
|
230
220
|
products.push({
|
|
231
|
-
type:
|
|
221
|
+
type: INVOICE_PRODUCT.ACCOMMODATION,
|
|
232
222
|
description: intl.formatMessage({
|
|
233
223
|
id: 'App.bookings.lengthOfStayDiscount',
|
|
234
224
|
}),
|
|
@@ -243,7 +233,7 @@ var initialiseProducts = function (company, booking, intl) {
|
|
|
243
233
|
var onlinePaymentCost = (0, bookingsService_1.getOnlinePaymentCost)(booking, company);
|
|
244
234
|
if (onlinePaymentCost !== 0) {
|
|
245
235
|
products.push({
|
|
246
|
-
type:
|
|
236
|
+
type: INVOICE_PRODUCT.ACCOMMODATION,
|
|
247
237
|
description: intl.formatMessage({
|
|
248
238
|
id: 'App.public.bookings.finalizeBooking.onlinePaymentFee',
|
|
249
239
|
}),
|
|
@@ -255,8 +245,7 @@ var initialiseProducts = function (company, booking, intl) {
|
|
|
255
245
|
});
|
|
256
246
|
}
|
|
257
247
|
var bookingServices = ((booking === null || booking === void 0 ? void 0 : booking.bookingServices) || []).filter(function (bookingService) { return bookingService.isActive; });
|
|
258
|
-
|
|
259
|
-
var bookingService = bookingServices_1[_i];
|
|
248
|
+
var _loop_1 = function (bookingService) {
|
|
260
249
|
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
250
|
var bookingServiceTotalCost = (0, bookingServicesService_1.getBookingServiceTotalCost)(booking, bookingService);
|
|
262
251
|
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);
|
|
@@ -265,21 +254,33 @@ var initialiseProducts = function (company, booking, intl) {
|
|
|
265
254
|
: bookingServiceTaxType === interfaces_1.SERVICE_TAX_TYPE.REDUCED_SALES_TAX
|
|
266
255
|
? reducedSalesTax
|
|
267
256
|
: 0;
|
|
268
|
-
products.
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
257
|
+
var serviceExistsInAccumulator = products.find(function (product) { return product.type === INVOICE_PRODUCT.SERVICE && product.description === bookingServiceName; });
|
|
258
|
+
if (serviceExistsInAccumulator) {
|
|
259
|
+
serviceExistsInAccumulator.quantity += (0, bookingServicesService_1.getBookingServiceQuantity)(booking, bookingService);
|
|
260
|
+
serviceExistsInAccumulator.total += bookingServiceTotalCost;
|
|
261
|
+
serviceExistsInAccumulator.rate = serviceExistsInAccumulator.total / serviceExistsInAccumulator.quantity;
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
products.push({
|
|
265
|
+
type: INVOICE_PRODUCT.SERVICE,
|
|
266
|
+
description: bookingServiceName,
|
|
267
|
+
quantity: (0, bookingServicesService_1.getBookingServiceQuantity)(booking, bookingService),
|
|
268
|
+
taxType: bookingServiceTaxType,
|
|
269
|
+
rate: bookingServiceTotalCost / (0, bookingServicesService_1.getBookingServiceQuantity)(booking, bookingService) -
|
|
270
|
+
(0, exports.calculateSalesTax)(bookingServiceTotalCost, taxValue, (0, bookingServicesService_1.getBookingServiceQuantity)(booking, bookingService)),
|
|
271
|
+
tax: (0, exports.calculateSalesTax)(bookingServiceTotalCost, taxValue),
|
|
272
|
+
total: bookingServiceTotalCost,
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
for (var _i = 0, bookingServices_1 = bookingServices; _i < bookingServices_1.length; _i++) {
|
|
277
|
+
var bookingService = bookingServices_1[_i];
|
|
278
|
+
_loop_1(bookingService);
|
|
278
279
|
}
|
|
279
280
|
return products;
|
|
280
281
|
};
|
|
281
282
|
exports.initialiseProducts = initialiseProducts;
|
|
282
|
-
var
|
|
283
|
+
var initialiseInvoiceData = function (company, user, booking, intl) {
|
|
283
284
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
284
285
|
var getPaymentMethod = function (paymentMethod) {
|
|
285
286
|
var _a;
|
|
@@ -295,21 +296,21 @@ var initialiseReceiptData = function (company, user, booking, intl) {
|
|
|
295
296
|
};
|
|
296
297
|
var companyAddress = formatCompanyAddress(company, booking, 0);
|
|
297
298
|
var customerAddress = formatCustomerAddress(booking, 0);
|
|
298
|
-
var updatedCompany = __assign(__assign(__assign({}, company), (_a = booking === null || booking === void 0 ? void 0 : booking.
|
|
299
|
+
var updatedCompany = __assign(__assign(__assign({}, company), (_a = booking === null || booking === void 0 ? void 0 : booking.invoices[0]) === null || _a === void 0 ? void 0 : _a.company), { address: __assign(__assign({}, companyAddress), (_c = (_b = booking === null || booking === void 0 ? void 0 : booking.invoices[0]) === null || _b === void 0 ? void 0 : _b.company) === null || _c === void 0 ? void 0 : _c.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
300
|
? intl.formatMessage({ id: 'App.admin.bookings.invoice.companyResponsibleName.value' }, {
|
|
300
301
|
ownerName: (0, helpers_1.getFullName)(company === null || company === void 0 ? void 0 : company.mainUser),
|
|
301
302
|
})
|
|
302
303
|
: '' });
|
|
303
304
|
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
|
|
305
|
-
if ((
|
|
306
|
-
|
|
305
|
+
var updatedInvoices = booking === null || booking === void 0 ? void 0 : booking.invoices;
|
|
306
|
+
if ((updatedInvoices === null || updatedInvoices === void 0 ? void 0 : updatedInvoices.length) > 0) {
|
|
307
|
+
updatedInvoices = updatedInvoices === null || updatedInvoices === void 0 ? void 0 : updatedInvoices.map(function (invoice, index) { return (__assign(__assign({}, invoice), { company: __assign(__assign(__assign({}, company), invoice.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
308
|
? intl.formatMessage({ id: 'App.admin.bookings.invoice.companyResponsibleName.value' }, {
|
|
308
309
|
ownerName: (0, helpers_1.getFullName)(company === null || company === void 0 ? void 0 : company.mainUser),
|
|
309
310
|
})
|
|
310
311
|
: '' }), 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
|
}
|
|
312
|
-
var
|
|
313
|
+
var invoiceData = [
|
|
313
314
|
{
|
|
314
315
|
adminFullName: (0, helpers_1.getFullName)(user),
|
|
315
316
|
registrationNumber: (_d = company === null || company === void 0 ? void 0 : company.legalInformation) === null || _d === void 0 ? void 0 : _d.registrationNumber,
|
|
@@ -317,18 +318,18 @@ var initialiseReceiptData = function (company, user, booking, intl) {
|
|
|
317
318
|
customer: updatedCustomer,
|
|
318
319
|
products: (0, exports.initialiseProducts)(company, booking, intl),
|
|
319
320
|
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.
|
|
321
|
-
currentInvoiceId: ((booking === null || booking === void 0 ? void 0 : booking.
|
|
321
|
+
notesText: ((booking === null || booking === void 0 ? void 0 : booking.invoices) && ((_e = booking === null || booking === void 0 ? void 0 : booking.invoices[0]) === null || _e === void 0 ? void 0 : _e.notes)) || '',
|
|
322
|
+
currentInvoiceId: ((booking === null || booking === void 0 ? void 0 : booking.invoices) && ((_f = booking === null || booking === void 0 ? void 0 : booking.invoices[0]) === null || _f === void 0 ? void 0 : _f.currentInvoiceId)) || '',
|
|
322
323
|
createdAt: (0, moment_1.default)(),
|
|
323
|
-
|
|
324
|
+
invoiceDate: (0, moment_1.default)(booking === null || booking === void 0 ? void 0 : booking.checkinDate),
|
|
324
325
|
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.
|
|
326
|
+
paymentMethod: getPaymentMethod((booking === null || booking === void 0 ? void 0 : booking.invoices) && ((_g = booking === null || booking === void 0 ? void 0 : booking.invoices[0]) === null || _g === void 0 ? void 0 : _g.paymentMethod)),
|
|
326
327
|
companyId: company === null || company === void 0 ? void 0 : company.id,
|
|
327
328
|
},
|
|
328
329
|
];
|
|
329
|
-
return
|
|
330
|
+
return invoiceData;
|
|
330
331
|
};
|
|
331
|
-
exports.
|
|
332
|
+
exports.initialiseInvoiceData = initialiseInvoiceData;
|
|
332
333
|
var calculateSalesTax = function (value, taxRate, divisor) {
|
|
333
334
|
if (!value || !taxRate) {
|
|
334
335
|
return 0;
|
|
@@ -337,4 +338,4 @@ var calculateSalesTax = function (value, taxRate, divisor) {
|
|
|
337
338
|
return Number((baseValue * taxRate).toFixed(2)) || 0;
|
|
338
339
|
};
|
|
339
340
|
exports.calculateSalesTax = calculateSalesTax;
|
|
340
|
-
//# sourceMappingURL=
|
|
341
|
+
//# sourceMappingURL=bookingInvoiceService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bookingInvoiceService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingInvoiceService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAA2B;AAC3B,0DAAkC;AAClC,+CAAkG;AAClG,qDAQ0B;AAC1B,8DAAmE;AACnE,yCAAyD;AACzD,mEAAgG;AAUhG,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,0CAAuB,CAAA;IACvB,kDAA+B,CAAA;IAC/B,sCAAmB,CAAA;AACrB,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B;AAEM,IAAM,cAAc,GAAG,UAAC,OAAoC,EAAE,WAA4B;IAA5B,4BAAA,EAAA,mBAA4B;IAC/F,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1G,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,UAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,eAAK,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,cAAI,CACvH,OAAO,CAAC,IAAI,IAAI,EAAE,CACnB,CAAC,IAAI,EAAE,MAAG,CAAC,IAAI,EAAE,CAAA;IACpB,CAAC;IAED,OAAO,UAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,eAAK,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,cAAI,CACvH,OAAO,CAAC,IAAI,IAAI,EAAE,CACnB,CAAC,IAAI,EAAE,eAAK,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAG,CAAC,IAAI,EAAE,CAAA;AACvD,CAAC,CAAA;AAlBY,QAAA,cAAc,kBAkB1B;AAED,SAAS,oBAAoB,CAAC,OAAY,EAAE,OAAY,EAAE,YAAoB;;IAC5E,IAAM,cAAc,GAAG,IAAA,oBAAS,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,IAAI,EAAE,CAAA;IACxD,IAAM,qBAAqB,GAAG,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,YAAY,CAAC,0CAAE,OAAO,0CAAE,OAAO,CAAA;IAC/E,cAAc,CAAC,iBAAiB;QAC9B,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,iBAAiB;YACxC,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,MAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,CAAA;gBACzD,CAAC,CAAC,UAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,CAAC,IAAI,EAAE,cAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,CAAE;gBACxE,CAAC,CAAC,SAAS,CAAC,CAAA;IAEhB,cAAc,CAAC,WAAW;QACxB,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,WAAW;YAClC,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,UAAG,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,eAAK,cAAc,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAE1H,cAAc,CAAC,WAAW,GAAG,IAAA,sBAAc,EAAC,cAAc,CAAC,CAAA;IAC3D,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAY,EAAE,YAAoB;;IAC/D,IAAM,eAAe,GAAG,IAAA,oBAAS,EAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,OAAO,CAAC,IAAI,EAAE,CAAA;IACnE,IAAM,sBAAsB,GAAG,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,YAAY,CAAC,0CAAE,QAAQ,0CAAE,OAAO,CAAA;IACjF,eAAe,CAAC,iBAAiB;QAC/B,CAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,iBAAiB;YACzC,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,MAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,YAAY,CAAA;gBAC3D,CAAC,CAAC,UAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,CAAC,IAAI,EAAE,cAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,YAAY,CAAE;gBAC1E,CAAC,CAAC,SAAS,CAAC,CAAA;IAEhB,eAAe,CAAC,WAAW;QACzB,CAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,WAAW;YACnC,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,MAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,CAAA;gBAChD,CAAC,CAAC,UAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,CAAC,IAAI,EAAE,eAAK,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,CAAE;gBAChE,CAAC,CAAC,SAAS,CAAC,CAAA;IAEhB,eAAe,CAAC,OAAO,GAAG,CAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,OAAO,KAAI,eAAe,CAAC,OAAO,CAAA;IAEpF,OAAO,eAAe,CAAA;AACxB,CAAC;AAEM,IAAM,kBAAkB,GAAG,UAAC,OAAiB,EAAE,OAAiB,EAAE,IAAS;;IAChF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAM,2BAA2B,GAAG,IAAA,yCAAuB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7E,IAAM,eAAe,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,eAAe,IAAG,CAAC,GAAG,IAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,eAAe,CAAA,CAAC,CAAA;IACvG,IAAM,QAAQ,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,QAAQ,IAAG,CAAC,GAAG,IAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,QAAQ,CAAA,CAAC,CAAA;IAClF,IAAM,iBAAiB,GAAG,KAAK,CAAA;IAE/B,IAAM,QAAQ,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,KAAI,EAAE,CAAC,CAAC,MAAM,CAAC,UAAC,OAAO,EAAE,WAAW;;QACzE,IAAI,4BAA4B,GAAG,IAAA,sCAAoB,wBAAM,OAAO,KAAE,YAAY,EAAE,CAAC,WAAW,CAAC,IAAG,CAAA;QAEpG,IAAM,uBAAuB,GAAG,IAAA,iCAAe,wBAAM,OAAO,KAAE,YAAY,EAAE,CAAC,WAAW,CAAC,IAAG,CAAA;QAC5F,IAAM,iCAAiC,GAAG,IAAA,2CAAyB,wBAAM,OAAO,KAAE,YAAY,EAAE,CAAC,WAAW,CAAC,IAAG,CAAA;QAChH,IAAM,gCAAgC,GAAG,IAAA,kDAAgC,wBAAM,OAAO,KAAE,YAAY,EAAE,CAAC,WAAW,CAAC,IAAG,CAAA;QACtH,IAAM,YAAY,GAAG,IAAA,gDAA0B,EAAC,WAAW,CAAC,CAAA;QAC5D,IAAM,mBAAmB,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,+BAA+B,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACxF,IAAM,iBAAiB,GACrB,IAAA,gDAA0B,EAAC,WAAW,CAAC,GAAG,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,KAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,gBAAgB,CAAA,CAAC,CAAA;QACzG,IAAM,aAAa,GAAG,WAAW,CAAC,iBAAiB;YACjD,CAAC,CAAC,CAAC,CAAA,MAAA,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,QAAQ,0CAAE,oBAAoB,0CAAE,IAAI,KAAI,CAAC,CAAC,GAAG,mBAAmB;YACtF,CAAC,CAAC,CAAC,CAAA;QACL,IAAM,aAAa,GAAG,aAAa,GAAG,iBAAiB,CAAA;QAEvD,IAAM,SAAS,GACb,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,CAAA;YACnD,CAAC,CAAC,WAAI,IAAA,gBAAM,EAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAC,CAAC,MAAM,CAAC,sBAAY,CAAC,UAAU,CAAC,gBAAM,IAAA,gBAAM,EAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,CAAC,CAAC,MAAM,CAAC,sBAAY,CAAC,UAAU,CAAC,MAAG;YAChJ,CAAC,CAAC,EAAE,CAAA;QACR,IAAM,wBAAwB,GAAW,UAAG,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,0CAAE,IAAI,cAAI,SAAS,CAAE,CAAA;QAE3F,4BAA4B,IAAI,iBAAiB,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAA;QAExF,IAAM,gCAAgC,GAAG,OAAO,CAAC,IAAI,CACnD,UAAC,OAAO;;YACN,OAAA,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,aAAa;gBAC9C,OAAO,CAAC,UAAU,MAAK,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,0CAAE,EAAE,CAAA;gBACrD,OAAO,CAAC,WAAW,KAAK,wBAAwB,CAAA;SAAA,CACnD,CAAA;QAED,IAAI,gCAAgC,EAAE,CAAC;YACrC,gCAAgC,CAAC,QAAQ,IAAI,YAAY,CAAA;YACzD,gCAAgC,CAAC,KAAK,IAAI,4BAA4B,CAAA;YACtE,gCAAgC,CAAC,IAAI;gBACnC,gCAAgC,CAAC,KAAK,GAAG,gCAAgC,CAAC,QAAQ,CAAA;QACtF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,eAAe,CAAC,aAAa;gBACnC,WAAW,EAAE,wBAAwB;gBACrC,QAAQ,EAAE,IAAA,gDAA0B,EAAC,WAAW,CAAC;gBACjD,OAAO,EAAE,6BAAgB,CAAC,iBAAiB;gBAC3C,IAAI,EACF,4BAA4B,GAAG,YAAY;oBAC3C,IAAA,yBAAiB,EAAC,4BAA4B,EAAE,eAAe,EAAE,YAAY,CAAC;gBAChF,GAAG,EAAE,IAAA,yBAAiB,EAAC,4BAA4B,EAAE,eAAe,CAAC;gBACrE,KAAK,EAAE,4BAA4B;gBACnC,UAAU,EAAE,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,0CAAE,EAAE;aAC3C,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,WAAW,CAAC,iBAAiB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACvD,IAAM,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAC/C,UAAC,OAAO,gBAAK,OAAA,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,SAAS,IAAI,OAAO,CAAC,UAAU,MAAK,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,0CAAE,EAAE,CAAA,CAAA,EAAA,CACjH,CAAA;YAED,IAAI,4BAA4B,EAAE,CAAC;gBACjC,4BAA4B,CAAC,QAAQ,IAAI,iBAAiB,CAAA;gBAC1D,4BAA4B,CAAC,KAAK,IAAI,aAAa,CAAA;gBACnD,4BAA4B,CAAC,IAAI,GAAG,4BAA4B,CAAC,KAAK,GAAG,4BAA4B,CAAC,QAAQ,CAAA;YAChH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,eAAe,CAAC,SAAS;oBAC/B,WAAW,EAAE,IAAI,CAAC,aAAa,CAC7B,EAAE,EAAE,EAAE,kEAAkE,EAAE,EAC1E;wBACE,YAAY,EAAE,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,0CAAE,IAAI;qBAC/C,CACF;oBACD,OAAO,EAAE,6BAAgB,CAAC,SAAS;oBACnC,QAAQ,EAAE,iBAAiB;oBAC3B,IAAI,EAAE,aAAa,GAAG,IAAA,yBAAiB,EAAC,aAAa,EAAE,QAAQ,EAAE,iBAAiB,CAAC;oBACnF,GAAG,EAAE,IAAA,yBAAiB,EAAC,aAAa,EAAE,QAAQ,CAAC;oBAC/C,KAAK,EAAE,aAAa;oBACpB,UAAU,EAAE,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,0CAAE,EAAE;iBAC3C,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,+BAA+B,KAAI,aAAa,EAAE,CAAC;gBACxE,IAAM,cAAc,GAAG,IAAA,iCAAe,EAAC,OAAO,CAAC,IAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,CAAA,CAAA;gBAC7E,IAAM,UAAU,GAAG,CAAA,MAAA,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,QAAQ,0CAAE,oBAAoB,0CAAE,IAAI,IAAG,GAAG,CAAA;gBAChF,IAAM,UAAU,GAAG,UAAU,GAAG,cAAc,CAAA;gBAE9C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,eAAe,CAAC,MAAM;oBAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAC7B,EAAE,EAAE,EAAE,yEAAyE,EAAE,EACjF;wBACE,YAAY,EAAE,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,0CAAE,IAAI;qBAC/C,CACF;oBACD,OAAO,EAAE,6BAAgB,CAAC,SAAS;oBACnC,QAAQ,EAAE,cAAc;oBACxB,IAAI,EAAE,UAAU,GAAG,IAAA,yBAAiB,EAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC;oBAC1E,GAAG,EAAE,IAAA,yBAAiB,EAAC,UAAU,EAAE,QAAQ,CAAC;oBAC5C,KAAK,EAAE,UAAU;iBAClB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,IAAI,gCAAgC,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,eAAe,CAAC,aAAa;gBACnC,WAAW,EAAE,IAAI,CAAC,aAAa,CAC7B,gCAAgC,GAAG,CAAC;oBAClC,CAAC,CAAC;wBACE,EAAE,EAAE,6CAA6C;qBAClD;oBACH,CAAC,CAAC;wBACE,EAAE,EAAE,6CAA6C;qBAClD,CACN;gBACD,QAAQ,EAAE,IAAA,gDAA0B,EAAC,WAAW,CAAC;gBACjD,OAAO,EAAE,6BAAgB,CAAC,iBAAiB;gBAC3C,IAAI,EACF,gCAAgC,GAAG,YAAY;oBAC/C,IAAA,yBAAiB,EAAC,gCAAgC,EAAE,eAAe,EAAE,YAAY,CAAC;gBACpF,GAAG,EAAE,IAAA,yBAAiB,EAAC,gCAAgC,EAAE,eAAe,CAAC;gBACzE,KAAK,EAAE,gCAAgC;aACxC,CAAC,CAAA;QACJ,CAAC;QAED,IACE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,gBAAgB;YAC7B,CAAA,MAAA,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,QAAQ,0CAAE,aAAa,0CAAE,MAAM,IAAG,CAAC;YACtD,uBAAuB,GAAG,CAAC,EAC3B,CAAC;YACD,IAAM,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAClD,UAAC,OAAO;gBACN,OAAA,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,aAAa;oBAC9C,OAAO,CAAC,WAAW;wBACjB,IAAI,CAAC,aAAa,CAAC;4BACjB,EAAE,EAAE,8EAA8E;yBACnF,CAAC;YAJJ,CAII,CACP,CAAA;YAED,IAAI,+BAA+B,EAAE,CAAC;gBACpC,+BAA+B,CAAC,QAAQ,IAAI,IAAA,gDAA0B,EAAC,WAAW,CAAC,CAAA;gBACnF,+BAA+B,CAAC,KAAK,IAAI,uBAAuB,GAAG,iCAAiC,CAAA;gBACpG,+BAA+B,CAAC,IAAI;oBAClC,+BAA+B,CAAC,KAAK,GAAG,+BAA+B,CAAC,QAAQ,CAAA;YACpF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,eAAe,CAAC,aAAa;oBACnC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;wBAC9B,EAAE,EAAE,8EAA8E;qBACnF,CAAC;oBACF,OAAO,EAAE,6BAAgB,CAAC,iBAAiB;oBAC3C,QAAQ,EAAE,IAAA,gDAA0B,EAAC,WAAW,CAAC;oBACjD,IAAI,EACF,CAAC,uBAAuB,GAAG,iCAAiC,CAAC,GAAG,YAAY;wBAC5E,IAAA,yBAAiB,EAAC,uBAAuB,GAAG,iCAAiC,EAAE,eAAe,EAAE,YAAY,CAAC;oBAC/G,GAAG,EAAE,IAAA,yBAAiB,EAAC,uBAAuB,GAAG,iCAAiC,EAAE,eAAe,CAAC;oBACpG,KAAK,EAAE,uBAAuB,GAAG,iCAAiC;iBACnE,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,2BAA2B,KAAK,CAAC,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,eAAe,CAAC,aAAa;YACnC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;gBAC9B,EAAE,EAAE,mCAAmC;aACxC,CAAC;YACF,OAAO,EAAE,6BAAgB,CAAC,iBAAiB;YAC3C,QAAQ,EAAE,IAAA,iCAAe,EAAC,OAAO,CAAC;YAClC,IAAI,EACF,2BAA2B,GAAG,IAAA,iCAAe,EAAC,OAAO,CAAC;gBACtD,IAAA,yBAAiB,EAAC,2BAA2B,EAAE,eAAe,EAAE,IAAA,iCAAe,EAAC,OAAO,CAAC,CAAC;YAC3F,GAAG,EAAE,IAAA,yBAAiB,EAAC,2BAA2B,EAAE,eAAe,CAAC;YACpE,KAAK,EAAE,2BAA2B;SACnC,CAAC,CAAA;IACJ,CAAC;IAED,IAAM,iBAAiB,GAAW,IAAA,sCAAoB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACxE,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,eAAe,CAAC,aAAa;YACnC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;gBAC9B,EAAE,EAAE,sDAAsD;aAC3D,CAAC;YACF,OAAO,EAAE,6BAAgB,CAAC,MAAM;YAChC,QAAQ,EAAE,CAAC;YACX,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,iBAAiB;SACzB,CAAC,CAAA;IACJ,CAAC;IAED,IAAM,eAAe,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,KAAI,EAAE,CAAC,CAAC,MAAM,CAAC,UAAC,cAAc,IAAK,OAAA,cAAc,CAAC,QAAQ,EAAvB,CAAuB,CAAC,CAAA;4BAEjG,cAAc;QACvB,IAAM,kBAAkB,GAAG,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,0CAAE,IAAI,MAAI,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,IAAI,CAAA,CAAA;QACtF,IAAM,uBAAuB,GAAG,IAAA,mDAA0B,EAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QACnF,IAAM,qBAAqB,GAAG,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,0CAAE,OAAO,MAAI,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,OAAO,CAAA,CAAA;QAC/F,IAAM,QAAQ,GACZ,qBAAqB,KAAK,6BAAgB,CAAC,SAAS;YAClD,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,qBAAqB,KAAK,6BAAgB,CAAC,iBAAiB;gBAC5D,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,CAAC,CAAA;QAET,IAAM,0BAA0B,GAAG,QAAQ,CAAC,IAAI,CAC9C,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,KAAK,kBAAkB,EAAtF,CAAsF,CACpG,CAAA;QAED,IAAI,0BAA0B,EAAE,CAAC;YAC/B,0BAA0B,CAAC,QAAQ,IAAI,IAAA,kDAAyB,EAAC,OAAO,EAAE,cAAc,CAAC,CAAA;YACzF,0BAA0B,CAAC,KAAK,IAAI,uBAAuB,CAAA;YAC3D,0BAA0B,CAAC,IAAI,GAAG,0BAA0B,CAAC,KAAK,GAAG,0BAA0B,CAAC,QAAQ,CAAA;QAC1G,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,eAAe,CAAC,OAAO;gBAC7B,WAAW,EAAE,kBAAkB;gBAC/B,QAAQ,EAAE,IAAA,kDAAyB,EAAC,OAAO,EAAE,cAAc,CAAC;gBAC5D,OAAO,EAAE,qBAAqB;gBAC9B,IAAI,EACF,uBAAuB,GAAG,IAAA,kDAAyB,EAAC,OAAO,EAAE,cAAc,CAAC;oBAC5E,IAAA,yBAAiB,EAAC,uBAAuB,EAAE,QAAQ,EAAE,IAAA,kDAAyB,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBAC1G,GAAG,EAAE,IAAA,yBAAiB,EAAC,uBAAuB,EAAE,QAAQ,CAAC;gBACzD,KAAK,EAAE,uBAAuB;aAC/B,CAAC,CAAA;QACJ,CAAC;;IA/BH,KAA6B,UAAe,EAAf,mCAAe,EAAf,6BAAe,EAAf,IAAe;QAAvC,IAAM,cAAc,wBAAA;gBAAd,cAAc;KAgCxB;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AA9OY,QAAA,kBAAkB,sBA8O9B;AAEM,IAAM,qBAAqB,GAAG,UAAC,OAAiB,EAAE,IAAW,EAAE,OAAiB,EAAE,IAAS;;IAChG,IAAM,gBAAgB,GAAG,UAAC,aAAa;;QACrC,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,+BAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/C,OAAO,CACL,MAAA,IAAI,CAAC,aAAa,CAAC;gBACjB,EAAE,EAAE,mDAA4C,aAAa,CAAE;aAChE,CAAC,mCAAI,KAAK,CACZ,CAAA;QACH,CAAC;QAED,OAAO,aAAa,CAAA;IACtB,CAAC,CAAA;IAED,IAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IAChE,IAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAEzD,IAAM,cAAc,kCACf,OAAO,GACP,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,OAAO,KAChC,OAAO,wBACF,cAAc,GACd,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,OAAO,0CAAE,OAAO,GAE3C,WAAW,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,CAAC,CAAC,CAAA,EAC9D,SAAS,EAAE,IAAA,qBAAW,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,aAAa,CAChB,EAAE,EAAE,EAAE,yDAAyD,EAAE,EACjE;gBACE,SAAS,EAAE,IAAA,qBAAW,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;aAC1C,CACF;YACH,CAAC,CAAC,EAAE,GACP,CAAA;IAED,IAAM,eAAe,yBAChB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KACpB,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,IAAA,qBAAW,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,GACzC,CAAA;IAED,IAAI,eAAe,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAA;IAEvC,IAAI,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,IAAG,CAAC,EAAE,CAAC;QAChC,eAAe,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,CAAC,UAAC,OAAO,EAAE,KAAK,IAAK,OAAA,uBACtD,OAAO,KACV,OAAO,iCACF,OAAO,GACP,OAAO,CAAC,OAAO,KAClB,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EACtD,WAAW,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,CAAC,CAAC,CAAA,EAC9D,SAAS,EAAE,IAAA,qBAAW,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;oBACvC,CAAC,CAAC,IAAI,CAAC,aAAa,CAChB,EAAE,EAAE,EAAE,yDAAyD,EAAE,EACjE;wBACE,SAAS,EAAE,IAAA,qBAAW,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;qBAC1C,CACF;oBACH,CAAC,CAAC,EAAE,KAER,QAAQ,wBACH,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KACpB,OAAO,EAAE,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,EAC9C,QAAQ,EAAE,IAAA,qBAAW,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,KAE1C,QAAQ,EAAE,IAAA,0BAAkB,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IACpD,EAtByD,CAsBzD,CAAC,CAAA;IACL,CAAC;IAED,IAAM,WAAW,GAAG;QAClB;YACE,aAAa,EAAE,IAAA,qBAAW,EAAC,IAAI,CAAC;YAChC,kBAAkB,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,0CAAE,kBAAkB;YACjE,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,eAAe;YACzB,QAAQ,EAAE,IAAA,0BAAkB,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;YACpD,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC,EAAE,EAAE,EAAE,kDAAkD,EAAE,CAAC;YAC3F,SAAS,EAAE,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAA,CAAC,IAAI,EAAE;YACnE,gBAAgB,EAAE,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,gBAAgB,CAAA,CAAC,IAAI,EAAE;YACrF,SAAS,EAAE,IAAA,gBAAM,GAAE;YACnB,WAAW,EAAE,IAAA,gBAAM,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAC;YACzC,OAAO,EAAE,IAAA,gBAAM,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;YACrD,aAAa,EAAE,gBAAgB,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,aAAa,CAAA,CAAC;YACzF,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE;SACvB;KACF,CAAA;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AA3FY,QAAA,qBAAqB,yBA2FjC;AAEM,IAAM,iBAAiB,GAAG,UAAC,KAAa,EAAE,OAAe,EAAE,OAAgB;IAChF,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;IAEnD,OAAO,MAAM,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC,CAAA;AARY,QAAA,iBAAiB,qBAQ7B"}
|
|
@@ -107,7 +107,7 @@ var getServicesCost = function (booking, company) {
|
|
|
107
107
|
}
|
|
108
108
|
var servicesCost = 0;
|
|
109
109
|
var numberOfNights = (0, exports.getLengthOfStay)(booking);
|
|
110
|
-
var tourismTaxRate = ((_a = company === null || company === void 0 ? void 0 : company.
|
|
110
|
+
var tourismTaxRate = ((_a = company === null || company === void 0 ? void 0 : company.invoices) === null || _a === void 0 ? void 0 : _a.tourismTax) || 0;
|
|
111
111
|
var _c = (0, exports.getTotalGuestCount)(booking), numberOfAdults = _c.numberOfAdults, numberOfChildren = _c.numberOfChildren;
|
|
112
112
|
var numberOfPersons = numberOfAdults + numberOfChildren || 1;
|
|
113
113
|
var totalCostTourismTax = numberOfPersons * numberOfNights * tourismTaxRate;
|
|
@@ -21,7 +21,7 @@ var booking1 = {
|
|
|
21
21
|
createdAt: '2024-10-08T11:12:06.082Z',
|
|
22
22
|
updatedAt: '2024-10-08T11:12:06.571Z',
|
|
23
23
|
deletedAt: null,
|
|
24
|
-
|
|
24
|
+
invoices: [
|
|
25
25
|
{
|
|
26
26
|
currentInvoiceId: '00342',
|
|
27
27
|
},
|
|
@@ -3308,10 +3308,10 @@ var booking1 = {
|
|
|
3308
3308
|
swift: 'SOLARIS',
|
|
3309
3309
|
bankName: 'Transilvania',
|
|
3310
3310
|
},
|
|
3311
|
-
|
|
3311
|
+
invoices: {
|
|
3312
3312
|
salesTax: 19,
|
|
3313
3313
|
reducedSalesTax: 7,
|
|
3314
|
-
|
|
3314
|
+
showHeaderFooterInvoices: true,
|
|
3315
3315
|
},
|
|
3316
3316
|
npsScore: null,
|
|
3317
3317
|
trialEndDate: null,
|
|
@@ -3469,7 +3469,7 @@ var booking2 = {
|
|
|
3469
3469
|
createdAt: '2024-10-08T11:13:08.510Z',
|
|
3470
3470
|
updatedAt: '2024-10-08T11:13:09.031Z',
|
|
3471
3471
|
deletedAt: null,
|
|
3472
|
-
|
|
3472
|
+
invoices: [
|
|
3473
3473
|
{
|
|
3474
3474
|
currentInvoiceId: '00343',
|
|
3475
3475
|
},
|
|
@@ -4402,10 +4402,10 @@ var booking2 = {
|
|
|
4402
4402
|
swift: 'SOLARIS',
|
|
4403
4403
|
bankName: 'Transilvania',
|
|
4404
4404
|
},
|
|
4405
|
-
|
|
4405
|
+
invoices: {
|
|
4406
4406
|
salesTax: 19,
|
|
4407
4407
|
reducedSalesTax: 7,
|
|
4408
|
-
|
|
4408
|
+
showHeaderFooterInvoices: true,
|
|
4409
4409
|
},
|
|
4410
4410
|
npsScore: null,
|
|
4411
4411
|
trialEndDate: null,
|
|
@@ -4563,7 +4563,7 @@ var booking3 = {
|
|
|
4563
4563
|
createdAt: '2024-10-08T11:14:07.012Z',
|
|
4564
4564
|
updatedAt: '2024-10-08T11:14:07.537Z',
|
|
4565
4565
|
deletedAt: null,
|
|
4566
|
-
|
|
4566
|
+
invoices: [
|
|
4567
4567
|
{
|
|
4568
4568
|
currentInvoiceId: '00344',
|
|
4569
4569
|
},
|
|
@@ -4798,10 +4798,10 @@ var booking3 = {
|
|
|
4798
4798
|
swift: 'SOLARIS',
|
|
4799
4799
|
bankName: 'Transilvania',
|
|
4800
4800
|
},
|
|
4801
|
-
|
|
4801
|
+
invoices: {
|
|
4802
4802
|
salesTax: 19,
|
|
4803
4803
|
reducedSalesTax: 7,
|
|
4804
|
-
|
|
4804
|
+
showHeaderFooterInvoices: true,
|
|
4805
4805
|
},
|
|
4806
4806
|
npsScore: null,
|
|
4807
4807
|
trialEndDate: null,
|
|
@@ -4959,7 +4959,7 @@ var booking4 = {
|
|
|
4959
4959
|
createdAt: '2024-10-08T11:15:42.860Z',
|
|
4960
4960
|
updatedAt: '2024-10-08T11:15:43.416Z',
|
|
4961
4961
|
deletedAt: null,
|
|
4962
|
-
|
|
4962
|
+
invoices: [
|
|
4963
4963
|
{
|
|
4964
4964
|
currentInvoiceId: '00345',
|
|
4965
4965
|
},
|
|
@@ -5908,10 +5908,10 @@ var booking4 = {
|
|
|
5908
5908
|
swift: 'SOLARIS',
|
|
5909
5909
|
bankName: 'Transilvania',
|
|
5910
5910
|
},
|
|
5911
|
-
|
|
5911
|
+
invoices: {
|
|
5912
5912
|
salesTax: 19,
|
|
5913
5913
|
reducedSalesTax: 7,
|
|
5914
|
-
|
|
5914
|
+
showHeaderFooterInvoices: true,
|
|
5915
5915
|
},
|
|
5916
5916
|
npsScore: null,
|
|
5917
5917
|
trialEndDate: null,
|
|
@@ -6069,7 +6069,7 @@ var booking5 = {
|
|
|
6069
6069
|
createdAt: '2024-10-08T11:18:25.889Z',
|
|
6070
6070
|
updatedAt: '2024-10-08T11:18:26.408Z',
|
|
6071
6071
|
deletedAt: null,
|
|
6072
|
-
|
|
6072
|
+
invoices: [
|
|
6073
6073
|
{
|
|
6074
6074
|
currentInvoiceId: '00346',
|
|
6075
6075
|
},
|
|
@@ -7018,10 +7018,10 @@ var booking5 = {
|
|
|
7018
7018
|
swift: 'SOLARIS',
|
|
7019
7019
|
bankName: 'Transilvania',
|
|
7020
7020
|
},
|
|
7021
|
-
|
|
7021
|
+
invoices: {
|
|
7022
7022
|
salesTax: 19,
|
|
7023
7023
|
reducedSalesTax: 7,
|
|
7024
|
-
|
|
7024
|
+
showHeaderFooterInvoices: true,
|
|
7025
7025
|
},
|
|
7026
7026
|
npsScore: null,
|
|
7027
7027
|
trialEndDate: null,
|
|
@@ -7179,7 +7179,7 @@ var booking6 = {
|
|
|
7179
7179
|
createdAt: '2024-10-08T11:19:56.934Z',
|
|
7180
7180
|
updatedAt: '2024-10-08T11:19:57.294Z',
|
|
7181
7181
|
deletedAt: null,
|
|
7182
|
-
|
|
7182
|
+
invoices: [
|
|
7183
7183
|
{
|
|
7184
7184
|
currentInvoiceId: '00346',
|
|
7185
7185
|
},
|
|
@@ -8112,10 +8112,10 @@ var booking6 = {
|
|
|
8112
8112
|
swift: 'SOLARIS',
|
|
8113
8113
|
bankName: 'Transilvania',
|
|
8114
8114
|
},
|
|
8115
|
-
|
|
8115
|
+
invoices: {
|
|
8116
8116
|
salesTax: 19,
|
|
8117
8117
|
reducedSalesTax: 7,
|
|
8118
|
-
|
|
8118
|
+
showHeaderFooterInvoices: true,
|
|
8119
8119
|
},
|
|
8120
8120
|
npsScore: null,
|
|
8121
8121
|
trialEndDate: null,
|
|
@@ -8273,7 +8273,7 @@ var booking7 = {
|
|
|
8273
8273
|
createdAt: '2024-10-08T11:23:37.431Z',
|
|
8274
8274
|
updatedAt: '2024-10-08T11:23:37.890Z',
|
|
8275
8275
|
deletedAt: null,
|
|
8276
|
-
|
|
8276
|
+
invoices: [
|
|
8277
8277
|
{
|
|
8278
8278
|
currentInvoiceId: '00347',
|
|
8279
8279
|
},
|
|
@@ -9173,10 +9173,10 @@ var booking7 = {
|
|
|
9173
9173
|
swift: 'SOLARIS',
|
|
9174
9174
|
bankName: 'Transilvania',
|
|
9175
9175
|
},
|
|
9176
|
-
|
|
9176
|
+
invoices: {
|
|
9177
9177
|
salesTax: 19,
|
|
9178
9178
|
reducedSalesTax: 7,
|
|
9179
|
-
|
|
9179
|
+
showHeaderFooterInvoices: true,
|
|
9180
9180
|
},
|
|
9181
9181
|
npsScore: null,
|
|
9182
9182
|
trialEndDate: null,
|
|
@@ -9334,7 +9334,7 @@ var booking8 = {
|
|
|
9334
9334
|
createdAt: '2024-10-08T11:27:18.117Z',
|
|
9335
9335
|
updatedAt: '2024-10-08T11:27:18.722Z',
|
|
9336
9336
|
deletedAt: null,
|
|
9337
|
-
|
|
9337
|
+
invoices: [
|
|
9338
9338
|
{
|
|
9339
9339
|
currentInvoiceId: '00348',
|
|
9340
9340
|
},
|
|
@@ -12639,10 +12639,10 @@ var booking8 = {
|
|
|
12639
12639
|
swift: 'SOLARIS',
|
|
12640
12640
|
bankName: 'Transilvania',
|
|
12641
12641
|
},
|
|
12642
|
-
|
|
12642
|
+
invoices: {
|
|
12643
12643
|
salesTax: 19,
|
|
12644
12644
|
reducedSalesTax: 7,
|
|
12645
|
-
|
|
12645
|
+
showHeaderFooterInvoices: true,
|
|
12646
12646
|
},
|
|
12647
12647
|
npsScore: null,
|
|
12648
12648
|
trialEndDate: null,
|
|
@@ -13660,10 +13660,10 @@ var company = {
|
|
|
13660
13660
|
swift: 'SOLARIS',
|
|
13661
13661
|
bankName: 'Transilvania',
|
|
13662
13662
|
},
|
|
13663
|
-
|
|
13663
|
+
invoices: {
|
|
13664
13664
|
salesTax: 19,
|
|
13665
13665
|
reducedSalesTax: 7,
|
|
13666
|
-
|
|
13666
|
+
showHeaderFooterInvoices: true,
|
|
13667
13667
|
},
|
|
13668
13668
|
lastExternalBookingsSync: null,
|
|
13669
13669
|
npsScore: null,
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bookingReceiptService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingReceiptService.ts"],"names":[],"mappings":"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"}
|