@pisell/pisellos 2.1.152 → 2.1.154
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/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/ScanOrder/index.d.ts +11 -6
- package/dist/solution/ScanOrder/index.js +750 -428
- package/dist/solution/ScanOrder/types.d.ts +20 -1
- package/dist/solution/VenueBooking/index.d.ts +1 -0
- package/dist/solution/VenueBooking/index.js +13 -0
- package/lib/model/strategy/adapter/promotion/index.js +49 -0
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/ScanOrder/index.d.ts +11 -6
- package/lib/solution/ScanOrder/index.js +324 -101
- package/lib/solution/ScanOrder/types.d.ts +20 -1
- package/lib/solution/VenueBooking/index.d.ts +1 -0
- package/lib/solution/VenueBooking/index.js +11 -0
- package/package.json +1 -1
|
@@ -185,7 +185,7 @@ export interface ScanOrderSubmitPayload extends Omit<ScanOrderTempOrder, 'platfo
|
|
|
185
185
|
}>;
|
|
186
186
|
products: ScanOrderSubmitProduct[];
|
|
187
187
|
}
|
|
188
|
-
export type ScanOrderAvailabilityMode = 'idle' | 'shop_closed' | 'submit_disabled' | 'resource_busy' | 'additional_order_with_code' | 'additional_order';
|
|
188
|
+
export type ScanOrderAvailabilityMode = 'idle' | 'shop_closed' | 'submit_disabled' | 'resource_busy' | 'multiple_orders' | 'additional_order_with_code' | 'additional_order';
|
|
189
189
|
export interface ScanOrderTableFormRecord {
|
|
190
190
|
policy?: string | null;
|
|
191
191
|
partyroom_booking?: string | null;
|
|
@@ -228,6 +228,10 @@ export interface ScanOrderResourceOccupyDetail {
|
|
|
228
228
|
form_id?: number | string | null;
|
|
229
229
|
order_id?: number | string | null;
|
|
230
230
|
last_order_id?: number | string | null;
|
|
231
|
+
order_list?: Array<{
|
|
232
|
+
id?: number | string | null;
|
|
233
|
+
[key: string]: any;
|
|
234
|
+
}> | null;
|
|
231
235
|
resource_capacity?: ScanOrderResourceCapacity[] | null;
|
|
232
236
|
form_record?: ScanOrderTableFormRecord | null;
|
|
233
237
|
[key: string]: any;
|
|
@@ -241,6 +245,21 @@ export interface ScanOrderResourceOccupyDetailApiResponse {
|
|
|
241
245
|
} | null;
|
|
242
246
|
}
|
|
243
247
|
export type ScanOrderResourceSelectType = 'single' | 'multiple' | 'capacity';
|
|
248
|
+
export interface ScanOrderReservationResourceSelectInfo {
|
|
249
|
+
resourceSelectType?: ScanOrderResourceSelectType;
|
|
250
|
+
isSingleReservation: boolean;
|
|
251
|
+
isMultipleReservation: boolean;
|
|
252
|
+
isCapacityReservation: boolean;
|
|
253
|
+
}
|
|
254
|
+
export interface ScanOrderAllowAddItemsInfo {
|
|
255
|
+
enabled: boolean;
|
|
256
|
+
}
|
|
257
|
+
export type ScanOrderSyncAdditionalOrderReason = 'missing_resource_id' | 'no_order' | 'multiple_orders' | 'add_items_disabled' | 'invalid_order_id';
|
|
258
|
+
export interface ScanOrderSyncAdditionalOrderResult {
|
|
259
|
+
matched: boolean;
|
|
260
|
+
order_id?: string;
|
|
261
|
+
reason?: ScanOrderSyncAdditionalOrderReason;
|
|
262
|
+
}
|
|
244
263
|
export interface ScanOrderResourceState extends ScanOrderAvailabilityInfo {
|
|
245
264
|
relationId?: string;
|
|
246
265
|
tableFormId?: string;
|
|
@@ -193,6 +193,7 @@ export declare class VenueBookingImpl extends BaseModule implements Module {
|
|
|
193
193
|
setUIState(key: string, value: any): void;
|
|
194
194
|
getUIState<T = any>(key: string): T | undefined;
|
|
195
195
|
deleteUIState(key: string): void;
|
|
196
|
+
setBookingHolder(bookingUid: string, holder: any): void;
|
|
196
197
|
checkOpenDataAvailability(): Promise<OpenDataAvailabilityResult>;
|
|
197
198
|
setOtherParams(params: Record<string, any>, { cover }?: {
|
|
198
199
|
cover?: boolean;
|
|
@@ -3394,6 +3394,19 @@ export var VenueBookingImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
3394
3394
|
this.writeUIStateBucket(bucket);
|
|
3395
3395
|
}
|
|
3396
3396
|
}
|
|
3397
|
+
}, {
|
|
3398
|
+
key: "setBookingHolder",
|
|
3399
|
+
value: function setBookingHolder(bookingUid, holder) {
|
|
3400
|
+
var _order$bookings;
|
|
3401
|
+
var order = this.getTempOrder();
|
|
3402
|
+
var booking = order === null || order === void 0 || (_order$bookings = order.bookings) === null || _order$bookings === void 0 ? void 0 : _order$bookings.find(function (b) {
|
|
3403
|
+
var _b$metadata4;
|
|
3404
|
+
return ((_b$metadata4 = b.metadata) === null || _b$metadata4 === void 0 ? void 0 : _b$metadata4.unique_identification_number) === bookingUid;
|
|
3405
|
+
});
|
|
3406
|
+
if (booking) {
|
|
3407
|
+
booking.holder = holder;
|
|
3408
|
+
}
|
|
3409
|
+
}
|
|
3397
3410
|
|
|
3398
3411
|
// ─── OpenData 可用性 ───
|
|
3399
3412
|
}, {
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/model/strategy/adapter/promotion/index.ts
|
|
30
|
+
var promotion_exports = {};
|
|
31
|
+
__export(promotion_exports, {
|
|
32
|
+
BUY_X_GET_Y_FREE_STRATEGY: () => import_examples.BUY_X_GET_Y_FREE_STRATEGY,
|
|
33
|
+
PromotionAdapter: () => import_adapter.PromotionAdapter,
|
|
34
|
+
PromotionEvaluator: () => import_evaluator.PromotionEvaluator,
|
|
35
|
+
X_ITEMS_FOR_Y_PRICE_STRATEGY: () => import_examples.X_ITEMS_FOR_Y_PRICE_STRATEGY,
|
|
36
|
+
default: () => import_adapter2.default
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(promotion_exports);
|
|
39
|
+
var import_evaluator = require("./evaluator");
|
|
40
|
+
var import_adapter = require("./adapter");
|
|
41
|
+
var import_adapter2 = __toESM(require("./adapter"));
|
|
42
|
+
var import_examples = require("./examples");
|
|
43
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
44
|
+
0 && (module.exports = {
|
|
45
|
+
BUY_X_GET_Y_FREE_STRATEGY,
|
|
46
|
+
PromotionAdapter,
|
|
47
|
+
PromotionEvaluator,
|
|
48
|
+
X_ITEMS_FOR_Y_PRICE_STRATEGY
|
|
49
|
+
});
|
|
@@ -310,7 +310,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
|
|
|
310
310
|
date: string;
|
|
311
311
|
status: string;
|
|
312
312
|
week: string;
|
|
313
|
-
weekNum: 0 | 2 | 1 | 5 |
|
|
313
|
+
weekNum: 0 | 2 | 1 | 5 | 4 | 3 | 6;
|
|
314
314
|
}[]>;
|
|
315
315
|
submitTimeSlot(timeSlots: TimeSliceItem): void;
|
|
316
316
|
private getScheduleDataByIds;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Module, ModuleOptions, PisellCore } from '../../types';
|
|
2
2
|
import { BaseModule } from '../../modules/BaseModule';
|
|
3
|
-
import { ScanOrderAddLogParams, ScanOrderAvailabilityInfo, ScanOrderOrderProduct, ScanOrderOrderProductIdentity, ScanOrderScanCodeResult } from './types';
|
|
3
|
+
import { ScanOrderAddLogParams, ScanOrderAvailabilityInfo, ScanOrderAllowAddItemsInfo, ScanOrderOrderProduct, ScanOrderOrderProductIdentity, ScanOrderReservationResourceSelectInfo, ScanOrderScanCodeResult, ScanOrderSyncAdditionalOrderResult, ScanOrderTempOrder } from './types';
|
|
4
4
|
import type { UpdateProductInOrderParams } from '../../modules/Order/types';
|
|
5
5
|
import type { Discount } from '../../modules/Discount/types';
|
|
6
6
|
import { type CartItemSummary, type PaxInfo, type QuantityCheckResult, type QuantityLimitResult } from '../../model/strategy/adapter/itemRule';
|
|
@@ -69,7 +69,7 @@ export declare class ScanOrderImpl extends BaseModule implements Module {
|
|
|
69
69
|
passed: boolean | null;
|
|
70
70
|
failures: QuantityCheckResult[];
|
|
71
71
|
};
|
|
72
|
-
getTempOrder():
|
|
72
|
+
getTempOrder(): ScanOrderTempOrder | null;
|
|
73
73
|
updateTempOrderNote(note: string): string;
|
|
74
74
|
setPickupReferenceMode(mode: 'counter_pickup' | 'table_service'): {
|
|
75
75
|
service_type: 'dine_in';
|
|
@@ -77,8 +77,8 @@ export declare class ScanOrderImpl extends BaseModule implements Module {
|
|
|
77
77
|
};
|
|
78
78
|
setPickupRef(buzzer: string): string;
|
|
79
79
|
private ensureTempOrder;
|
|
80
|
-
addNewOrder(): Promise<
|
|
81
|
-
restoreOrder(): Promise<
|
|
80
|
+
addNewOrder(): Promise<ScanOrderTempOrder>;
|
|
81
|
+
restoreOrder(): Promise<ScanOrderTempOrder>;
|
|
82
82
|
getOrderProducts(): ScanOrderOrderProduct[];
|
|
83
83
|
getSummary(): Promise<import("./types").ScanOrderSummary>;
|
|
84
84
|
getDiscountList(): Discount[];
|
|
@@ -92,6 +92,7 @@ export declare class ScanOrderImpl extends BaseModule implements Module {
|
|
|
92
92
|
}): Promise<void>;
|
|
93
93
|
private findReservationRuleResource;
|
|
94
94
|
private buildScanOrderResourceMetadata;
|
|
95
|
+
private prepareRetailAvailability;
|
|
95
96
|
private buildSubmitPayloadEnhancer;
|
|
96
97
|
submitScanOrder<T = any>(): Promise<T>;
|
|
97
98
|
addProductToOrder(product: Partial<ScanOrderOrderProduct> & ScanOrderOrderProductIdentity): Promise<ScanOrderOrderProduct[]>;
|
|
@@ -117,8 +118,9 @@ export declare class ScanOrderImpl extends BaseModule implements Module {
|
|
|
117
118
|
setItemRuleRuntimeConfig(config?: ScanOrderItemRuleRuntimeConfig): Promise<void>;
|
|
118
119
|
private normalizeResourceState;
|
|
119
120
|
private resolveResourceSelectType;
|
|
120
|
-
private
|
|
121
|
-
|
|
121
|
+
private fetchResourceOccupyDetailsByResourceId;
|
|
122
|
+
private resolveAdditionalOrderFromOccupyDetail;
|
|
123
|
+
checkResourceAvailable(resourceId?: string | null, hasOrderId?: boolean): Promise<ScanOrderAvailabilityInfo>;
|
|
122
124
|
getAdditionalOrderInfo(): Promise<{
|
|
123
125
|
orderId: string;
|
|
124
126
|
orderStatus: 'pending' | 'processing' | 'completed' | 'cancelled';
|
|
@@ -141,6 +143,9 @@ export declare class ScanOrderImpl extends BaseModule implements Module {
|
|
|
141
143
|
clearUIState(): void;
|
|
142
144
|
setEntryPaxNumber(number: number): Promise<void>;
|
|
143
145
|
getEntryPaxNumber(): number | null;
|
|
146
|
+
syncAdditionalOrderFromResource(resourceId?: string | null): Promise<ScanOrderSyncAdditionalOrderResult>;
|
|
147
|
+
getReservationResourceSelectType(): ScanOrderReservationResourceSelectInfo;
|
|
148
|
+
checkAllowAddItems(): ScanOrderAllowAddItemsInfo;
|
|
144
149
|
getFulfillmentModes(): {
|
|
145
150
|
enablePickup: boolean;
|
|
146
151
|
enableTableService: boolean;
|