@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.
@@ -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 | 3 | 4 | 6;
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(): import("./types").ScanOrderTempOrder | null;
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<import("./types").ScanOrderTempOrder>;
81
- restoreOrder(): Promise<import("./types").ScanOrderTempOrder>;
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 fetchResourceOccupyDetailByResourceId;
121
- checkResourceAvailable(resourceId: string, hasOrderId: boolean): Promise<ScanOrderAvailabilityInfo>;
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;