@lemoncloud/ssocio-stacks-api 0.23.1212 → 0.24.107

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.
@@ -101,7 +101,20 @@ export declare type TimeBlock = {
101
101
  T1: string;
102
102
  /** T2: 마감 시간 */
103
103
  T2: string;
104
+ /** index of day of week */
105
+ week?: number;
104
106
  };
107
+ /**
108
+ * type: `TimeElement$`
109
+ * - 여러 요일의 운영 시간을 저장하기 위함.
110
+ */
111
+ export interface TimeElement$ {
112
+ /**
113
+ * key := <number>
114
+ * val := TimeBlock
115
+ */
116
+ [key: number]: TimeBlock;
117
+ }
105
118
  /**
106
119
  * type: `DayOfTheWeekPolicy`
107
120
  * - 프로그램 등록에서 시간 신청 관리시, 요일 정책 추가를 위해 사용됨.
@@ -133,30 +146,6 @@ export declare type Segment = {
133
146
  /** name of zone */
134
147
  name?: string;
135
148
  };
136
- /**
137
- * type: `OrderOption`
138
- * - 옵션 주문 선택을 위한 파라미터.
139
- */
140
- export declare type OrderOption = {
141
- /** id of option-model */
142
- id?: string;
143
- /** selected count of option. */
144
- count?: number;
145
- /** (optional) total discount */
146
- discount?: number;
147
- };
148
- /**
149
- * type: `AgreedOption`
150
- * - 약관 동의 선택을 위한 파라미터
151
- */
152
- export declare type AgreedOption = {
153
- /** id of agreed-model */
154
- id?: string;
155
- /** type of agrees */
156
- type?: AgreedType;
157
- /** agreement name */
158
- name?: string;
159
- };
160
149
  /**
161
150
  * type: `User`
162
151
  * - 프로그램 예약 후, 주문자 정보를 저장하기 위함.
@@ -175,6 +164,26 @@ export interface User {
175
164
  /** ho-name (ex: 203) in address */
176
165
  addrHo?: string;
177
166
  }
167
+ /**
168
+ * type: `Instructor`
169
+ * - 최소한의 강사 정보를 저장하기 위함. (linked `ssocio2-backend-api`)
170
+ */
171
+ export interface Instructor {
172
+ /** 강사명 */
173
+ name?: string;
174
+ /** 닉네임 */
175
+ nick?: string;
176
+ /** 연락처 */
177
+ phone?: string;
178
+ /** 강사 이미지 */
179
+ images?: string[];
180
+ /** 태그 항목 */
181
+ tags?: string[];
182
+ /** 이력 정보 (TBD) */
183
+ histories?: string[];
184
+ /** id of origin */
185
+ originId?: string;
186
+ }
178
187
  /**
179
188
  * type: `Unit`
180
189
  */
@@ -194,6 +203,63 @@ export interface Unit {
194
203
  /** expired time of unit (timestamp) */
195
204
  expiredAt?: number;
196
205
  }
206
+ /**
207
+ * type: `Slot`
208
+ * - 좌석형 프로그램의 기본 인스턴스 정보.
209
+ * @see ssocio-zacs-api
210
+ */
211
+ export interface Slot {
212
+ /** 해당 슬롯의 시작 시각 정보 */
213
+ slotStartTime?: number;
214
+ /** 해당 슬롯의 종료 시각 정보 */
215
+ slotEndTime?: number;
216
+ /**
217
+ * 해당 슬롯의 시작 구간
218
+ * - ex) "20:00"
219
+ */
220
+ slotT1?: string;
221
+ /**
222
+ * 해당 슬롯의 종료 구간
223
+ * - ex) "21:00"
224
+ */
225
+ slotT2?: string;
226
+ /** 해당 날짜의 텍스트 */
227
+ fullDate?: string;
228
+ /** 해당 날짜의 요일 */
229
+ dayOfAWeek?: number;
230
+ /** 설정된 시분할 기준값 (분) */
231
+ duration?: number;
232
+ /** 해당 슬롯의 판매일 여부 */
233
+ isBusinessDay?: BoolFlag;
234
+ /** 해당 슬롯의 공휴일 여부 */
235
+ isHoliday?: BoolFlag;
236
+ /** 해당 슬롯의 할인일 여부 */
237
+ isSaleDay?: BoolFlag;
238
+ /** 해당 슬롯의 예약제한 여부 */
239
+ isDisableDay?: BoolFlag;
240
+ /** flag of invalid */
241
+ invalid?: BoolFlag;
242
+ /** (link) 시간과 매핑된 구역의 ID */
243
+ zoneId?: string;
244
+ }
245
+ /**
246
+ * type: `ProdSaleConditionType`
247
+ * - 신청관리모델에 설정된 판매 금액 및 조건을 확정하기 위한 타입 (ApplicationManagementModel)
248
+ */
249
+ export interface ProdSaleConditionType {
250
+ /** 신청관리타입 */
251
+ stereo?: ManagementStereoType;
252
+ /** 최종 산정 가격 */
253
+ prodPrice?: number;
254
+ /** (optional) 설정된 시간 분할 단위 (분) */
255
+ saleInterval?: number;
256
+ /** (optional) 최종 시간 분할 단위 (분) */
257
+ prodInterval?: number;
258
+ }
259
+ /**
260
+ * type: boolean style number.
261
+ */
262
+ export declare type BoolFlag = 0 | 1;
197
263
  /**
198
264
  * Lookup Table
199
265
  */
