@trusted-solutions/sdit.models 0.66.0-alpha.5 → 0.66.0-alpha.9

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 (43) hide show
  1. package/enums/error-type.d.ts +4 -0
  2. package/enums/error-type.js +4 -0
  3. package/enums/error-type.js.map +1 -1
  4. package/lambda/index.d.ts +1 -0
  5. package/lambda/index.js +1 -0
  6. package/lambda/index.js.map +1 -1
  7. package/lambda/online-ordering.d.ts +50 -33
  8. package/lambda/online-table-order-profile.d.ts +25 -0
  9. package/lambda/online-table-order-profile.js +3 -0
  10. package/lambda/online-table-order-profile.js.map +1 -0
  11. package/lambda/request/index.d.ts +2 -0
  12. package/lambda/request/index.js +2 -0
  13. package/lambda/request/index.js.map +1 -1
  14. package/lambda/request/online-closed-date.d.ts +19 -0
  15. package/lambda/request/online-closed-date.js +3 -0
  16. package/lambda/request/online-closed-date.js.map +1 -0
  17. package/lambda/request/online-table-order-profile.d.ts +1 -0
  18. package/lambda/request/online-table-order-profile.js +3 -0
  19. package/lambda/request/online-table-order-profile.js.map +1 -0
  20. package/lambda/response/index.d.ts +2 -0
  21. package/lambda/response/index.js +2 -0
  22. package/lambda/response/index.js.map +1 -1
  23. package/lambda/response/online-closed-date.d.ts +12 -0
  24. package/lambda/response/online-closed-date.js +3 -0
  25. package/lambda/response/online-closed-date.js.map +1 -0
  26. package/lambda/response/online-table-order-profile.d.ts +1 -0
  27. package/lambda/response/online-table-order-profile.js +3 -0
  28. package/lambda/response/online-table-order-profile.js.map +1 -0
  29. package/models/index.d.ts +2 -0
  30. package/models/index.js +2 -0
  31. package/models/index.js.map +1 -1
  32. package/models/menu.d.ts +2 -0
  33. package/models/menu.js.map +1 -1
  34. package/models/online-closed-date.d.ts +18 -0
  35. package/models/online-closed-date.js +3 -0
  36. package/models/online-closed-date.js.map +1 -0
  37. package/models/online-ordering.d.ts +10 -0
  38. package/models/online-table-order-profile.d.ts +26 -0
  39. package/models/online-table-order-profile.js +3 -0
  40. package/models/online-table-order-profile.js.map +1 -0
  41. package/models/store.d.ts +23 -3
  42. package/models/store.js.map +1 -1
  43. package/package.json +1 -1
