@lemoncloud/ssocio-stacks-api 0.23.313 → 0.23.316

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.
@@ -11,12 +11,12 @@
11
11
  */
12
12
  import { CoreModel, NextIdentityAccess } from 'lemon-model';
13
13
  import { CategoryNode } from '../lib/categories-types';
14
- import { BillingType, DeviceType, DiscountType, GenderType, MonthType, PaymentType, ProdStereoType, ProgramStartType, RefundType, ServiceStatus, ComissionRate, PeriodInfo, DayOfTheWeekPolicy, BaseTimeType, FirmStereoType } from './backend-types';
14
+ import { BillingType, DeviceType, DiscountType, GenderType, MonthType, PaymentType, ProductStereoType, ProgramStartType, RefundType, ServiceStatus, ComissionRate, PeriodInfo, DayOfTheWeekPolicy, BaseTimeType, FirmStereoType, TimeBlock, ManagementStereoType, CategoryStereoType, GuideLine } from './backend-types';
15
15
  /**
16
16
  * type: model-type
17
17
  * - use this type to make pkey per data.
18
18
  */
19
- export declare type ModelType = 'category' | 'program' | 'payment' | 'cancel' | 'display' | 'period' | 'time' | 'push' | 'bank' | 'operator' | 'firm' | 'test' | 'mock';
19
+ export declare type ModelType = 'category' | 'program' | 'payment' | 'cancel' | 'display' | 'application' | 'push' | 'bank' | 'operator' | 'firm' | 'test' | 'mock';
20
20
  /**
21
21
  * type: `Model`: common model
22
22
  */