@@ -219,11 +285,42 @@ export declare const $LUT: {
219
285
  seat: string;
220
286
  /** 숙박 */
221
287
  room: string;
288
+ /** 이용권 */
289
+ pass: string;
222
290
  /** 옵션상품 */
223
291
  option: string;
224
292
  /** 약관설정 */
225
293
  agreed: string;
226
294
  };
295
+ /** Program Stereo Type */
296
+ ProgramStereo: {
297
+ /** 프로그램 */
298
+ program: string;
299
+ /** 좌석 */
300
+ seat: string;
301
+ /** 숙박 */
302
+ room: string;
303
+ /** 이용권 */
304
+ pass: string;
305
+ };
306
+ /**
307
+ * Seat Stereo Type
308
+ */
309
+ SeatStereoType: {
310
+ '': string;
311
+ /** 스크린골프 */
312
+ golf: string;
313
+ /** 독서실 */
314
+ reading: string;
315
+ };
316
+ /**
317
+ * Pass Stereo Type
318
+ */
319
+ PassStereoType: {
320
+ '': string;
321
+ /** 발급 */
322
+ activity: string;
323
+ };
227
324
  /** Zac Stereo Type (상품 생성 코드 타입) */
228
325
  ZacStereo: {
229
326
  /** 단일 생성 */
@@ -233,16 +330,16 @@ export declare const $LUT: {
233
330
  };
234
331
  /** Management Stereo Type (신청 관리 타입) */
235
332
  ManagementStereo: {
236
- /** 기간 신청 관리 */
333
+ /** 기간 신청 관리 (P) */
237
334
  period: string;
238
- /** 시간 신청 관리 */
239
- time: string;
240
- /** 쿠폰 신청 관리 */
241
- coupon: string;
242
- /** 매칭 상품 */
243
- match: string;
244
- /** 숙박 일정 관리 */
335
+ /** 숙박 일정 관리 (G) */
245
336
  room: string;
337
+ /** 시간 신청 관리 (O)*/
338
+ time: string;
339
+ /** 일권 신청 관리 (O) */
340
+ daily: string;
341
+ /** 월권(좌석) 신청 관리 (O) */
342
+ monthly: string;
246
343
  };
247
344
  /** Product Type (상품 타입) */
248
345
  ProductType: {
@@ -252,8 +349,19 @@ export declare const $LUT: {
252
349
  dailyPass: string;
253
350
  /** 시간권 */
254
351
  timePass: string;
255
- /** 횟수권 */
256
- countPass: string;
352
+ };
353
+ /** PassOperationType (이용권 관리 타입) */
354
+ PassOperationType: {
355
+ /** 시간권 */
356
+ timely: string;
357
+ /** 일권 */
358
+ daily: string;
359
+ /** 월권 */
360
+ monthly: string;
361
+ /** 월이용권 (횟수) */
362
+ count: string;
363
+ /** 공동부과 */
364
+ joint: string;
257
365
  };
258
366
  /** 달 (Month) */
259
367
  Month: {
@@ -376,6 +484,8 @@ export declare const $LUT: {
376
484
  };
377
485
  /** 시간 신청 관리 세부 기준 (BaseTimeType) */
378
486
  BaseTimeType: {
487
+ /** day: 일수 기준 */
488
+ day: string;
379
489
  /** hour: 시간당 기준 */
380
490
  hour: string;
381
491
  /** minute: 분 */
@@ -391,6 +501,8 @@ export declare const $LUT: {
391
501
  C: string;
392
502
  /** D type */
393
503
  D: string;
504
+ /** E type */
505
+ E: string;
394
506
  };
395
507
  /**
396
508
  * 요일 (WeekDay)
@@ -434,11 +546,45 @@ export declare const $LUT: {
434
546
  /** 수강종료 */
435
547
  finished: string;
436
548
  };
549
+ /**
550
+ * Reserve Limit Target Type
551
+ * - 예약 제한 타입
552
+ */
553
+ ReserveLimitTarget: {
554
+ /** no selection */
555
+ '': string;
556
+ /** 개인 */
557
+ individual: string;
558
+ /** 세대 */
559
+ household: string;
560
+ };
561
+ /**
562
+ * PassStateType
563
+ * - 이용권 상태 타입
564
+ */
565
+ PassStateType: {
566
+ /** 적용가능 */
567
+ canUse: string;
568
+ /** 적용불가 */
569
+ notMatch: string;
570
+ /** 재고없음 (수량) */
571
+ soldout: string;
572
+ /** 1일 사용횟수 초과 */
573
+ overDailyLimit: string;
574
+ /** 사용기간아님 */
575
+ notUsePeriod: string;
576
+ /** 권한없음 */
577
+ noPermission: string;
578
+ };
437
579
  };
438
580
  /**
439
581
  * type: `CategoryStereoType`
440
582
  */
441
583
  export declare type CategoryStereoType = keyof typeof $LUT.CategoryStereo;
584
+ /**
585
+ * type: `ProgramStereoType`
586
+ */
587
+ export declare type ProgramStereoType = keyof typeof $LUT.ProgramStereo;
442
588
  /**
443
589
  * type: `ZacStereoType`
444
590
  */
@@ -519,6 +665,26 @@ export declare type CancelPeriodType = keyof typeof $LUT.CancelPeriod;
519
665
  * type: `PushTargetType`
520
666
  */
521
667
  export declare type PushTargetType = keyof typeof $LUT.PushTarget;
668
+ /**
669
+ * type: `SeatStereoType`
670
+ */
671
+ export declare type SeatStereoType = keyof typeof $LUT.SeatStereoType;
672
+ /**
673
+ * type: `ReserveLimitTargetType`
674
+ */
675
+ export declare type ReserveLimitTargetType = keyof typeof $LUT.ReserveLimitTarget;
676
+ /**
677
+ * type: `PassStereoType`
678
+ */
679
+ export declare type PassStereoType = keyof typeof $LUT.PassStereoType;
680
+ /**
681
+ * type: `PassOperationType`
682
+ */
683
+ export declare type PassOperationType = keyof typeof $LUT.PassOperationType;
684
+ /**
685
+ * type: `PassStateType`
686
+ */
687
+ export declare type PassStateType = keyof typeof $LUT.PassStateType;
522
688
  /**
523
689
  * query param for category-list
524
690
  */
@@ -536,12 +702,20 @@ export interface CategoryListParam extends PaginateParam {
536
702
  export interface ProgramListParam extends PaginateParam {
537
703
  /** sort selection: (format: <field>:<asc|desc?>, ex: price, price:desc ) */
538
704
  sort?: 'latest' | 'popular' | 'lowPrice' | 'highPrice';
705
+ /** filter by name */
706
+ name?: string;
707
+ /** filter by date (ex: '2024-01-01') */
708
+ from?: string;
709
+ /** filter by date (ex: '2024-01-30') */
710
+ to?: string;
539
711
  /** filter by category-id */
540
712
  categoryId?: string;
541
713
  /** filter by stereo type */
542
714
  stereo?: string;
543
715
  /** filter `isDisplay` condition (default true) */
544
716
  display?: boolean | string;
717
+ /** show the detail infor (default true) */
718
+ detail?: boolean | string;
545
719
  /** include stock view */
546
720
  useStock?: boolean;
547
721
  }
@@ -551,6 +725,8 @@ export interface ProgramListParam extends PaginateParam {
551
725
  export interface OptionListParam extends PaginateParam {
552
726
  /** sort selection: (format: <field>:<asc|desc?>, ex: price, price:desc ) */
553
727
  sort?: 'latest' | 'popular' | 'lowPrice' | 'highPrice';
728
+ /** filter by name */
729
+ name?: string;
554
730
  /** filter by category-id */
555
731
  categoryId?: string;
556
732
  /** filter by stereo type */
@@ -608,6 +784,74 @@ export interface LimitListParam extends PaginateParam {
608
784
  /** filter by program-ids */
609
785
  programIds?: string[];
610
786
  }
787
+ /**
788
+ * query param for passes-list
789
+ */
790
+ export interface PassListParam extends PaginateParam {
791
+ sort?: 'latest' | 'popular';
792
+ /**
793
+ * where to view
794
+ * - main일 경우 본인 이용권만 보이도록.
795
+ */
796
+ view?: '' | 'mine';
797
+ /**
798
+ * filter by startedAt (like = "2024-06-17 00:00:00")
799
+ * - 이용가능 기간 중, 시작 시각
800
+ */
801
+ from?: string;
802
+ /**
803
+ * filter by endAt (like = "2024-06-20 23:00:00")
804
+ * - 이용가능 기간 중, 종료 시각
805
+ */
806
+ to?: string;
807
+ /** filter by user-id */
808
+ userId?: string;
809
+ /** filter by prod(program)-id
810
+ * - 상품 적용가능 여부 필터링을 위함.
811
+ */
812
+ prodId?: string;
813
+ }
814
+ /**
815
+ * query param for seats-list
816
+ */
817
+ export interface SeatListParam extends PaginateParam {
818
+ /** sort selection: (format: <field>:<asc|desc?>, ex: price, price:desc ) */
819
+ sort?: 'latest' | 'popular' | 'lowPrice' | 'highPrice';
820
+ /** filter by startedAt (ex: 2024-01-01)
821
+ * - 좌석 시작 일자
822
+ */
823
+ from?: string;
824
+ /** filter by endAt (ex: 2024-01-03)
825
+ * - 좌석 종료 일자
826
+ */
827
+ to?: string;
828
+ /** filter by zone-ids */
829
+ zoneIds?: string[];
830
+ /** filter by date */
831
+ date?: string;
832
+ /** filter by user-id (tenant) */
833
+ userId?: string;
834
+ /**
835
+ * flag to filter by assigned status
836
+ * - "": 날짜별 할당되지 않은 예약 개수 보임.
837
+ * - "!": 날짜별 할당된 예약 개수 보임.
838
+ */
839
+ assigned?: string;
840
+ /**
841
+ * flag to filter by canceled status
842
+ * - "": 날짜별 취소 되지 않은 예약 개수 보임.
843
+ * - "!": 날짜별 취소된 예약 개수 보임.
844
+ */
845
+ canceled?: string;
846
+ /** filter by block of house (단지) */
847
+ block?: string;
848
+ /** filter by dong of dong (동) */
849
+ dong?: string;
850
+ /** fi lter by ho of house (호) */
851
+ ho?: string;
852
+ /** flag of full-list */
853
+ readonly fetchAll?: boolean;
854
+ }
611
855
  /**
612
856
  * param for tile (세분 목록 시간(tile) 조회를 위한 파라미터)
613
857
  */
@@ -623,3 +867,20 @@ export interface TileParam {
623
867
  /** type of product */
624
868
  type?: ProdType;
625
869
  }
870
+ /**
871
+ * 좌석 조회를 위한 파라미터
872
+ */
873
+ export interface SeatCalendarParam {
874
+ /**
875
+ * target date (like '2023-04-28')
876
+ */
877
+ date?: string;
878
+ /**
879
+ * id of zone
880
+ */
881
+ zoneId?: string;
882
+ /** start date of period search (like '2027-07-01') */
883
+ from?: string;
884
+ /** end date of period search (like '2027-07-01') */
885
+ to?: string;
886
+ }