@@ -46,6 +46,8 @@ export declare enum ErrorType {
46
46
  SOOrderException = "SOOrderException",
47
47
  DeliveryLocationQuoteInvalid = "DeliveryLocationQuoteInvalid",
48
48
  DeliveryLocationQuoteExpired = "DeliveryLocationQuoteExpired",
49
+ DeliveryLocationTokenInvalid = "DeliveryLocationTokenInvalid",
50
+ DeliveryLocationRouteTokenInvalid = "DeliveryLocationRouteTokenInvalid",
49
51
  DeliveryLocationAddressChanged = "DeliveryLocationAddressChanged",
50
52
  DeliveryLocationAddressConfirmationInvalid = "DeliveryLocationAddressConfirmationInvalid",
51
53
  DeliveryLocationAddressConfirmationExpired = "DeliveryLocationAddressConfirmationExpired"
@@ -113,6 +115,8 @@ export declare enum ErrorMessage {
113
115
  SOOrderException = "\u8A02\u55AE\u932F\u8AA4",
114
116
  DeliveryLocationQuoteInvalid = "\u5916\u9001\u8DDD\u96E2\u8A66\u7B97\u7121\u6548",
115
117
  DeliveryLocationQuoteExpired = "\u5916\u9001\u8DDD\u96E2\u8A66\u7B97\u5DF2\u903E\u6642\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D",
118
+ DeliveryLocationTokenInvalid = "\u5916\u9001\u5730\u5740\u5B9A\u4F4D\u7121\u6548\uFF0C\u8ACB\u91CD\u65B0\u5B9A\u4F4D",
119
+ DeliveryLocationRouteTokenInvalid = "\u5916\u9001\u8DEF\u7DDA\u6191\u8B49\u7121\u6548\uFF0C\u8ACB\u91CD\u65B0\u8A08\u7B97\u8DDD\u96E2",
116
120
  DeliveryLocationAddressChanged = "\u5916\u9001\u5730\u5740\u5DF2\u8B8A\u66F4\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D",
117
121
  DeliveryLocationAddressConfirmationInvalid = "\u5916\u9001\u5730\u5740\u78BA\u8A8D\u7121\u6548",
118
122
  DeliveryLocationAddressConfirmationExpired = "\u5916\u9001\u5730\u5740\u78BA\u8A8D\u5DF2\u903E\u6642\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D"
@@ -66,6 +66,8 @@ var ErrorType;
66
66
  ErrorType["SOOrderException"] = "SOOrderException";
67
67
  ErrorType["DeliveryLocationQuoteInvalid"] = "DeliveryLocationQuoteInvalid";
68
68
  ErrorType["DeliveryLocationQuoteExpired"] = "DeliveryLocationQuoteExpired";
69
+ ErrorType["DeliveryLocationTokenInvalid"] = "DeliveryLocationTokenInvalid";
70
+ ErrorType["DeliveryLocationRouteTokenInvalid"] = "DeliveryLocationRouteTokenInvalid";
69
71
  ErrorType["DeliveryLocationAddressChanged"] = "DeliveryLocationAddressChanged";
70
72
  ErrorType["DeliveryLocationAddressConfirmationInvalid"] = "DeliveryLocationAddressConfirmationInvalid";
71
73
  ErrorType["DeliveryLocationAddressConfirmationExpired"] = "DeliveryLocationAddressConfirmationExpired";
@@ -149,6 +151,8 @@ var ErrorMessage;
149
151
  ErrorMessage["SOOrderException"] = "\u8A02\u55AE\u932F\u8AA4";
150
152
  ErrorMessage["DeliveryLocationQuoteInvalid"] = "\u5916\u9001\u8DDD\u96E2\u8A66\u7B97\u7121\u6548";
151
153
  ErrorMessage["DeliveryLocationQuoteExpired"] = "\u5916\u9001\u8DDD\u96E2\u8A66\u7B97\u5DF2\u903E\u6642\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D";
154
+ ErrorMessage["DeliveryLocationTokenInvalid"] = "\u5916\u9001\u5730\u5740\u5B9A\u4F4D\u7121\u6548\uFF0C\u8ACB\u91CD\u65B0\u5B9A\u4F4D";
155
+ ErrorMessage["DeliveryLocationRouteTokenInvalid"] = "\u5916\u9001\u8DEF\u7DDA\u6191\u8B49\u7121\u6548\uFF0C\u8ACB\u91CD\u65B0\u8A08\u7B97\u8DDD\u96E2";
152
156
  ErrorMessage["DeliveryLocationAddressChanged"] = "\u5916\u9001\u5730\u5740\u5DF2\u8B8A\u66F4\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D";
153
157
  ErrorMessage["DeliveryLocationAddressConfirmationInvalid"] = "\u5916\u9001\u5730\u5740\u78BA\u8A8D\u7121\u6548";
154
158
  ErrorMessage["DeliveryLocationAddressConfirmationExpired"] = "\u5916\u9001\u5730\u5740\u78BA\u8A8D\u5DF2\u903E\u6642\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D";
@@ -1 +1 @@
1
- {"version":3,"file":"error-type.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/enums/error-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-type.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/enums/error-type.ts"],"names":[],"mappings":"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"}
package/lambda/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './request';
3
3
  export * from './response';
4
4
  export * from './online-integration';
5
5
  export * from './online-ordering';
6
+ export * from './online-table-order-profile';
6
7
  export * from './line-notify';
7
8
  export * from './contract';
8
9
  export * from './subscription';
package/lambda/index.js CHANGED
@@ -6,6 +6,7 @@ tslib_1.__exportStar(require("./request"), exports);
6
6
  tslib_1.__exportStar(require("./response"), exports);
7
7
  tslib_1.__exportStar(require("./online-integration"), exports);
8
8
  tslib_1.__exportStar(require("./online-ordering"), exports);
9
+ tslib_1.__exportStar(require("./online-table-order-profile"), exports);
9
10
  tslib_1.__exportStar(require("./line-notify"), exports);
10
11
  tslib_1.__exportStar(require("./contract"), exports);
11
12
  tslib_1.__exportStar(require("./subscription"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/lambda/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,oDAA0B;AAC1B,qDAA2B;AAG3B,+DAAqC;AACrC,4DAAkC;AAElC,wDAA8B;AAE9B,qDAA2B;AAC3B,yDAA+B;AAE/B,4DAAkC;AAClC,qDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/lambda/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,oDAA0B;AAC1B,qDAA2B;AAG3B,+DAAqC;AACrC,4DAAkC;AAClC,uEAA6C;AAE7C,wDAA8B;AAE9B,qDAA2B;AAC3B,yDAA+B;AAE/B,4DAAkC;AAClC,qDAA2B"}
@@ -1,5 +1,5 @@
1
1
  import { Address, DayOfWeekTimePeriod, DeliveryFeeConfig, GalleryConfig, Operator, PointProvider } from '../models/store';
2
- import { CustomerPointDetail, MultiLanguageText, OrderDiscount } from '../models';
2
+ import { CustomerPointDetail, MultiLanguageText, OrderDiscount, SOOnlineClosedDate } from '../models';
3
3
  import { PaymentServiceProvider, ServeType } from '../enums';
4
4
  import { SOPublicMenu, SOPublicCategory, SOPublicProduct, SOPublicProductAttribute, SOPublicProductAttributeCategory, SOPaymentMethod, SOValidateCart, SOOrderState, SOOrder, SOEater, SOPublicDiscountRule, SOMemberCoupon } from '../models/online-ordering';
5
5
  import { RoundingMode } from '../enums/rounding-mode.enum';
@@ -79,6 +79,18 @@ export interface SOGetStoreInfoResponse {
79
79
  * @Default false
80
80
  */
81
81
  orderNoteHidden: boolean;
82
+ /** 訂單備註是否必填 */
83
+ orderNoteRequired: boolean;
84
+ /** 訂單備註 placeholder;未設定時由客端使用既有 i18n fallback。 */
85
+ orderNotePlaceholder?: MultiLanguageText;
86
+ /** 顧客姓名是否顯示 */
87
+ customerNameDisplay: boolean;
88
+ /** 顧客姓名是否必填 */
89
+ customerNameRequired: boolean;
90
+ /** 顧客電話是否顯示 */
91
+ customerPhoneDisplay: boolean;
92
+ /** 顧客電話是否必填 */
93
+ customerPhoneRequired: boolean;
82
94
  /**
83
95
  * 關閉訂單品項備註輸入
84
96
  * @Default false
@@ -121,6 +133,20 @@ export interface SOGetStoreInfoResponse {
121
133
  * @Default 7
122
134
  */
123
135
  availableReservedDays?: number;
136
+ /**
137
+ * 是否停用立即取餐;undefined / false 均表示可立即取餐。
138
+ * @Default false
139
+ */
140
+ immediatePickupDisabled?: boolean;
141
+ /**
142
+ * 最少提前預訂天數;undefined / 0 均表示可從今天起預訂。
143
+ * @Default 0
144
+ */
145
+ reserveMinDays?: number;
146
+ /**
147
+ * 查詢範圍內的公休日。後端至少回傳「今天起 30 個日曆日」與可預訂區間的聯集。
148
+ */
149
+ closedDates: SOOnlineClosedDate[];
124
150
  /**
125
151
  * 是否開啟店家外送功能
126
152
  * @Default false
@@ -154,6 +180,11 @@ export interface SOGetStoreInfoResponse {
154
180
  * 內用桌名稱
155
181
  */
156
182
  tableName?: string;
183
+ /**
184
+ * 此 table QR 是否成功解析到桌邊 profile。
185
+ * 僅供入口呈現使用;不包含 profile ID、名稱、桌號或原始設定。
186
+ */
187
+ isTableOrderProfile: boolean;
157
188
  /**
158
189
  * Cognito user pool 登入的 OIDC provider
159
190
  * @Default undefined
@@ -210,6 +241,10 @@ export interface SOGetStoreInfoResponse {
210
241
  storeCouponsEnabled?: boolean;
211
242
  /** 加入購物車時,是否與相同品相合併 */
212
243
  mergeSameItem?: boolean;
244
+ /** 是否顯示商品剩餘可售數量 */
245
+ showRemainingQty?: boolean;
246
+ /** 剩餘可售數量小於等於此值才顯示;null/undefined 代表有追蹤數量就顯示 */
247
+ remainingQtyThreshold?: number | null;
213
248
  /** 內用服務費 1~100(%) undefined為關閉 */
214
249
  dineInServiceChargePercent?: number;
215
250
  /** 外帶服務費 1~100(%) undefined為關閉 */
@@ -311,6 +346,8 @@ export interface SOGetMyMemberOverviewResponse {
311
346
  /*******************************/
312
347
  export interface SOValidateMutationRequest {
313
348
  storeId: string;
349
+ /** table QR 的桌號;外送時也必須保留此值。 */
350
+ tableId?: string;
314
351
  traceId: string;
315
352
  serveType: ServeType;
316
353
  /**
@@ -324,35 +361,22 @@ export interface SOValidateMutationRequest {
324
361
  memberCouponId?: string;
325
362
  /** 消費者填寫的結構化外送地址。 */
326
363
  deliveryAddress?: Address;
327
- /**
328
- * PROMAX 定位流程由後端簽發的短效 quote。
329
- * 不接受由瀏覽器自行傳入的距離作為計價依據。
330
- */
331
- deliveryLocationQuoteId?: string;
364
+ /** PROMAX 店家專用的道路距離 token;不接受瀏覽器自行傳入的距離或座標。 */
365
+ deliveryLocationRouteToken?: string;
332
366
  }
333
367
  export interface SOCreateDeliveryLocationQuoteRequest {
334
368
  storeId: string;
335
369
  deliveryAddress: Address;
336
- /** 地址定位層級為 2 時,使用者確認標準化地址後帶回的短效 token */
337
- addressConfirmationToken?: string;
370
+ /** 後端簽發的目的地座標 token;可跨店重用,不包含店家道路距離。 */
371
+ deliveryLocationToken?: string;
338
372
  }
339
- /** 後端簽發的短效配送 quote;座標與距離只供本次下單流程使用。 */
373
+ /** 後端簽發的無時效目的地與道路距離 token;前端只保存與回傳。 */
340
374
  export interface SOCreateDeliveryLocationQuoteResult {
341
- addressConfirmationRequired?: false;
342
- quoteId: string;
343
- deliveryAddressLonLat: [number, number];
375
+ deliveryLocationToken: string;
376
+ deliveryLocationRouteToken: string;
344
377
  distanceKm: number;
345
- expiresAt: number;
346
378
  }
347
- /** 地址定位到街道層級時,須由使用者確認後才能建立配送 quote。 */
348
- export interface SOCreateDeliveryLocationAddressConfirmationResponse {
349
- addressConfirmationRequired: true;
350
- addressConfirmationToken: string;
351
- formattedAddress: string;
352
- locationLevel: 2;
353
- expiresAt: number;
354
- }
355
- export declare type SOCreateDeliveryLocationQuoteResponse = SOCreateDeliveryLocationQuoteResult | SOCreateDeliveryLocationAddressConfirmationResponse;
379
+ export declare type SOCreateDeliveryLocationQuoteResponse = SOCreateDeliveryLocationQuoteResult;
356
380
  /**
357
381
  * @throw `SOOrderError`
358
382
  */
@@ -446,18 +470,11 @@ export interface SOSendOrderRequest {
446
470
  * serveType === deliveryByStore 時有效。
447
471
  */
448
472
  deliveryAddress?: Address;
473
+ /** PROMAX 店家專用的道路距離 token。 */
474
+ deliveryLocationRouteToken?: string;
449
475
  /**
450
- * 消費者收件地址經緯度,格式固定為 [longitude, latitude]。
451
- *
452
- * 這是消費者收件位置,不應從店家設定推導;serveType === deliveryByStore 時建議送出。
453
- */
454
- deliveryAddressLonLat?: number[];
455
- /** 下單前驗價使用的配送距離(公里)。 */
456
- /** @deprecated 改用 deliveryLocationQuoteId,後端不再信任瀏覽器傳入的距離。 */
457
- deliveryDistanceKm?: number;
458
- /** PROMAX 定位流程由後端簽發的短效配送 quote。 */
459
- deliveryLocationQuoteId?: string;
460
- /** 內用桌ID serveType === dineIn 時有效 */
476
+ * 桌邊 QR 的桌號。桌邊內用與由桌邊 profile 發起的店家外送都必須保留此值。
477
+ */
461
478
  tableId?: string;
462
479
  /** 折抵點數 */
463
480
  points?: CustomerPointDetail;
@@ -0,0 +1,25 @@
1
+ import { OnlineTableOrderProfile, OnlineTableOrderProfileInput } from '../models/online-table-order-profile';
2
+ export interface GetOnlineTableOrderProfilesRequest {
3
+ storeId: string;
4
+ }
5
+ export interface GetOnlineTableOrderProfilesResponse {
6
+ items: OnlineTableOrderProfile[];
7
+ }
8
+ export interface CreateOnlineTableOrderProfileRequest {
9
+ item: OnlineTableOrderProfileInput;
10
+ }
11
+ export interface CreateOnlineTableOrderProfileResponse {
12
+ item: OnlineTableOrderProfile;
13
+ }
14
+ export interface UpdateOnlineTableOrderProfileRequest {
15
+ item: Omit<OnlineTableOrderProfile, 'createdAt' | 'updatedAt'>;
16
+ }
17
+ export interface UpdateOnlineTableOrderProfileResponse {
18
+ item: OnlineTableOrderProfile;
19
+ }
20
+ export interface DeleteOnlineTableOrderProfileRequest {
21
+ storeId: string;
22
+ id: string;
23
+ }
24
+ export interface DeleteOnlineTableOrderProfileResponse {
25
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=online-table-order-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"online-table-order-profile.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/lambda/online-table-order-profile.ts"],"names":[],"mappings":""}
@@ -20,3 +20,5 @@ export * from './custom-analysis-group';
20
20
  export * from './import-data';
21
21
  export * from './item-availability';
22
22
  export * from './delivery';
23
+ export * from './online-closed-date';
24
+ export * from './online-table-order-profile';
@@ -23,4 +23,6 @@ tslib_1.__exportStar(require("./custom-analysis-group"), exports);
23
23
  tslib_1.__exportStar(require("./import-data"), exports);
24
24
  tslib_1.__exportStar(require("./item-availability"), exports);
25
25
  tslib_1.__exportStar(require("./delivery"), exports);
26
+ tslib_1.__exportStar(require("./online-closed-date"), exports);
27
+ tslib_1.__exportStar(require("./online-table-order-profile"), exports);
26
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/request/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,oDAA0B;AAC1B,iDAAuB;AACvB,oDAA0B;AAC1B,kDAAwB;AACxB,qDAA2B;AAC3B,mDAAyB;AACzB,kDAAwB;AACxB,qDAA2B;AAC3B,4DAAkC;AAClC,yDAA+B;AAC/B,oDAA0B;AAC1B,oDAA0B;AAC1B,oDAA0B;AAC1B,kDAAwB;AACxB,6DAAmC;AACnC,kEAAwC;AACxC,wDAA8B;AAC9B,8DAAoC;AACpC,qDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/request/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,oDAA0B;AAC1B,iDAAuB;AACvB,oDAA0B;AAC1B,kDAAwB;AACxB,qDAA2B;AAC3B,mDAAyB;AACzB,kDAAwB;AACxB,qDAA2B;AAC3B,4DAAkC;AAClC,yDAA+B;AAC/B,oDAA0B;AAC1B,oDAA0B;AAC1B,oDAA0B;AAC1B,kDAAwB;AACxB,6DAAmC;AACnC,kEAAwC;AACxC,wDAA8B;AAC9B,8DAAoC;AACpC,qDAA2B;AAC3B,+DAAqC;AACrC,uEAA6C"}
@@ -0,0 +1,19 @@
1
+ import { OnlineClosedDate } from '../../models/online-closed-date';
2
+ export interface GetOnlineClosedDatesRequest {
3
+ storeId: string;
4
+ /** YYYY-MM-DD,含起訖日。 */
5
+ fromDate: string;
6
+ /** YYYY-MM-DD,含起訖日。 */
7
+ toDate: string;
8
+ }
9
+ export interface CreateOnlineClosedDateRequest {
10
+ item: Pick<OnlineClosedDate, 'storeId' | 'date' | 'description'>;
11
+ }
12
+ /** 公休日的日期是主鍵,更新時只允許調整說明。 */
13
+ export interface UpdateOnlineClosedDateRequest {
14
+ item: Pick<OnlineClosedDate, 'storeId' | 'date' | 'description'>;
15
+ }
16
+ export interface DeleteOnlineClosedDateRequest {
17
+ storeId: string;
18
+ date: string;
19
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=online-closed-date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"online-closed-date.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/request/online-closed-date.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export { CreateOnlineTableOrderProfileRequest, DeleteOnlineTableOrderProfileRequest, GetOnlineTableOrderProfilesRequest, UpdateOnlineTableOrderProfileRequest, } from '../online-table-order-profile';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=online-table-order-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"online-table-order-profile.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/request/online-table-order-profile.ts"],"names":[],"mappings":""}
@@ -17,3 +17,5 @@ export * from './chain';
17
17
  export * from './custom-analysis-group';
18
18
  export * from './item-availability';
19
19
  export * from './delivery';
20
+ export * from './online-closed-date';
21
+ export * from './online-table-order-profile';
@@ -20,4 +20,6 @@ tslib_1.__exportStar(require("./chain"), exports);
20
20
  tslib_1.__exportStar(require("./custom-analysis-group"), exports);
21
21
  tslib_1.__exportStar(require("./item-availability"), exports);
22
22
  tslib_1.__exportStar(require("./delivery"), exports);
23
+ tslib_1.__exportStar(require("./online-closed-date"), exports);
24
+ tslib_1.__exportStar(require("./online-table-order-profile"), exports);
23
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/response/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,oDAA0B;AAC1B,iDAAuB;AACvB,oDAA0B;AAC1B,kDAAwB;AACxB,qDAA2B;AAC3B,mDAAyB;AACzB,kDAAwB;AACxB,qDAA2B;AAC3B,4DAAkC;AAClC,oDAA0B;AAC1B,oDAA0B;AAC1B,oDAA0B;AAC1B,kDAAwB;AACxB,kEAAwC;AACxC,8DAAoC;AACpC,qDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/response/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,oDAA0B;AAC1B,iDAAuB;AACvB,oDAA0B;AAC1B,kDAAwB;AACxB,qDAA2B;AAC3B,mDAAyB;AACzB,kDAAwB;AACxB,qDAA2B;AAC3B,4DAAkC;AAClC,oDAA0B;AAC1B,oDAA0B;AAC1B,oDAA0B;AAC1B,kDAAwB;AACxB,kEAAwC;AACxC,8DAAoC;AACpC,qDAA2B;AAC3B,+DAAqC;AACrC,uEAA6C"}
@@ -0,0 +1,12 @@
1
+ import { OnlineClosedDate } from '../../models/online-closed-date';
2
+ export interface GetOnlineClosedDatesResponse {
3
+ items: OnlineClosedDate[];
4
+ }
5
+ export interface CreateOnlineClosedDateResponse {
6
+ item: OnlineClosedDate;
7
+ }
8
+ export interface UpdateOnlineClosedDateResponse {
9
+ item: OnlineClosedDate;
10
+ }
11
+ export interface DeleteOnlineClosedDateResponse {
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=online-closed-date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"online-closed-date.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/response/online-closed-date.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export { CreateOnlineTableOrderProfileResponse, DeleteOnlineTableOrderProfileResponse, GetOnlineTableOrderProfilesResponse, UpdateOnlineTableOrderProfileResponse, } from '../online-table-order-profile';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=online-table-order-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"online-table-order-profile.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/response/online-table-order-profile.ts"],"names":[],"mappings":""}
package/models/index.d.ts CHANGED
@@ -37,5 +37,7 @@ export * from './contract';
37
37
  export * from './json';
38
38
  export * from './online-integration';
39
39
  export * from './delivery';
40
+ export * from './online-closed-date';
40
41
  export * from './online-ordering';
42
+ export * from './online-table-order-profile';
41
43
  export * from './override';
package/models/index.js CHANGED
@@ -40,6 +40,8 @@ tslib_1.__exportStar(require("./contract"), exports);
40
40
  tslib_1.__exportStar(require("./json"), exports);
41
41
  tslib_1.__exportStar(require("./online-integration"), exports);
42
42
  tslib_1.__exportStar(require("./delivery"), exports);
43
+ tslib_1.__exportStar(require("./online-closed-date"), exports);
43
44
  tslib_1.__exportStar(require("./online-ordering"), exports);
45
+ tslib_1.__exportStar(require("./online-table-order-profile"), exports);
44
46
  tslib_1.__exportStar(require("./override"), exports);
45
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,2DAAiC;AACjC,oDAA0B;AAC1B,kDAAwB;AACxB,6DAAmC;AACnC,+DAAqC;AACrC,kDAAwB;AACxB,iDAAuB;AACvB,2DAAiC;AACjC,+DAAqC;AACrC,qDAA2B;AAC3B,qDAA2B;AAC3B,6DAAmC;AACnC,4DAAkC;AAClC,4DAAkC;AAClC,kDAAwB;AACxB,2DAAiC;AACjC,4DAAkC;AAClC,qDAA2B;AAC3B,kDAAwB;AACxB,4DAAkC;AAClC,oDAA0B;AAC1B,oDAA0B;AAC1B,kDAAwB;AACxB,kEAAwC;AACxC,mDAAyB;AACzB,sDAA4B;AAC5B,gDAAsB;AACtB,wDAA8B;AAC9B,kDAAwB;AACxB,uDAA6B;AAC7B,qDAA2B;AAE3B,iDAAuB;AACvB,+DAAqC;AACrC,qDAA2B;AAC3B,4DAAkC;AAClC,qDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,2DAAiC;AACjC,oDAA0B;AAC1B,kDAAwB;AACxB,6DAAmC;AACnC,+DAAqC;AACrC,kDAAwB;AACxB,iDAAuB;AACvB,2DAAiC;AACjC,+DAAqC;AACrC,qDAA2B;AAC3B,qDAA2B;AAC3B,6DAAmC;AACnC,4DAAkC;AAClC,4DAAkC;AAClC,kDAAwB;AACxB,2DAAiC;AACjC,4DAAkC;AAClC,qDAA2B;AAC3B,kDAAwB;AACxB,4DAAkC;AAClC,oDAA0B;AAC1B,oDAA0B;AAC1B,kDAAwB;AACxB,kEAAwC;AACxC,mDAAyB;AACzB,sDAA4B;AAC5B,gDAAsB;AACtB,wDAA8B;AAC9B,kDAAwB;AACxB,uDAA6B;AAC7B,qDAA2B;AAE3B,iDAAuB;AACvB,+DAAqC;AACrC,qDAA2B;AAC3B,+DAAqC;AACrC,4DAAkC;AAClC,uEAA6C;AAC7C,qDAA2B"}
package/models/menu.d.ts CHANGED
@@ -99,6 +99,8 @@ export interface Product {
99
99
  type?: ProductType;
100
100
  /** default: false */
101
101
  isComboOnly?: boolean;
102
+ /** 精選推薦。default: false */
103
+ isRecommended?: boolean;
102
104
  }
103
105
  export declare enum AttributeType {
104
106
  combo = "combo",
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/menu.ts"],"names":[],"mappings":";;;AAMA,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,6CAAiC,CAAA;IACjC,mCAAuB,CAAA;IACvB,qCAAyB,CAAA;IACzB,2BAAe,CAAA;IACf,iCAAqB,CAAA;AACvB,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB;AAkCD,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,gCAAiB,CAAA;AACnB,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AA+DD,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,kCAAiB,CAAA;AACnB,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB"}
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/menu.ts"],"names":[],"mappings":";;;AAMA,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,6CAAiC,CAAA;IACjC,mCAAuB,CAAA;IACvB,qCAAyB,CAAA;IACzB,2BAAe,CAAA;IACf,iCAAqB,CAAA;AACvB,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB;AAkCD,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,gCAAiB,CAAA;AACnB,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAiED,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,kCAAiB,CAAA;AACnB,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 店家線上點餐公休日。
3
+ *
4
+ * 每一筆資料都是一個獨立的 TS-SDIT-DataTable item;不得放進 Store,避免歷史資料
5
+ * 使 Store item 持續膨脹。date 一律為店家時區的 YYYY-MM-DD。
6
+ */
7
+ export interface OnlineClosedDate {
8
+ storeId: string;
9
+ date: string;
10
+ description?: string;
11
+ createdAt: number;
12
+ updatedAt: number;
13
+ }
14
+ /** 線上點餐公開端可取得的公休日資訊,不暴露內部管理欄位。 */
15
+ export interface SOOnlineClosedDate {
16
+ date: string;
17
+ description?: string;
18
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=online-closed-date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"online-closed-date.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/online-closed-date.ts"],"names":[],"mappings":""}
@@ -292,6 +292,10 @@ export interface SOPublicProduct {
292
292
  * 線上售完
293
293
  */
294
294
  soldOut: boolean;
295
+ /**
296
+ * 剩餘可售數量;僅在店家開啟「顯示剩餘可售數量」且符合顯示門檻時有值
297
+ */
298
+ remainingQty?: number | null;
295
299
  discountRuleNos: string[];
296
300
  labelForCustomer: {
297
301
  condition?: DiscountLabel;
@@ -301,6 +305,8 @@ export interface SOPublicProduct {
301
305
  onlineAvailability?: OnlineAvailability;
302
306
  type?: ProductType;
303
307
  isComboOnly?: boolean;
308
+ /** 精選推薦 */
309
+ isRecommended?: boolean;
304
310
  }
305
311
  export interface SOPublicProductWithContext {
306
312
  menuId: string;
@@ -340,6 +346,10 @@ export interface SOPublicProductAttribute {
340
346
  * 線上售完
341
347
  */
342
348
  soldOut: boolean;
349
+ /**
350
+ * 剩餘可售數量;僅在店家開啟「顯示剩餘可售數量」且符合顯示門檻時有值
351
+ */
352
+ remainingQty?: number | null;
343
353
  /** default: single */
344
354
  type?: AttributeType;
345
355
  /** type為combo時,必填 */
@@ -0,0 +1,26 @@
1
+ import { Store } from './store';
2
+ /**
3
+ * 桌邊點餐群組可覆寫的 Store 欄位。缺少欄位時的 fallback 分兩種:
4
+ * - onlineOrderAnnouncement / onlineCheckoutAnnouncement /
5
+ * onlineOrderNoteHidden / onlineOrderNoteRequired / onlineOrderNotePlaceholder
6
+ * 沿用店家預設。
7
+ * - onlineCustomerName* / onlineCustomerPhone* / onlineReserveEnabled /
8
+ * onlineStoreDeliveryEnabled 不沿用店家的外帶/外送設定,使用內用桌
9
+ * 系統預設(不顯示、選填、不開放);onlineAvailableReservedDays 仍沿用
10
+ * Store 的預訂天數上限,只有 profile 明確覆寫時才改變。
11
+ * - soImmediatePickupDisabled / soReserveMinDays
12
+ * 缺少欄位時沿用店家有效值;店家缺少欄位時分別視為 false / 0。
13
+ */
14
+ export declare type OnlineTableOrderOverride = Partial<Pick<Store, 'onlineOrderAnnouncement' | 'onlineCheckoutAnnouncement' | 'onlineCustomerNameDisplay' | 'onlineCustomerNameRequired' | 'onlineCustomerPhoneDisplay' | 'onlineCustomerPhoneRequired' | 'onlineOrderNoteHidden' | 'onlineOrderNoteRequired' | 'onlineOrderNotePlaceholder' | 'onlineReserveEnabled' | 'onlineAvailableReservedDays' | 'soImmediatePickupDisabled' | 'soReserveMinDays' | 'onlineStoreDeliveryEnabled'>>;
15
+ /**
16
+ * 獨立儲存的桌邊點餐群組。tableIds 只供管理端呈現;公開查詢以 assignment item 為準。
17
+ */
18
+ export interface OnlineTableOrderProfile extends OnlineTableOrderOverride {
19
+ id: string;
20
+ storeId: string;
21
+ name: string;
22
+ tableIds: string[];
23
+ createdAt: number;
24
+ updatedAt: number;
25
+ }
26
+ export declare type OnlineTableOrderProfileInput = Omit<OnlineTableOrderProfile, 'id' | 'createdAt' | 'updatedAt'>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=online-table-order-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"online-table-order-profile.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/online-table-order-profile.ts"],"names":[],"mappings":""}
package/models/store.d.ts CHANGED
@@ -181,6 +181,18 @@ export interface Store {
181
181
  * 關閉訂單備註輸入
182
182
  */
183
183
  onlineOrderNoteHidden?: boolean;
184
+ /** 線上點餐訂單備註必填 */
185
+ onlineOrderNoteRequired?: boolean;
186
+ /** 線上點餐訂單備註 placeholder */
187
+ onlineOrderNotePlaceholder?: MultiLanguageText;
188
+ /** 線上點餐顧客姓名顯示覆寫值;未設定時依服務類型使用系統預設。 */
189
+ onlineCustomerNameDisplay?: boolean;
190
+ /** 線上點餐顧客姓名必填覆寫值;未設定時依服務類型使用系統預設。 */
191
+ onlineCustomerNameRequired?: boolean;
192
+ /** 線上點餐顧客電話顯示覆寫值;未設定時依服務類型使用系統預設。 */
193
+ onlineCustomerPhoneDisplay?: boolean;
194
+ /** 線上點餐顧客電話必填覆寫值;未設定時依服務類型使用系統預設。 */
195
+ onlineCustomerPhoneRequired?: boolean;
184
196
  /**
185
197
  * 關閉訂單品項備註輸入
186
198
  */
@@ -211,11 +223,15 @@ export interface Store {
211
223
  * 線上點餐預計等待時間(分)
212
224
  */
213
225
  onlineEstimatedReadyForPickupTime?: number;
214
- /** 線上點餐開放預訂 */
226
+ /** 線上點餐開放預訂;此為外帶/外送設定,內用桌不沿用,見 OnlineTableOrderOverride。 */
215
227
  onlineReserveEnabled?: boolean;
216
- /** 線上點餐開放預訂天數 */
228
+ /** 線上點餐開放預訂天數;此為外帶/外送設定,內用桌不沿用,見 OnlineTableOrderOverride。 */
217
229
  onlineAvailableReservedDays?: number;
218
- /** 線上點餐開放外送 */
230
+ /** 線上點餐停用立即取餐;undefined / false 均表示可立即取餐。 */
231
+ soImmediatePickupDisabled?: boolean;
232
+ /** 最少提前預訂天數;undefined / 0 均表示可從今天起預訂。 */
233
+ soReserveMinDays?: number;
234
+ /** 線上點餐開放外送;此為外帶/外送設定,內用桌不沿用,見 OnlineTableOrderOverride。 */
219
235
  onlineStoreDeliveryEnabled?: boolean;
220
236
  /** 線上點餐外送費 */
221
237
  onlineStoreDeliveryCharge?: number;
@@ -271,6 +287,10 @@ export interface Store {
271
287
  onlineStoreCouponsEnabled?: boolean;
272
288
  /** 加入購物車時,是否與相同品相合併 */
273
289
  onlineMergeSameItem?: boolean;
290
+ /** 線上點餐是否顯示商品剩餘可售數量 */
291
+ onlineShowRemainingQty?: boolean;
292
+ /** 剩餘可售數量小於等於此值才顯示;null/undefined 代表有追蹤數量就顯示 */
293
+ onlineShowRemainingQtyThreshold?: number | null;
274
294
  /** 內用服務費 1~100(%) undefined為關閉 */
275
295
  dineInServiceChargePercent?: number;
276
296
  /** 外帶服務費 1~100(%) undefined為關閉 */
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/store.ts"],"names":[],"mappings":";;;AAEA,oCAAkJ;AAoTlJ,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,kDAAiC,CAAA;AACnC,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/store.ts"],"names":[],"mappings":";;;AAEA,oCAAkJ;AAwUlJ,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,kDAAiC,CAAA;AACnC,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trusted-solutions/sdit.models",
3
- "version": "0.66.0-alpha.5",
3
+ "version": "0.66.0-alpha.9",
4
4
  "description": "TODO: Give a short introduction of your project. Let this section explain the objectives or the motivation behind this project.",
5
5
  "main": "index.js",
6
6
  "scripts": {