@@ -33,6 +33,8 @@ export interface Codable {
33
33
  * - 카테고리 모델
34
34
  */
35
35
  export interface CategoryModel extends Model, CategoryNode {
36
+ /** stereo of category */
37
+ stereo?: CategoryStereoType;
36
38
  /** 상위 부모의 ID */
37
39
  parent?: string;
38
40
  /** 상위 부모의 Name */
@@ -45,6 +47,12 @@ export interface CategoryModel extends Model, CategoryNode {
45
47
  images?: string[];
46
48
  /** 카테고리 (메뉴) 페이지 설명 */
47
49
  desc?: string;
50
+ /** 카테고리 (메뉴) 이용 안내 */
51
+ guideLines?: GuideLine[];
52
+ /** 카테고리 (메뉴) 연결 연락처 */
53
+ phone?: string;
54
+ /** 카테고리 (메뉴) 연결 링크 */
55
+ link?: string;
48
56
  /** 카테고리 (메뉴) 탭 메뉴 ex) ['키즈 프로그램', '여성 프로그램'] */
49
57
  tapMenu?: string[];
50
58
  /** 카테고리 보여주기 순서 */
@@ -64,22 +72,18 @@ export interface ProdUniqueCode {
64
72
  categoryNames?: string[];
65
73
  /** path of parent Category */
66
74
  categoryPaths?: string[];
75
+ /** 운영 월 */
76
+ operateDate?: string;
67
77
  /** 운영요일 (ex: 목,금,토) */
68
78
  operateDayOfTheWeek?: string;
69
- /** 운영 시작 시간 (HH-MM) */
70
- operateStartTime?: string;
71
- /** 운영 종료 시간 (HH-MM) */
72
- operateEndTime?: string;
73
- /** 프로그램 시작일 (YYYY-MM-DD) */
74
- startDay?: string;
75
- /** 프로그램 종료일 (YYYY-MM-DD) */
76
- endDay?: string;
77
- /** 1회 운영 시간 */
78
- hoursPerClass?: number;
79
+ /** 운영시간 */
80
+ operateTimes?: TimeBlock[];
79
81
  /** 반복 설정 */
80
82
  periodic?: string;
81
83
  /** 세분화 코드 (stereo: 세분 생성) */
82
84
  segmentCodes?: string[];
85
+ /** 세분 시간 선택 */
86
+ segmentTimes?: string[];
83
87
  }
84
88
  /**
85
89
  * Type : `ProgramModel`
@@ -89,13 +93,17 @@ export interface ProgramModel extends Model, ProdUniqueCode {
89
93
  /** id: <auto-seq> */
90
94
  id?: string;
91
95
  /** stereo (단일, 세분) */
92
- stereo?: ProdStereoType;
96
+ stereo?: ProductStereoType;
93
97
  /** name of program */
94
98
  name?: string;
99
+ /** 목록 노출 여부 (must be isDisplay=1) */
100
+ isDisplay?: number;
101
+ /** 업체/강사 관리 이용 여부 */
102
+ useOperator?: number;
95
103
  /** 푸쉬 관리 이용 여부 (1: 사용, 0: 사용안함) */
96
104
  usePushNotification?: number;
97
- /** 수강인원 제한 (1: 제한 사용, 0: 사용안함) */
98
- useNumOfPeopleLimit?: number;
105
+ /** 프로그램 수강 시간 */
106
+ courseTime?: TimeBlock;
99
107
  /** 프로그램 수용 최소 인원 */
100
108
  minNumOfPeople?: number;
101
109
  /** 프로그램 수용 최대 인원 */
@@ -108,6 +116,8 @@ export interface ProgramModel extends Model, ProdUniqueCode {
108
116
  maxAge?: number;
109
117
  /** 안내사항 */
110
118
  description?: string;
119
+ /** 옵션 상품 분류 */
120
+ optionType?: string;
111
121
  /** 옵션 상품 */
112
122
  option?: string;
113
123
  /** 이미지 사용 여부 */
@@ -120,8 +130,10 @@ export interface ProgramModel extends Model, ProdUniqueCode {
120
130
  facilitySize?: number;
121
131
  /** 시설 설명 */
122
132
  facilityDesc?: string;
123
- /** (optional) 요일 정책 (stereo = 단일 생성) */
124
- dayOfTheWeekPolicy?: string[];
133
+ /** 프로그램 시작일 (YYYY-MM-DD) */
134
+ startDay?: string;
135
+ /** 프로그램 종료일 (YYYY-MM-DD) */
136
+ endDay?: string;
125
137
  /** 자동 연장 사용 여부 */
126
138
  useAutoExtend?: number;
127
139
  /** 결제 방식등록 id */
@@ -136,14 +148,10 @@ export interface ProgramModel extends Model, ProdUniqueCode {
136
148
  displayId?: string;
137
149
  /** 노출 관리 모델 */
138
150
  display$?: DisplayModel;
139
- /** 프로그램 기간 신청 관리 id */
140
- periodId?: string;
141
- /** 프로그램 기간 신청 관리 모델 */
142
- period$?: PeriodEnrollModel;
143
- /** 프로그램 시간 신청 관리 id */
144
- timeId?: string;
145
- /** 프로그램 시간 신청 관리 모델 */
146
- time$?: TimeEnrollModel;
151
+ /** 프로그램 신청 관리 모델 id*/
152
+ applicationId?: string;
153
+ /** 프로그램 신청 관리 모델 */
154
+ application$?: ApplicationManagementModel;
147
155
  /** 푸쉬 관리 id */
148
156
  pushId?: string;
149
157
  /** 푸쉬 관리 모델 */
@@ -170,8 +178,8 @@ export interface PaymentHead {
170
178
  export interface PaymentModel extends PaymentHead {
171
179
  /** 세대원 선택 여부 */
172
180
  useTenant?: number;
173
- /** 추가정책 */
174
- addPolicies?: string[];
181
+ /** 이용 약관 */
182
+ termsOfUse?: GuideLine[];
175
183
  /** 결제방식 */
176
184
  paymentMethod?: PaymentType;
177
185
  /** 할인 종류 */
@@ -181,65 +189,6 @@ export interface PaymentModel extends PaymentHead {
181
189
  /** 해당 부가월 */
182
190
  targetMonth?: MonthType;
183
191
  }
184
- /**
185
- * Type: `PeriodEnrollHead`
186
- */
187
- export interface PeriodEnrollHead {
188
- /** auto sequence */
189
- id?: string;
190
- /** id of parent */
191
- programId?: string;
192
- /** 월권 신청 사용 여부 (1: 사용함, 0: 사용안함) */
193
- useMonthly?: number;
194
- /** 일권 신청 사용 여부 (1: 사용함, 0: 사용안함) */
195
- useDaily?: number;
196
- }
197
- /**
198
- * Type: `PeriodEnrollModel`
199
- * - 프로그램 기간 신청 관리 모델
200
- */
201
- export interface PeriodEnrollModel extends PeriodEnrollHead {
202
- /** 월권 금액 (원) */
203
- monthlyPrice?: number;
204
- /** 월권 시작일자 타입 */
205
- monthlyStartType?: ProgramStartType;
206
- /**
207
- * 월권 예약 가능 일자
208
- * - 월권 시작 일자 타입이 오늘 기준일 경우.
209
- * - 오늘 날짜 + 월권 예약 가능 일자까지 예약 가능하게 됨.
210
- */
211
- monthlyAvailableReserveDate?: number;
212
- /** 월권 시작일자 정보
213
- * - 월권 시작 일자 타입이 기간 설정일 경우.
214
- */
215
- monthlyStartDate?: PeriodInfo;
216
- /** 월권 예약 기간 정보 */
217
- monthlyReservePeriod?: PeriodInfo;
218
- /** 우선 등록 여부 (1: 사용함, 0: 사용안함) */
219
- useEarlyRegister?: number;
220
- /** 우선 등록 시작 일자 */
221
- earlyRegisterPeriod?: PeriodInfo;
222
- /** 자동 연장 사용 여부 (1: 사용함, 0: 사용안함) */
223
- useAutoExtension?: number;
224
- /** 일권 금액 (원) */
225
- dailyPrice?: number;
226
- /** 일권 시작일자 타입 */
227
- dailyStartType?: ProgramStartType;
228
- /**
229
- * 일권 예약 가능 일자
230
- * - 일권 시작 일자 타입이 오늘 기준일 경우.
231
- * - 오늘 날짜 + 일권 예약 가능 일자까지 예약 가능하게 됨.
232
- */
233
- dailyAvailableReserveDate?: number;
234
- /** 일권 시작 일자 정보
235
- * - 일권 시작일자 타입이 기간 설정일 경우.
236
- */
237
- dailyStartDate?: PeriodInfo;
238
- /** 일권 예약 가능 범위 (일) */
239
- availableReserveRange?: number;
240
- /** 일권 예약 불가 범위 (일) */
241
- inAvailableReserveRange?: number;
242
- }
243
192
  /**
244
193
  * Type: `CancelHead`
245
194
  */
@@ -315,52 +264,104 @@ export interface DisplayModel extends DisplayHead {
315
264
  tapMenu?: string[];
316
265
  }
317
266
  /**
318
- * Type: `TimeEnrollHead`
267
+ * Type: `ApplicationManagementHead`
319
268
  */
320
- export interface TimeEnrollHead {
269
+ export interface ApplicationManagementHead {
321
270
  /** auto-sequence */
322
271
  id?: string;
323
272
  /** parent program model id */
324
273
  programId?: string;
325
274
  }
326
275
  /**
327
- * Type: `TimeEnrollModel`
328
- * - 시간 신청 관리 모델
276
+ * Type: `ApplicationManagementModel`
277
+ * - 신청 관리 모델.
278
+ * - stereo type에 따라, 기간, 시간, 쿠폰 신청 관리 모델로 나뉨.
279
+ * - 쿠폰 구현 x
329
280
  */
330
- export interface TimeEnrollModel extends TimeEnrollHead {
331
- /** 금액 */
332
- price?: number;
333
- /** 예약 가능 일자 타입 */
334
- reserveType?: ProgramStartType;
281
+ export interface ApplicationManagementModel extends Model, ApplicationManagementHead {
282
+ /** stereo */
283
+ stereo?: ManagementStereoType;
284
+ /** 기간 신청 관리 - 월권 신청 사용 여부 (1: 사용함, 0: 사용안함) */
285
+ useMonthly?: number;
286
+ /** 기간 신청 관리 - 일권 신청 사용 여부 (1: 사용함, 0: 사용안함) */
287
+ useDaily?: number;
288
+ /** 기간 신청 관리 - 월권 금액 (원) */
289
+ monthlyPrice?: number;
290
+ /** 기간 신청 관리 - 월권 시작일자 타입 */
291
+ monthlyStartType?: ProgramStartType;
335
292
  /**
336
- * 예약 가능 일자
293
+ * 기간 신청 관리 - 월권 예약 가능 일자
294
+ * - 월권 시작 일자 타입이 오늘 기준일 경우.
295
+ * - 오늘 날짜 + 월권 예약 가능 일자까지 예약 가능하게 됨.
296
+ */
297
+ monthlyAvailableReserveDate?: number;
298
+ /**
299
+ * 기간 신청 관리 - 월권 시작일자 정보
300
+ * - 월권 시작 일자 타입이 기간 설정일 경우.
301
+ */
302
+ monthlyStartDate?: PeriodInfo;
303
+ /** 기간 신청 관리 - 월권 예약 기간 정보 */
304
+ monthlyReservePeriod?: PeriodInfo;
305
+ /** 기간 신청 관리 - 우선 등록 여부 (1: 사용함, 0: 사용안함) */
306
+ useEarlyRegister?: number;
307
+ /** 기간 신청 관리 - 우선 등록 기간 정보 */
308
+ earlyRegisterPeriod?: PeriodInfo;
309
+ /** 기간 신청 관리 - 자동 연장 사용 여부 (1: 사용함, 0: 사용안함) */
310
+ useAutoExtension?: number;
311
+ /** 기간 신청 관리 - 자동 연장 기간 정보 */
312
+ autoExtensionPeriod?: PeriodInfo;
313
+ /** 기간 신청 관리 - 일권 금액 (원) */
314
+ dailyPrice?: number;
315
+ /** 기간 신청 관리 - 일권 시작일자 타입 */
316
+ dailyStartType?: ProgramStartType;
317
+ /**
318
+ * 기간 신청 관리 - 일권 예약 가능 일자
319
+ * - 일권 시작 일자 타입이 오늘 기준일 경우.
320
+ * - 오늘 날짜 + 일권 예약 가능 일자까지 예약 가능하게 됨.
321
+ */
322
+ dailyAvailableReserveDate?: number;
323
+ /** 기간 신청 관리 - 일권 시작 일자 정보
324
+ * - 일권 시작일자 타입이 기간 설정일 경우.
325
+ */
326
+ dailyStartDate?: PeriodInfo;
327
+ /** 기간 신청 관리 - 일권 예약 가능 범위 (일) */
328
+ dailyAvailableReserveRange?: number;
329
+ /** 기간 신청 관리 - 일권 예약 불가 범위 (일) */
330
+ dailyInAvailableReserveRange?: number;
331
+ /** 시간 신청 관리 - 시간 신청 관리 금액 (원) */
332
+ timePrice?: number;
333
+ /** 시간 신청 관리 - 예약 가능 일자 타입 */
334
+ timeReserveType?: ProgramStartType;
335
+ /**
336
+ * 시간 신청 관리 - 예약 가능 일자
337
337
  * - 예약 가능 일자 타입이 오늘 기준(today)일 경우.
338
338
  * - 오늘 날짜 + 예약 가능 일자까지 예약 가능하게 됨.
339
339
  */
340
- availableReserveDate?: number;
341
- /** 예약 가능 기간 정보.
340
+ timeAvailableReserveDate?: number;
341
+ /**
342
+ * 시간 신청 관리 - 예약 가능 기간 정보.
342
343
  * - 예약 가능 일자 타입이 기간 설정(period)일 경우.
343
344
  */
344
- availableReservePeriod?: PeriodInfo;
345
- /** 예약 가능 범위 기준 (시간 or 분) */
346
- baseOfReserveAvailableRange?: BaseTimeType;
347
- /** 예약 가능 범위 */
348
- reserveAvailableRange?: number;
349
- /** 시간 간격 기준 (시간 or 분) */
350
- baseOfTimeInterval?: BaseTimeType;
351
- /** 시간 간격 */
345
+ timeAvailableReservePeriod?: PeriodInfo;
346
+ /** 시간 신청 관리 - 예약 가능 범위 기준 (시간 or 분) */
347
+ timeBaseOfReserveAvailableRange?: BaseTimeType;
348
+ /** 시간 신청 관리 - 예약 가능 범위 */
349
+ timeReserveAvailableRange?: number;
350
+ /** 시간 신청 관리 - 시간 간격 기준 (시간 or 분) */
351
+ timeBaseOfTimeInterval?: BaseTimeType;
352
+ /** 시간 신청 관리 - 시간 간격 */
352
353
  timeInterval?: number;
353
- /** 예약 불가 범위 간격 기준 (시간 or 분) */
354
- baseOfReserveInAvailableRange?: BaseTimeType;
355
- /** 예약 불가 범위 (Today 기준) */
356
- reserveInAvailableRange?: number;
357
- /** 시간 제한 사용 여부 */
354
+ /** 시간 신청 관리 - 예약 불가 범위 간격 기준 (시간 or 분) */
355
+ timeBaseOfReserveInAvailableRange?: BaseTimeType;
356
+ /** 시간 신청 관리 - 예약 불가 범위 (Today 기준) */
357
+ timeReserveInAvailableRange?: number;
358
+ /** 시간 신청 관리 - 시간 제한 사용 여부 */
358
359
  useTimeLimit?: number;
359
- /** 시간 제한 (시간 범위) */
360
- timeLimits?: PeriodInfo[];
361
- /** 요일 정책 사용 여부 */
360
+ /** 시간 신청 관리 - 시간 제한 (시간 범위) */
361
+ timeLimits?: TimeBlock[];
362
+ /** 시간 신청 관리 - 요일 정책 사용 여부 */
362
363
  useDayOfTheWeekPolicy?: number;
363
- /** 요일 정책 */
364
+ /** 시간 신청 관리 - 요일 정책 */
364
365
  dayOfTheWeekPolicies?: DayOfTheWeekPolicy[];
365
366
  }
366
367
  /**
@@ -513,8 +514,7 @@ export declare const $FIELD: {
513
514
  payment: string[];
514
515
  cancel: string[];
515
516
  display: string[];
516
- period: string[];
517
- time: string[];
517
+ application: string[];
518
518
  push: string[];
519
519
  bank: string[];
520
520
  operator: string[];
@@ -8,7 +8,7 @@
8
8
  * Copyright (C) 2023 LemonCloud Co Ltd. - All Rights Reserved.
9
9
  */
10
10
  import { NextIdentity, SimpleSet } from 'lemon-model';
11
- import { PaginateParam } from '../cores';
11
+ import { PaginateParam } from '../cores/types';
12
12
  export { SimpleSet };
13
13
  /**
14
14
  * type: `SessionToken`
@@ -87,6 +87,15 @@ export declare type PeriodInfo = {
87
87
  /** endTime: 마감 시간 */
88
88
  endTime?: string;
89
89
  };
90
+ /**
91
+ * type: `TimeBlock`
92
+ */
93
+ export declare type TimeBlock = {
94
+ /** T1: 시작 시간 */
95
+ T1: string;
96
+ /** T2: 마감 시간 */
97
+ T2: string;
98
+ };
90
99
  /**
91
100
  * type: `DayOfTheWeekPolicy`
92
101
  * - 프로그램 등록에서 시간 신청 관리시, 요일 정책 추가를 위해 사용됨.
@@ -97,6 +106,16 @@ export declare type DayOfTheWeekPolicy = {
97
106
  /** price: 가격 */
98
107
  price?: number;
99
108
  };
109
+ /**
110
+ * type: `GuideLine`
111
+ * - 카테고리 등록 시, 이용 안내 추가를 위해 사용됨.
112
+ */
113
+ export declare type GuideLine = {
114
+ /** title: 타이틀 */
115
+ title?: string;
116
+ /** desc: 설명 */
117
+ desc?: string;
118
+ };
100
119
  /**
101
120
  * Lookup Table
102
121
  */
@@ -114,13 +133,29 @@ export declare const $LUT: {
114
133
  /** Chinese */
115
134
  cn: string;
116
135
  };
136
+ /** Category Stereo Type (카테고리 타입) */
137
+ CategoryStereo: {
138
+ /** 프로그램 */
139
+ program: string;
140
+ /** 좌석 */
141
+ seat: string;
142
+ };
117
143
  /** Product Stereo Type (상품 생성 코드 타입) */
118
- ProdStereo: {
144
+ ProductStereo: {
119
145
  /** 단일 생성 */
120
146
  single: string;
121
147
  /** 세분 생성 */
122
148
  segment: string;
123
149
  };
150
+ /** Management Stereo Type (신청 관리 타입) */
151
+ ManagementStereo: {
152
+ /** 기간 신청 관리 */
153
+ period: string;
154
+ /** 시간 신청 관리 */
155
+ time: string;
156
+ /** 쿠폰 신청 관리 */
157
+ coupon: string;
158
+ };
124
159
  /**
125
160
  * 회사 유형 (stereo)
126
161
  */
@@ -236,9 +271,17 @@ export declare const $LUT: {
236
271
  };
237
272
  };
238
273
  /**
239
- * type: `ProdStereoType`
274
+ * type: `CategoryStereoType`
275
+ */
276
+ export declare type CategoryStereoType = keyof typeof $LUT.CategoryStereo;
277
+ /**
278
+ * type: `ProductStereoType`
279
+ */
280
+ export declare type ProductStereoType = keyof typeof $LUT.ProductStereo;
281
+ /**
282
+ * type: `ManagementStereoType`
240
283
  */
241
- export declare type ProdStereoType = keyof typeof $LUT.ProdStereo;
284
+ export declare type ManagementStereoType = keyof typeof $LUT.ManagementStereo;
242
285
  /**
243
286
  * type: `FirmStereoType`
244
287
  */