@munchi_oy/cart-engine 0.1.2 → 0.1.5
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/dist/index.cjs +607 -72
- package/dist/index.d.cts +85 -5
- package/dist/index.d.ts +85 -5
- package/dist/index.js +612 -73
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CurrencyCode, PosBusinessDto, OrderTypePOS, ProviderEnum, CheckoutModelEnum,
|
|
1
|
+
import { CurrencyCode, PosBusinessDto, OrderTypePOS, ProviderEnum, CheckoutModelEnum, PosOrderTableServiceDto, PosOrderEqualSplitStateDto, PosDiscountDto, PosOrderItemDto, LocatorType, OrderFormat, OrderRefundStatus, OrderStatusEnum, PosOrderDto, PosCustomerDto, PaymentRefundDto, InvoiceCompanyResponseDto, PosOrderPriceDto, KitchenStatus, PosPaymentStatus, PosOrderItemSplitSeatDto, PosOrderItemSplitSeatAssignmentDto, PosOrderEqualSplitPartDto, TransactionDto, DiscountType, MoneyDto, ItemPriceDto, PosOrderDtoTaxSummary } from '@munchi_oy/core';
|
|
2
2
|
|
|
3
3
|
declare enum ApplyTo {
|
|
4
4
|
Order = "order",
|
|
@@ -16,10 +16,12 @@ interface CartCreateOptions {
|
|
|
16
16
|
currency: CurrencyCode;
|
|
17
17
|
business: PosBusinessDto;
|
|
18
18
|
orderNumber: string;
|
|
19
|
+
aggregateMatchingItemsOnAdd?: boolean;
|
|
19
20
|
orderType?: OrderTypePOS;
|
|
20
21
|
provider?: ProviderEnum;
|
|
21
22
|
checkoutModel?: CheckoutModelEnum;
|
|
22
|
-
tableService?:
|
|
23
|
+
tableService?: PosOrderTableServiceDto | null;
|
|
24
|
+
equalSplitState?: PosOrderEqualSplitStateDto | null;
|
|
23
25
|
createdAt?: Date;
|
|
24
26
|
staffId?: string | null;
|
|
25
27
|
shiftId?: string | null;
|
|
@@ -53,11 +55,13 @@ declare class Cart {
|
|
|
53
55
|
private _customer;
|
|
54
56
|
private _refunds;
|
|
55
57
|
private _tableService;
|
|
58
|
+
private _equalSplitState;
|
|
56
59
|
private _taxSummary;
|
|
57
60
|
private _newlyCancelledItemIds;
|
|
58
61
|
private _invoiceCompany;
|
|
59
62
|
private _staffId;
|
|
60
63
|
private _shiftId;
|
|
64
|
+
private _aggregateMatchingItemsOnAdd;
|
|
61
65
|
private version;
|
|
62
66
|
private constructor();
|
|
63
67
|
static create(options: CartCreateOptions): Cart;
|
|
@@ -72,10 +76,14 @@ declare class Cart {
|
|
|
72
76
|
get loyaltyProgramId(): string | null;
|
|
73
77
|
get loyaltyTransactionIds(): readonly string[];
|
|
74
78
|
get invoiceCompany(): InvoiceCompanyResponseDto | null;
|
|
79
|
+
get aggregateMatchingItemsOnAdd(): boolean;
|
|
75
80
|
get guestCount(): number | null;
|
|
76
|
-
get tableService():
|
|
81
|
+
get tableService(): PosOrderTableServiceDto | null;
|
|
82
|
+
get equalSplitState(): PosOrderEqualSplitStateDto | null;
|
|
83
|
+
get equalSplitPartCount(): number | null;
|
|
77
84
|
get price(): PosOrderPriceDto;
|
|
78
85
|
setInvoiceCompany(company: InvoiceCompanyResponseDto | null): void;
|
|
86
|
+
setAggregateMatchingItemsOnAdd(enabled: boolean): void;
|
|
79
87
|
addItem(itemData: CartItemAddData, requiresPrep?: boolean): void;
|
|
80
88
|
updateItem(lineItemId: string, updatedItem: PosOrderItemDto): void;
|
|
81
89
|
removeItem(lineItemId: string): void;
|
|
@@ -84,6 +92,9 @@ declare class Cart {
|
|
|
84
92
|
clearCancellationTracking(): void;
|
|
85
93
|
applyDiscountToCart(discountData: Omit<PosDiscountDto, "scope" | "lineItemId" | "createdAt">): void;
|
|
86
94
|
applyDiscountToItem(lineItemId: string, discountData: Omit<PosDiscountDto, "scope" | "lineItemId" | "createdAt">): void;
|
|
95
|
+
applyDiscountToItemSplitSeat(seatId: string, discountData: Omit<PosDiscountDto, "scope" | "lineItemId" | "createdAt">): void;
|
|
96
|
+
applyDiscountToItemSplitAssignment(assignmentId: string, discountData: Omit<PosDiscountDto, "scope" | "lineItemId" | "createdAt">): void;
|
|
97
|
+
applyDiscountToEqualSplitPart(partId: string, discountData: Omit<PosDiscountDto, "scope" | "lineItemId" | "createdAt">): void;
|
|
87
98
|
removeItemDiscount(lineItemId: string): void;
|
|
88
99
|
removeDiscount(discountId: string): void;
|
|
89
100
|
setCustomer(customer: PosCustomerDto | null): void;
|
|
@@ -98,6 +109,47 @@ declare class Cart {
|
|
|
98
109
|
setCheckoutType(checkoutModel: CheckoutModelEnum): void;
|
|
99
110
|
setGuestCount(guestCount: number | null): void;
|
|
100
111
|
setSeatNumber(guestCount: number | null): void;
|
|
112
|
+
getTableService(): PosOrderTableServiceDto | null;
|
|
113
|
+
setTableService(tableService: PosOrderTableServiceDto | null): this;
|
|
114
|
+
clearTableService(): this;
|
|
115
|
+
getTableName(): string | null;
|
|
116
|
+
setTableName(name: string | null): this;
|
|
117
|
+
getSeatsCount(): number | null;
|
|
118
|
+
setSeatsCount(seats: number): this;
|
|
119
|
+
getItemSplitSeats(): PosOrderItemSplitSeatDto[];
|
|
120
|
+
setItemSplitSeats(seats: PosOrderItemSplitSeatDto[]): this;
|
|
121
|
+
clearItemSplitSeats(): this;
|
|
122
|
+
addItemSplitSeat(seat: PosOrderItemSplitSeatDto): this;
|
|
123
|
+
updateItemSplitSeat(seatId: string, updater: (seat: PosOrderItemSplitSeatDto) => PosOrderItemSplitSeatDto): this;
|
|
124
|
+
removeItemSplitSeat(seatId: string): this;
|
|
125
|
+
getItemSplitSeatById(seatId: string): PosOrderItemSplitSeatDto | null;
|
|
126
|
+
setItemSplitSeatAssignments(seatId: string, assignments: PosOrderItemSplitSeatAssignmentDto[]): this;
|
|
127
|
+
addItemSplitSeatAssignment(seatId: string, assignment: PosOrderItemSplitSeatAssignmentDto): this;
|
|
128
|
+
removeItemSplitSeatAssignmentsByLineItem(seatId: string, lineItemId: string): this;
|
|
129
|
+
clearItemSplitSeatAssignments(seatId: string): this;
|
|
130
|
+
setItemSplitSeatLoyalty(seatId: string, loyaltyId: string | null, loyaltyUserName: string | null): this;
|
|
131
|
+
clearItemSplitSeatLoyalty(seatId: string): this;
|
|
132
|
+
setItemSplitSeatAppliedDiscountIds(seatId: string, appliedDiscountIds: string[]): this;
|
|
133
|
+
addItemSplitSeatAppliedDiscountId(seatId: string, discountId: string): this;
|
|
134
|
+
removeItemSplitSeatAppliedDiscountId(seatId: string, discountId: string): this;
|
|
135
|
+
clearItemSplitSeatAppliedDiscountIds(seatId: string): this;
|
|
136
|
+
getEqualSplitState(): PosOrderEqualSplitStateDto | null;
|
|
137
|
+
setEqualSplitState(equalSplitState: PosOrderEqualSplitStateDto | null): this;
|
|
138
|
+
clearEqualSplitState(): this;
|
|
139
|
+
getEqualSplitParts(): PosOrderEqualSplitPartDto[];
|
|
140
|
+
setEqualSplitParts(parts: PosOrderEqualSplitPartDto[]): this;
|
|
141
|
+
clearEqualSplitParts(): this;
|
|
142
|
+
addEqualSplitPart(part: PosOrderEqualSplitPartDto): this;
|
|
143
|
+
updateEqualSplitPart(partId: string, updater: (part: PosOrderEqualSplitPartDto) => PosOrderEqualSplitPartDto): this;
|
|
144
|
+
removeEqualSplitPart(partId: string): this;
|
|
145
|
+
getEqualSplitPartById(partId: string): PosOrderEqualSplitPartDto | null;
|
|
146
|
+
getEqualSplitPartCount(): number | null;
|
|
147
|
+
setEqualSplitPartCount(partCount: number | null): this;
|
|
148
|
+
clearEqualSplitPartCount(): this;
|
|
149
|
+
setEqualSplitPartAppliedDiscountIds(partId: string, appliedDiscountIds: string[]): this;
|
|
150
|
+
addEqualSplitPartAppliedDiscountId(partId: string, discountId: string): this;
|
|
151
|
+
removeEqualSplitPartAppliedDiscountId(partId: string, discountId: string): this;
|
|
152
|
+
clearEqualSplitPartAppliedDiscountIds(partId: string): this;
|
|
101
153
|
updateOrderStatus(newStatus: OrderStatusEnum): void;
|
|
102
154
|
updateOrderFormat(newFormat: OrderFormat): void;
|
|
103
155
|
updateLoyaltyProgramId(id: string): void;
|
|
@@ -106,6 +158,7 @@ declare class Cart {
|
|
|
106
158
|
toJSON(paymentEvents?: TransactionDto[]): PosOrderDto;
|
|
107
159
|
clone(): Cart;
|
|
108
160
|
private calculateOrderTaxSummary;
|
|
161
|
+
private createDiscountRecord;
|
|
109
162
|
private touch;
|
|
110
163
|
}
|
|
111
164
|
|
|
@@ -130,10 +183,34 @@ interface CartPriceSnapshot {
|
|
|
130
183
|
totalBeforeDiscountsAmount: number;
|
|
131
184
|
subtotalItemDiscountsAmount: number;
|
|
132
185
|
subtotalBasketDiscountsAmount: number;
|
|
186
|
+
subtotalTargetedDiscountsAmount: number;
|
|
133
187
|
totalDiscountsAmount: number;
|
|
134
188
|
totalAmount: number;
|
|
189
|
+
itemSplitSeatPricing: SplitPricingResult | null;
|
|
190
|
+
equalSplitPartPricing: SplitPricingResult | null;
|
|
135
191
|
price: PosOrderPriceDto;
|
|
136
192
|
}
|
|
193
|
+
interface SplitTargetAmount {
|
|
194
|
+
id: string;
|
|
195
|
+
grossAmount: number;
|
|
196
|
+
discountAmount: number;
|
|
197
|
+
netAmount: number;
|
|
198
|
+
}
|
|
199
|
+
interface SplitPricingResult {
|
|
200
|
+
targets: SplitTargetAmount[];
|
|
201
|
+
totalGrossAmount: number;
|
|
202
|
+
totalDiscountAmount: number;
|
|
203
|
+
totalNetAmount: number;
|
|
204
|
+
}
|
|
205
|
+
declare function calculateItemSplitSeatPricing(details: {
|
|
206
|
+
tableService: PosOrderTableServiceDto | null | undefined;
|
|
207
|
+
discounts: readonly InternalPosDiscount[];
|
|
208
|
+
}): SplitPricingResult;
|
|
209
|
+
declare function calculateEqualSplitPartPricing(details: {
|
|
210
|
+
totalAmount: number;
|
|
211
|
+
equalSplitState: PosOrderEqualSplitStateDto | null | undefined;
|
|
212
|
+
discounts: readonly InternalPosDiscount[];
|
|
213
|
+
}): SplitPricingResult;
|
|
137
214
|
declare function calculateItemPrice(details: {
|
|
138
215
|
basePriceInMinorUnit: number;
|
|
139
216
|
quantity: number;
|
|
@@ -149,6 +226,9 @@ declare function calculateCartPriceSnapshot(details: {
|
|
|
149
226
|
items: readonly PosOrderItemDto[];
|
|
150
227
|
discounts: readonly InternalPosDiscount[];
|
|
151
228
|
currency: CurrencyCode;
|
|
229
|
+
checkoutModel?: CheckoutModelEnum;
|
|
230
|
+
tableService?: PosOrderTableServiceDto | null;
|
|
231
|
+
equalSplitState?: PosOrderEqualSplitStateDto | null;
|
|
152
232
|
}): CartPriceSnapshot;
|
|
153
233
|
|
|
154
234
|
interface TaxInclusiveSplitResult {
|
|
@@ -164,6 +244,6 @@ declare function calculateOrderTaxSummary(details: {
|
|
|
164
244
|
currency: CurrencyCode;
|
|
165
245
|
}): PosOrderDtoTaxSummary;
|
|
166
246
|
|
|
167
|
-
declare const VERSION = "0.1.
|
|
247
|
+
declare const VERSION = "0.1.5";
|
|
168
248
|
|
|
169
|
-
export { ApplyTo, Cart, type CartCreateOptions, type CartItemAddData, type CartOptionPayload, type CartPriceSnapshot, type DiscountStrategyFn, type InternalPosDiscount, type SequentialDiscountCalculation, type TaxInclusiveSplitResult, type UpdatableCartDetails, VERSION, allocateProportionalMinorUnits, calculateCartPriceSnapshot, calculateDiscountAmount, calculateItemPrice, calculateOrderTaxSummary, calculateSequentialDiscountTotal, splitTaxInclusiveAmount };
|
|
249
|
+
export { ApplyTo, Cart, type CartCreateOptions, type CartItemAddData, type CartOptionPayload, type CartPriceSnapshot, type DiscountStrategyFn, type InternalPosDiscount, type SequentialDiscountCalculation, type SplitPricingResult, type SplitTargetAmount, type TaxInclusiveSplitResult, type UpdatableCartDetails, VERSION, allocateProportionalMinorUnits, calculateCartPriceSnapshot, calculateDiscountAmount, calculateEqualSplitPartPricing, calculateItemPrice, calculateItemSplitSeatPricing, calculateOrderTaxSummary, calculateSequentialDiscountTotal, splitTaxInclusiveAmount };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CurrencyCode, PosBusinessDto, OrderTypePOS, ProviderEnum, CheckoutModelEnum,
|
|
1
|
+
import { CurrencyCode, PosBusinessDto, OrderTypePOS, ProviderEnum, CheckoutModelEnum, PosOrderTableServiceDto, PosOrderEqualSplitStateDto, PosDiscountDto, PosOrderItemDto, LocatorType, OrderFormat, OrderRefundStatus, OrderStatusEnum, PosOrderDto, PosCustomerDto, PaymentRefundDto, InvoiceCompanyResponseDto, PosOrderPriceDto, KitchenStatus, PosPaymentStatus, PosOrderItemSplitSeatDto, PosOrderItemSplitSeatAssignmentDto, PosOrderEqualSplitPartDto, TransactionDto, DiscountType, MoneyDto, ItemPriceDto, PosOrderDtoTaxSummary } from '@munchi_oy/core';
|
|
2
2
|
|
|
3
3
|
declare enum ApplyTo {
|
|
4
4
|
Order = "order",
|
|
@@ -16,10 +16,12 @@ interface CartCreateOptions {
|
|
|
16
16
|
currency: CurrencyCode;
|
|
17
17
|
business: PosBusinessDto;
|
|
18
18
|
orderNumber: string;
|
|
19
|
+
aggregateMatchingItemsOnAdd?: boolean;
|
|
19
20
|
orderType?: OrderTypePOS;
|
|
20
21
|
provider?: ProviderEnum;
|
|
21
22
|
checkoutModel?: CheckoutModelEnum;
|
|
22
|
-
tableService?:
|
|
23
|
+
tableService?: PosOrderTableServiceDto | null;
|
|
24
|
+
equalSplitState?: PosOrderEqualSplitStateDto | null;
|
|
23
25
|
createdAt?: Date;
|
|
24
26
|
staffId?: string | null;
|
|
25
27
|
shiftId?: string | null;
|
|
@@ -53,11 +55,13 @@ declare class Cart {
|
|
|
53
55
|
private _customer;
|
|
54
56
|
private _refunds;
|
|
55
57
|
private _tableService;
|
|
58
|
+
private _equalSplitState;
|
|
56
59
|
private _taxSummary;
|
|
57
60
|
private _newlyCancelledItemIds;
|
|
58
61
|
private _invoiceCompany;
|
|
59
62
|
private _staffId;
|
|
60
63
|
private _shiftId;
|
|
64
|
+
private _aggregateMatchingItemsOnAdd;
|
|
61
65
|
private version;
|
|
62
66
|
private constructor();
|
|
63
67
|
static create(options: CartCreateOptions): Cart;
|
|
@@ -72,10 +76,14 @@ declare class Cart {
|
|
|
72
76
|
get loyaltyProgramId(): string | null;
|
|
73
77
|
get loyaltyTransactionIds(): readonly string[];
|
|
74
78
|
get invoiceCompany(): InvoiceCompanyResponseDto | null;
|
|
79
|
+
get aggregateMatchingItemsOnAdd(): boolean;
|
|
75
80
|
get guestCount(): number | null;
|
|
76
|
-
get tableService():
|
|
81
|
+
get tableService(): PosOrderTableServiceDto | null;
|
|
82
|
+
get equalSplitState(): PosOrderEqualSplitStateDto | null;
|
|
83
|
+
get equalSplitPartCount(): number | null;
|
|
77
84
|
get price(): PosOrderPriceDto;
|
|
78
85
|
setInvoiceCompany(company: InvoiceCompanyResponseDto | null): void;
|
|
86
|
+
setAggregateMatchingItemsOnAdd(enabled: boolean): void;
|
|
79
87
|
addItem(itemData: CartItemAddData, requiresPrep?: boolean): void;
|
|
80
88
|
updateItem(lineItemId: string, updatedItem: PosOrderItemDto): void;
|
|
81
89
|
removeItem(lineItemId: string): void;
|
|
@@ -84,6 +92,9 @@ declare class Cart {
|
|
|
84
92
|
clearCancellationTracking(): void;
|
|
85
93
|
applyDiscountToCart(discountData: Omit<PosDiscountDto, "scope" | "lineItemId" | "createdAt">): void;
|
|
86
94
|
applyDiscountToItem(lineItemId: string, discountData: Omit<PosDiscountDto, "scope" | "lineItemId" | "createdAt">): void;
|
|
95
|
+
applyDiscountToItemSplitSeat(seatId: string, discountData: Omit<PosDiscountDto, "scope" | "lineItemId" | "createdAt">): void;
|
|
96
|
+
applyDiscountToItemSplitAssignment(assignmentId: string, discountData: Omit<PosDiscountDto, "scope" | "lineItemId" | "createdAt">): void;
|
|
97
|
+
applyDiscountToEqualSplitPart(partId: string, discountData: Omit<PosDiscountDto, "scope" | "lineItemId" | "createdAt">): void;
|
|
87
98
|
removeItemDiscount(lineItemId: string): void;
|
|
88
99
|
removeDiscount(discountId: string): void;
|
|
89
100
|
setCustomer(customer: PosCustomerDto | null): void;
|
|
@@ -98,6 +109,47 @@ declare class Cart {
|
|
|
98
109
|
setCheckoutType(checkoutModel: CheckoutModelEnum): void;
|
|
99
110
|
setGuestCount(guestCount: number | null): void;
|
|
100
111
|
setSeatNumber(guestCount: number | null): void;
|
|
112
|
+
getTableService(): PosOrderTableServiceDto | null;
|
|
113
|
+
setTableService(tableService: PosOrderTableServiceDto | null): this;
|
|
114
|
+
clearTableService(): this;
|
|
115
|
+
getTableName(): string | null;
|
|
116
|
+
setTableName(name: string | null): this;
|
|
117
|
+
getSeatsCount(): number | null;
|
|
118
|
+
setSeatsCount(seats: number): this;
|
|
119
|
+
getItemSplitSeats(): PosOrderItemSplitSeatDto[];
|
|
120
|
+
setItemSplitSeats(seats: PosOrderItemSplitSeatDto[]): this;
|
|
121
|
+
clearItemSplitSeats(): this;
|
|
122
|
+
addItemSplitSeat(seat: PosOrderItemSplitSeatDto): this;
|
|
123
|
+
updateItemSplitSeat(seatId: string, updater: (seat: PosOrderItemSplitSeatDto) => PosOrderItemSplitSeatDto): this;
|
|
124
|
+
removeItemSplitSeat(seatId: string): this;
|
|
125
|
+
getItemSplitSeatById(seatId: string): PosOrderItemSplitSeatDto | null;
|
|
126
|
+
setItemSplitSeatAssignments(seatId: string, assignments: PosOrderItemSplitSeatAssignmentDto[]): this;
|
|
127
|
+
addItemSplitSeatAssignment(seatId: string, assignment: PosOrderItemSplitSeatAssignmentDto): this;
|
|
128
|
+
removeItemSplitSeatAssignmentsByLineItem(seatId: string, lineItemId: string): this;
|
|
129
|
+
clearItemSplitSeatAssignments(seatId: string): this;
|
|
130
|
+
setItemSplitSeatLoyalty(seatId: string, loyaltyId: string | null, loyaltyUserName: string | null): this;
|
|
131
|
+
clearItemSplitSeatLoyalty(seatId: string): this;
|
|
132
|
+
setItemSplitSeatAppliedDiscountIds(seatId: string, appliedDiscountIds: string[]): this;
|
|
133
|
+
addItemSplitSeatAppliedDiscountId(seatId: string, discountId: string): this;
|
|
134
|
+
removeItemSplitSeatAppliedDiscountId(seatId: string, discountId: string): this;
|
|
135
|
+
clearItemSplitSeatAppliedDiscountIds(seatId: string): this;
|
|
136
|
+
getEqualSplitState(): PosOrderEqualSplitStateDto | null;
|
|
137
|
+
setEqualSplitState(equalSplitState: PosOrderEqualSplitStateDto | null): this;
|
|
138
|
+
clearEqualSplitState(): this;
|
|
139
|
+
getEqualSplitParts(): PosOrderEqualSplitPartDto[];
|
|
140
|
+
setEqualSplitParts(parts: PosOrderEqualSplitPartDto[]): this;
|
|
141
|
+
clearEqualSplitParts(): this;
|
|
142
|
+
addEqualSplitPart(part: PosOrderEqualSplitPartDto): this;
|
|
143
|
+
updateEqualSplitPart(partId: string, updater: (part: PosOrderEqualSplitPartDto) => PosOrderEqualSplitPartDto): this;
|
|
144
|
+
removeEqualSplitPart(partId: string): this;
|
|
145
|
+
getEqualSplitPartById(partId: string): PosOrderEqualSplitPartDto | null;
|
|
146
|
+
getEqualSplitPartCount(): number | null;
|
|
147
|
+
setEqualSplitPartCount(partCount: number | null): this;
|
|
148
|
+
clearEqualSplitPartCount(): this;
|
|
149
|
+
setEqualSplitPartAppliedDiscountIds(partId: string, appliedDiscountIds: string[]): this;
|
|
150
|
+
addEqualSplitPartAppliedDiscountId(partId: string, discountId: string): this;
|
|
151
|
+
removeEqualSplitPartAppliedDiscountId(partId: string, discountId: string): this;
|
|
152
|
+
clearEqualSplitPartAppliedDiscountIds(partId: string): this;
|
|
101
153
|
updateOrderStatus(newStatus: OrderStatusEnum): void;
|
|
102
154
|
updateOrderFormat(newFormat: OrderFormat): void;
|
|
103
155
|
updateLoyaltyProgramId(id: string): void;
|
|
@@ -106,6 +158,7 @@ declare class Cart {
|
|
|
106
158
|
toJSON(paymentEvents?: TransactionDto[]): PosOrderDto;
|
|
107
159
|
clone(): Cart;
|
|
108
160
|
private calculateOrderTaxSummary;
|
|
161
|
+
private createDiscountRecord;
|
|
109
162
|
private touch;
|
|
110
163
|
}
|
|
111
164
|
|
|
@@ -130,10 +183,34 @@ interface CartPriceSnapshot {
|
|
|
130
183
|
totalBeforeDiscountsAmount: number;
|
|
131
184
|
subtotalItemDiscountsAmount: number;
|
|
132
185
|
subtotalBasketDiscountsAmount: number;
|
|
186
|
+
subtotalTargetedDiscountsAmount: number;
|
|
133
187
|
totalDiscountsAmount: number;
|
|
134
188
|
totalAmount: number;
|
|
189
|
+
itemSplitSeatPricing: SplitPricingResult | null;
|
|
190
|
+
equalSplitPartPricing: SplitPricingResult | null;
|
|
135
191
|
price: PosOrderPriceDto;
|
|
136
192
|
}
|
|
193
|
+
interface SplitTargetAmount {
|
|
194
|
+
id: string;
|
|
195
|
+
grossAmount: number;
|
|
196
|
+
discountAmount: number;
|
|
197
|
+
netAmount: number;
|
|
198
|
+
}
|
|
199
|
+
interface SplitPricingResult {
|
|
200
|
+
targets: SplitTargetAmount[];
|
|
201
|
+
totalGrossAmount: number;
|
|
202
|
+
totalDiscountAmount: number;
|
|
203
|
+
totalNetAmount: number;
|
|
204
|
+
}
|
|
205
|
+
declare function calculateItemSplitSeatPricing(details: {
|
|
206
|
+
tableService: PosOrderTableServiceDto | null | undefined;
|
|
207
|
+
discounts: readonly InternalPosDiscount[];
|
|
208
|
+
}): SplitPricingResult;
|
|
209
|
+
declare function calculateEqualSplitPartPricing(details: {
|
|
210
|
+
totalAmount: number;
|
|
211
|
+
equalSplitState: PosOrderEqualSplitStateDto | null | undefined;
|
|
212
|
+
discounts: readonly InternalPosDiscount[];
|
|
213
|
+
}): SplitPricingResult;
|
|
137
214
|
declare function calculateItemPrice(details: {
|
|
138
215
|
basePriceInMinorUnit: number;
|
|
139
216
|
quantity: number;
|
|
@@ -149,6 +226,9 @@ declare function calculateCartPriceSnapshot(details: {
|
|
|
149
226
|
items: readonly PosOrderItemDto[];
|
|
150
227
|
discounts: readonly InternalPosDiscount[];
|
|
151
228
|
currency: CurrencyCode;
|
|
229
|
+
checkoutModel?: CheckoutModelEnum;
|
|
230
|
+
tableService?: PosOrderTableServiceDto | null;
|
|
231
|
+
equalSplitState?: PosOrderEqualSplitStateDto | null;
|
|
152
232
|
}): CartPriceSnapshot;
|
|
153
233
|
|
|
154
234
|
interface TaxInclusiveSplitResult {
|
|
@@ -164,6 +244,6 @@ declare function calculateOrderTaxSummary(details: {
|
|
|
164
244
|
currency: CurrencyCode;
|
|
165
245
|
}): PosOrderDtoTaxSummary;
|
|
166
246
|
|
|
167
|
-
declare const VERSION = "0.1.
|
|
247
|
+
declare const VERSION = "0.1.5";
|
|
168
248
|
|
|
169
|
-
export { ApplyTo, Cart, type CartCreateOptions, type CartItemAddData, type CartOptionPayload, type CartPriceSnapshot, type DiscountStrategyFn, type InternalPosDiscount, type SequentialDiscountCalculation, type TaxInclusiveSplitResult, type UpdatableCartDetails, VERSION, allocateProportionalMinorUnits, calculateCartPriceSnapshot, calculateDiscountAmount, calculateItemPrice, calculateOrderTaxSummary, calculateSequentialDiscountTotal, splitTaxInclusiveAmount };
|
|
249
|
+
export { ApplyTo, Cart, type CartCreateOptions, type CartItemAddData, type CartOptionPayload, type CartPriceSnapshot, type DiscountStrategyFn, type InternalPosDiscount, type SequentialDiscountCalculation, type SplitPricingResult, type SplitTargetAmount, type TaxInclusiveSplitResult, type UpdatableCartDetails, VERSION, allocateProportionalMinorUnits, calculateCartPriceSnapshot, calculateDiscountAmount, calculateEqualSplitPartPricing, calculateItemPrice, calculateItemSplitSeatPricing, calculateOrderTaxSummary, calculateSequentialDiscountTotal, splitTaxInclusiveAmount };
|