@pisell/pisellos 0.10.50 → 0.10.52

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.
Files changed (64) hide show
  1. package/dist/model/strategy/adapter/promotion/index.js +0 -9
  2. package/dist/modules/FulfillmentTiming/index.d.ts +11 -0
  3. package/dist/modules/FulfillmentTiming/index.js +407 -0
  4. package/dist/modules/FulfillmentTiming/types.d.ts +67 -0
  5. package/dist/modules/FulfillmentTiming/types.js +1 -0
  6. package/dist/modules/OpenData/types.d.ts +6 -0
  7. package/dist/modules/Order/index.d.ts +18 -1
  8. package/dist/modules/Order/index.js +322 -195
  9. package/dist/modules/Order/pickupTiming.d.ts +46 -0
  10. package/dist/modules/Order/pickupTiming.js +53 -0
  11. package/dist/modules/Order/types.d.ts +11 -1
  12. package/dist/modules/Order/utils.d.ts +10 -0
  13. package/dist/modules/Order/utils.js +145 -85
  14. package/dist/modules/Rules/index.js +3 -2
  15. package/dist/modules/Schedule/index.d.ts +8 -0
  16. package/dist/modules/Schedule/index.js +134 -37
  17. package/dist/modules/index.d.ts +1 -0
  18. package/dist/modules/index.js +1 -0
  19. package/dist/server/modules/order/index.d.ts +8 -0
  20. package/dist/server/modules/order/index.js +506 -453
  21. package/dist/server/modules/order/types.d.ts +1 -0
  22. package/dist/server/utils/small-ticket.js +165 -94
  23. package/dist/solution/BaseSales/index.d.ts +24 -0
  24. package/dist/solution/BaseSales/index.js +1231 -1037
  25. package/dist/solution/BaseSales/pickupTiming.d.ts +43 -0
  26. package/dist/solution/BaseSales/pickupTiming.js +589 -0
  27. package/dist/solution/BaseSales/utils/parseSalesResponse.js +3 -0
  28. package/dist/solution/BookingByStep/index.d.ts +1 -1
  29. package/dist/solution/BookingTicket/index.d.ts +2 -2
  30. package/dist/solution/BookingTicket/utils/cartView.js +3 -1
  31. package/dist/solution/UnifiedBookingSales/index.d.ts +13 -4
  32. package/dist/solution/UnifiedBookingSales/index.js +873 -708
  33. package/lib/modules/FulfillmentTiming/index.d.ts +11 -0
  34. package/lib/modules/FulfillmentTiming/index.js +359 -0
  35. package/lib/modules/FulfillmentTiming/types.d.ts +67 -0
  36. package/lib/modules/FulfillmentTiming/types.js +5 -0
  37. package/lib/modules/OpenData/types.d.ts +6 -0
  38. package/lib/modules/Order/index.d.ts +18 -1
  39. package/lib/modules/Order/index.js +101 -3
  40. package/lib/modules/Order/pickupTiming.d.ts +46 -0
  41. package/lib/modules/Order/pickupTiming.js +61 -0
  42. package/lib/modules/Order/types.d.ts +11 -1
  43. package/lib/modules/Order/utils.d.ts +10 -0
  44. package/lib/modules/Order/utils.js +58 -4
  45. package/lib/modules/Rules/index.js +3 -2
  46. package/lib/modules/Schedule/index.d.ts +8 -0
  47. package/lib/modules/Schedule/index.js +64 -11
  48. package/lib/modules/index.d.ts +1 -0
  49. package/lib/modules/index.js +11 -0
  50. package/lib/server/modules/order/index.d.ts +8 -0
  51. package/lib/server/modules/order/index.js +19 -0
  52. package/lib/server/modules/order/types.d.ts +1 -0
  53. package/lib/server/utils/small-ticket.js +86 -22
  54. package/lib/solution/BaseSales/index.d.ts +24 -0
  55. package/lib/solution/BaseSales/index.js +109 -1
  56. package/lib/solution/BaseSales/pickupTiming.d.ts +43 -0
  57. package/lib/solution/BaseSales/pickupTiming.js +269 -0
  58. package/lib/solution/BaseSales/utils/parseSalesResponse.js +3 -0
  59. package/lib/solution/BookingByStep/index.d.ts +1 -1
  60. package/lib/solution/BookingTicket/index.d.ts +2 -2
  61. package/lib/solution/BookingTicket/utils/cartView.js +3 -1
  62. package/lib/solution/UnifiedBookingSales/index.d.ts +13 -4
  63. package/lib/solution/UnifiedBookingSales/index.js +130 -46
  64. package/package.json +1 -1
@@ -2,6 +2,8 @@ import { Module, ModuleOptions, PisellCore } from '../../types';
2
2
  import { BaseModule } from '../../modules/BaseModule';
