@trusted-solutions/sdit.models 0.63.0-alpha.5 → 0.64.0-alpha.1

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.
@@ -193,6 +193,14 @@ export interface SOGetStoreInfoResponse {
193
193
  */
194
194
  brandNo?: string;
195
195
  brand?: any;
196
+ /**
197
+ * 會員功能
198
+ */
199
+ storeMemberEnabled?: boolean;
200
+ /**
201
+ * 優惠券功能
202
+ */
203
+ storeCouponsEnabled?: boolean;
196
204
  /** 加入購物車時,是否與相同品相合併 */
197
205
  mergeSameItem?: boolean;
198
206
  /** 內用服務費 1~100(%) undefined為關閉 */
@@ -204,7 +212,7 @@ export interface SOGetStoreInfoResponse {
204
212
  * "subtotal": serviceCharge = (subtotal * servicePercent)
205
213
  * "subtotal+discount": serviceCharge = ((subtotal+discount) * servicePercent)
206
214
  */
207
- serviceBase?: "subtotal" | "subtotal+discount";
215
+ serviceBase?: 'subtotal' | 'subtotal+discount';
208
216
  /**
209
217
  * LINE LIFF app id,用於 LIFF 初始化
210
218
  * 由店家/品牌設定,無值時不初始化 LIFF
@@ -257,6 +265,41 @@ export interface SOGetMyMemberCouponsRequest {
257
265
  }
258
266
  export interface SOGetMyMemberCouponsResponse extends MultipleItems<SOMemberCoupon> {
259
267
  }
268
+ /**
269
+ * `GET /online-ordering/v4/private/member/overview` 的對外請求格式
270
+ */
271
+ export interface SOGetMyMemberOverviewRequest {
272
+ }
273
+ /**
274
+ * 線上點餐對外會員概要 DTO
275
+ * 目前欄位對齊 POSKY CRM overview
276
+ */
277
+ export interface SOMemberOverview {
278
+ memberNo: string;
279
+ memberPoolNo: string;
280
+ idpSub: string | null;
281
+ name: string;
282
+ birthday: string | null;
283
+ gender: number | null;
284
+ email: string | null;
285
+ phoneNumber: string | null;
286
+ address: string | null;
287
+ carrier: string | null;
288
+ totalPoints: number;
289
+ expiringPoints: number;
290
+ expirationDatetime: string | null;
291
+ }
292
+ /**
293
+ * `GET /online-ordering/v4/private/member/overview` 的對外回傳格式
294
+ * 未入會時回 `{ isMember: false, member: null }`
295
+ * 系統異常走既有 API 錯誤流程,不包成 200 回傳
296
+ */
297
+ export interface SOGetMyMemberOverviewResponse {
298
+ /** 目前登入者是否已加入該品牌會員池 */
299
+ isMember: boolean;
300
+ /** 已入會時回會員資料,否則為 null */
301
+ member: SOMemberOverview | null;
302
+ }
260
303
  /*******************************/
261
304
  /*******************************/
262
305
  export interface SOValidateMutationRequest {
@@ -325,8 +368,8 @@ export interface SOValidateMutationResponse {
325
368
  */
326
369
  usedPoints?: number;
327
370
  /**
328
- * 本次折抵金額
329
- */
371
+ * 本次折抵金額
372
+ */
330
373
  pointsDiscountAmount?: number;
331
374
  /** 點數異常訊息 */
332
375
  pointsErrorMsg?: string;
@@ -18,3 +18,4 @@ export * from './chain';
18
18
  export * from './real-time-switch';
19
19
  export * from './custom-analysis-group';
20
20
  export * from './import-data';
21
+ export * from './item-availability';
@@ -21,4 +21,5 @@ tslib_1.__exportStar(require("./chain"), exports);
21
21
  tslib_1.__exportStar(require("./real-time-switch"), exports);
22
22
  tslib_1.__exportStar(require("./custom-analysis-group"), exports);
23
23
  tslib_1.__exportStar(require("./import-data"), exports);
24
+ tslib_1.__exportStar(require("./item-availability"), exports);
24
25
  //# 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"}
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"}
@@ -94,6 +94,12 @@ export interface CreateOrderRequest {
94
94
  storeId: string;
95
95
  item: Order;
96
96
  }
97
+ export interface BuyerInvoicePreference {
98
+ buyerId: string | null;
99
+ loveCode: string | null;
100
+ carrierId: string | null;
101
+ carrierType: InvoiceCarrierType;
102
+ }
97
103
  export interface AttachPaymentRequest {
98
104
  storeId: string;
99
105
  orderId: string;
@@ -102,13 +108,8 @@ export interface AttachPaymentRequest {
102
108
  item: OrderPayment;
103
109
  /** 櫃檯、自助結帳機結帳 */
104
110
  unpaid?: boolean;
105
- /** POS開立發票 */
106
- posInvoiceConfig?: {
107
- buyerId: string | null;
108
- loveCode: string | null;
109
- carrierId: string | null;
110
- carrierType: InvoiceCarrierType;
111
- };
111
+ /** 發票由POS開立時,消費者選擇的統編、捐贈碼或載具偏好 */
112
+ buyerInvoicePreference?: BuyerInvoicePreference;
112
113
  }
113
114
  export interface RegisterIssueInvoiceRequest {
114
115
  storeId: string;
@@ -0,0 +1,17 @@
1
+ export declare type ItemAvailabilityTargetType = 'Product' | 'ProductAttribute';
2
+ export interface ItemAvailabilityTarget {
3
+ type: ItemAvailabilityTargetType;
4
+ id: string;
5
+ }
6
+ export interface GetItemAvailabilityRequest {
7
+ storeId: string;
8
+ }
9
+ export interface BatchUpdateItemAvailabilityRequest extends ItemAvailabilityTarget {
10
+ soldOutUntil?: number | null;
11
+ defQty?: number | null;
12
+ qty?: number | null;
13
+ }
14
+ export interface BatchUpdateItemAvailabilityBatchRequest {
15
+ storeId: string;
16
+ items: BatchUpdateItemAvailabilityRequest[];
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=item-availability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-availability.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/request/item-availability.ts"],"names":[],"mappings":""}
@@ -15,3 +15,4 @@ export * from './printer';
15
15
  export * from './closing';
16
16
  export * from './chain';
17
17
  export * from './custom-analysis-group';
18
+ export * from './item-availability';
@@ -18,4 +18,5 @@ tslib_1.__exportStar(require("./printer"), exports);
18
18
  tslib_1.__exportStar(require("./closing"), exports);
19
19
  tslib_1.__exportStar(require("./chain"), exports);
20
20
  tslib_1.__exportStar(require("./custom-analysis-group"), exports);
21
+ tslib_1.__exportStar(require("./item-availability"), exports);
21
22
  //# 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"}
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"}
@@ -0,0 +1,13 @@
1
+ import { ItemAvailabilityTargetType } from '../request/item-availability';
2
+ export interface ItemAvailabilityView {
3
+ type: ItemAvailabilityTargetType;
4
+ id: string;
5
+ soldOutUntil: number | null;
6
+ defQty: number | null;
7
+ qty: number | null;
8
+ }
9
+ export interface GetItemAvailabilityResponse {
10
+ items: ItemAvailabilityView[];
11
+ }
12
+ export interface BatchUpdateItemAvailabilityResponse {
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=item-availability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-availability.js","sourceRoot":"","sources":["../../../../projects/sdit-model-lib/src/lambda/response/item-availability.ts"],"names":[],"mappings":""}
@@ -182,6 +182,8 @@ export interface SOUnavailableCartItem {
182
182
  * 品項名稱
183
183
  */
184
184
  menuItemName: string;
185
+ /** 等效可售量;falsy 視為 0 並移除,數量不足時回目前 qty。 */
186
+ qty?: number;
185
187
  }
186
188
  export declare enum SOUnavailableCartItemReasonCode {
187
189
  soldOut = "soldOut",
@@ -1 +1 @@
1
- {"version":3,"file":"online-ordering.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/online-ordering.ts"],"names":[],"mappings":";;;AAeA,IAAY,gBAmBX;AAnBD,WAAY,gBAAgB;IAC1B,YAAY;IACZ,qDAAiC,CAAA;IACjC,eAAe;IACf,iEAA6C,CAAA;IAC7C,WAAW;IACX,+CAA2B,CAAA;IAC3B,aAAa;IACb,mDAA+B,CAAA;IAC/B,YAAY;IACZ,uDAAmC,CAAA;IACnC,gBAAgB;IAChB,uDAAmC,CAAA;IACnC,YAAY;IACZ,6DAAyC,CAAA;IACzC,YAAY;IACZ,2DAAuC,CAAA;IACvC,cAAc;IACd,2DAAuC,CAAA;AACzC,CAAC,EAnBW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAmB3B;AAoED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,mCAAiB,CAAA;AACnB,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB;AAuHD,IAAY,+BAGX;AAHD,WAAY,+BAA+B;IACzC,sDAAmB,CAAA;IACnB,kEAA+B,CAAA;AACjC,CAAC,EAHW,+BAA+B,GAA/B,uCAA+B,KAA/B,uCAA+B,QAG1C;AAuCD,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;AACvB,CAAC,EANW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAMvB"}
1
+ {"version":3,"file":"online-ordering.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/online-ordering.ts"],"names":[],"mappings":";;;AAeA,IAAY,gBAmBX;AAnBD,WAAY,gBAAgB;IAC1B,YAAY;IACZ,qDAAiC,CAAA;IACjC,eAAe;IACf,iEAA6C,CAAA;IAC7C,WAAW;IACX,+CAA2B,CAAA;IAC3B,aAAa;IACb,mDAA+B,CAAA;IAC/B,YAAY;IACZ,uDAAmC,CAAA;IACnC,gBAAgB;IAChB,uDAAmC,CAAA;IACnC,YAAY;IACZ,6DAAyC,CAAA;IACzC,YAAY;IACZ,2DAAuC,CAAA;IACvC,cAAc;IACd,2DAAuC,CAAA;AACzC,CAAC,EAnBW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAmB3B;AAoED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,mCAAiB,CAAA;AACnB,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB;AAyHD,IAAY,+BAGX;AAHD,WAAY,+BAA+B;IACzC,sDAAmB,CAAA;IACnB,kEAA+B,CAAA;AACjC,CAAC,EAHW,+BAA+B,GAA/B,uCAA+B,KAA/B,uCAA+B,QAG1C;AAuCD,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;AACvB,CAAC,EANW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAMvB"}
package/models/store.d.ts CHANGED
@@ -207,6 +207,8 @@ export interface Store {
207
207
  onlineReserveEnabled?: boolean;
208
208
  /** 線上點餐開放預訂天數 */
209
209
  onlineAvailableReservedDays?: number;
210
+ /** 預訂單在幾小時內會檢查並扣減目前可售數量,未設定時預設 12 小時 */
211
+ qtyCommitmentHours?: number;
210
212
  /** 線上點餐開放外送 */
211
213
  onlineStoreDeliveryEnabled?: boolean;
212
214
  /** 線上點餐外送費 */
@@ -251,9 +253,11 @@ export interface Store {
251
253
  /** 品牌 */
252
254
  brandNo?: string;
253
255
  brand?: Brand;
254
- storePointsEnabled?: boolean;
255
- storePointsProvider?: PointProvider;
256
- storePointsName?: string;
256
+ /**
257
+ * 優惠券功能
258
+ * 單店設定,此外Brand目前沒有這個設定
259
+ */
260
+ onlineStoreCouponsEnabled?: boolean;
257
261
  /** 加入購物車時,是否與相同品相合併 */
258
262
  onlineMergeSameItem?: boolean;
259
263
  /** 內用服務費 1~100(%) undefined為關閉 */
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../projects/sdit-model-lib/src/models/store.ts"],"names":[],"mappings":";;;AAEA,oCAAmH;AAoSnH,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,oCAAmH;AAySnH,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.63.0-alpha.5",
3
+ "version": "0.64.0-alpha.1",
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": {