3
3
  import { BaseSalesOrderProduct, BaseSalesOrderProductIdentity, BaseSalesPaymentStatus, BaseSalesUpdateOrderProductQuantityParams, BaseSalesCalculateProductBookingPriceParams, BaseSalesPriceRecalculationContextChange, BaseSalesProductBookingPriceResult, BaseSalesQuotationCustomerScopeInfo, BaseSalesScanCodeResult, BaseSalesCashPaymentConfig, BaseSalesPayCashParams, BaseSalesPayCashResult, BaseSalesCommitPaymentMethodParams, BaseSalesCommitPaymentMethodResult, BaseSalesConfirmWalletPaymentResult } from './types';
4
4
  import { OrderModule } from '../../modules/Order';
5
+ import { type PickupTimingBookingInput } from '../../modules/Order/pickupTiming';
6
+ import type { PickupTimingAvailability, PickupTimingSelection, PickupTimingValidationResult } from '../../modules/FulfillmentTiming';
5
7
  import type { AddProductBookingInput, AddProductToOrderOptions, LoadSalesDetailParams, OrderPaymentData, OrderPaymentUpdateOptions, OrderPaymentUpdateResult, OrderPaymentSource, SendCustomerPayLinkParams, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, UpdateTempOrderCustomerInput, UpdateOrderBookingParams, UpdateOrderProductParams, OrderTempOrder, OrderSummary, OrderPromotionEvaluator, OrderGiftSelectResolver, OrderUnfulfilledPromotion, OrderLastGiftActions, RemoveProductsFromOrderOptions, ReplaceTempOrderOptions, SalesNote, SalesNotesMutationSnapshot, SetSalesNoteInput, PickupReferenceMode, ShopServiceData, ShopServiceType } from '../../modules/Order/types';
6
8
  import type { SubmitPayloadEnhancer } from '../../modules/Order/utils';
7
9
  import type { Discount, VirtualCurrencyAsset } from '../../modules/Discount/types';
@@ -75,6 +77,8 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
75
77
  private serverOrderChangeHydrateInFlight;
76
78
  private queuedServerOrderChanges;
77
79
  private serverOrderChangeSyncEnabled;
80
+ protected pickupTimingEnabled: boolean;
81
+ private pickupTimingController?;
78
82
  constructor(name?: string, version?: string);
79
83
  /**
80
84
  * 子类可覆盖此方法以追加/收敛要注册的子模块。
@@ -151,6 +155,23 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
151
155
  private getAuthoritativeBundleUnitPrice;
152
156
  private mergeProductForPriceQuery;
153
157
  protected getSubmitOrderSalesChannel(): string | undefined;
158
+ /** Only solutions opting into Pickup Timing supply effective OpenData. */
159
+ protected loadPickupTimingOpenData(_force: boolean): Promise<Record<string, unknown>>;
160
+ protected isPickupTimingEnabled(): boolean;
161
+ protected getPickupTimingContextData(key: string): unknown;
162
+ protected getPickupTimingScope(): string;
163
+ protected resetPickupTimingCache(): void;
164
+ private getPickupTimingController;
165
+ getPickupTimingAvailability(params?: {
166
+ date?: string;
167
+ force?: boolean;
168
+ }): Promise<PickupTimingAvailability>;
169
+ getPickupTimingSelection(): PickupTimingSelection;
170
+ setPickupTimingSelection(selection: PickupTimingSelection): Promise<PickupTimingSelection>;
171
+ validatePickupTimingSelection(selection: PickupTimingSelection): Promise<PickupTimingValidationResult>;
172
+ preparePickupTimingForCheckout(options?: {
173
+ freeze?: boolean;
174
+ }): Promise<PickupTimingSelection>;
154
175
  /** Subclasses with target-scoped OpenData override this guard before reusing the cache. */
155
176
  protected isInvoiceOpenDataCacheCurrent(): boolean;
156
177
  private getFulfillmentRefModeConfigs;
@@ -248,6 +269,9 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
248
269
  updateTempOrderDepositAmount(amount: string | number): OrderSummary;
249
270
  setPickupReferenceMode(mode: PickupReferenceMode): ShopServiceData;
250
271
  setServiceType(serviceType: ShopServiceType): ShopServiceData;
272
+ getPickupTimingBooking(): import("../../modules/Order").PickupTimingBooking | null;
273
+ setPickupTimingBooking(input: PickupTimingBookingInput): import("../../modules/Order").PickupTimingBooking;
274
+ clearPickupTimingBooking(): void;
251
275
  updateTempOrderContactsInfo(contactsInfo: Record<string, any> | null): Record<string, any> | null;
252
276
  /** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化。 */
253
277
  setEnableTempOrderPersist(enabled: boolean): void;