@lemoncloud/ssocio-stacks-api 0.23.1008 → 0.24.106

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.
@@ -8,8 +8,10 @@
8
8
  * @copyright (C) 2022 LemonCloud Co Ltd. - All Rights Reserved.
9
9
  */
10
10
  import { View, Body } from '../cores/types';
11
- import { TestModel, ProgramModel, CategoryModel, PaymentModel, CancelModel, DisplayModel, PushNotificationModel, ProgramOperatorModel, ApplicationManagementModel, PolicyModel, OptionModel, AgreedModel, TileModel, FaultModel, StockModel, RoomModel, LimitModel } from '../service/backend-model';
12
- import { AgreedOption, CategoryStereoType, OrderOption, Segment, Unit } from '../service/backend-types';
11
+ import { TestModel, ProgramModel, CategoryModel, PaymentModel, CancelModel, DisplayModel, PushNotificationModel, ProgramOperatorModel, ApplicationManagementModel, PolicyModel, OptionModel, AgreedModel, StockModel, RoomModel, LimitModel, GuidelineModel, SeatModel, PassModel, PassOpsModel } from '../service/backend-model';
12
+ import { AgreedType, ComissionRate, ProgramStereoType, RefundType, ReserveLimitTargetType, Segment, ServiceStatus, TimeBlock, Unit, WeekDayType } from '../service/backend-types';
13
+ import { SeatStateType } from '../lib/seats-types';
14
+ export * from '../service/backend-types';
13
15
  /**
14
16
  * type: `CategoryView`
15
17
  */
@@ -25,7 +27,7 @@ export interface CategoryBody extends Body, Partial<CategoryView> {
25
27
  /**
26
28
  * type: `ProgramView`
27
29
  */
28
- export interface ProgramView extends View, Omit<Partial<ProgramModel>, 'payment$' | 'cancel$' | 'display$' | 'application$' | 'push$' | 'operator$' | 'tile$' | 'room$' | 'fault' | 'isDisplay' | 'useOperatorDisplay' | 'useImage' | 'useFacilityInfo' | 'useAutoExtend' | 'usePushNotification'> {
30
+ export interface ProgramView extends View, Omit<Partial<ProgramModel>, 'payment$' | 'cancel$' | 'display$' | 'application$' | 'push$' | 'operator$' | 'passOps$' | 'room$' | 'guide$' | 'seatTime$' | 'isDisplay' | 'useOperatorDisplay' | 'useImage' | 'useFacilityInfo' | 'useAutoExtend' | 'usePushNotification' | 'programStatus'> {
29
31
  /** (optional) 프로그램 결제 정보를 보여줌 */
30
32
  readonly payment$?: PaymentView;
31
33
  /** (optional) 프로그램 취소 정보를 보여줌 */
@@ -34,16 +36,18 @@ export interface ProgramView extends View, Omit<Partial<ProgramModel>, 'payment$
34
36
  readonly display$?: DisplayView;
35
37
  /** (optional) 프로그램 신청 관리 정보를 보여줌 */
36
38
  readonly application$?: ApplicationManagementView;
37
- /** (optional) 세분 프로그램 운영 시간 정보를 보여줌 */
38
- readonly tile$?: TileView[];
39
39
  /** (optional) 게스트룸 프로그램 운영 시간 정보를 보여줌 */
40
40
  readonly room$?: RoomView[];
41
+ /** (optional) 이용권 운영 관리 정보를 보여줌 */
42
+ readonly passOps$?: PassOpsView;
41
43
  /** (optional) 푸쉬 관리 정보를 보여줌 */
42
44
  readonly push$?: PushNotificationView;
43
- /** (optional) 업체/강사 관리 정보를 보여줌 */
45
+ /** (optional) 업체/강사 관리 정보를 보여줌
46
+ * @deprecated
47
+ */
44
48
  readonly operator$?: ProgramOperatorView;
45
- /** (optional) 고장 관리 정보를 보여줌 */
46
- readonly fault$?: FaultView;
49
+ /** (optional) 이용안내 정보를 보여줌 */
50
+ readonly guide$?: GuidelineView;
47
51
  /** flag of use display */
48
52
  isDisplay?: boolean;
49
53
  /** flag of use 이미지 사용 */
@@ -56,11 +60,17 @@ export interface ProgramView extends View, Omit<Partial<ProgramModel>, 'payment$
56
60
  usePushNotification?: boolean;
57
61
  /** flag of use 강사 프로필 노출 */
58
62
  useOperatorDisplay?: boolean;
63
+ /**
64
+ * 좌석형 프로그램의 운영시간 정보
65
+ */
66
+ SeatTime$?: TimeElementView$;
67
+ /** 프로그램 상태 */
68
+ programStatus?: ServiceStatus;
59
69
  }
60
70
  /**
61
71
  * type: `ProgramBody`
62
72
  */
63
- export interface ProgramBody extends Body, Omit<Partial<ProgramView>, 'payment$' | 'cancel$' | 'display$' | 'application$' | 'operator$' | 'fault$'> {
73
+ export interface ProgramBody extends Body, Omit<Partial<ProgramView>, 'payment$' | 'cancel$' | 'display$' | 'application$' | 'operator$' | 'passOps$'> {
64
74
  /** (optional) 프로그램 결제 정보를 가짐 */
65
75
  payment$?: PaymentBody;
66
76
  /** (optional) 프로그램 취소 정보를 가짐 */
@@ -69,9 +79,11 @@ export interface ProgramBody extends Body, Omit<Partial<ProgramView>, 'payment$'
69
79
  display$?: DisplayBody;
70
80
  /** (optional) 프로그램 신청 관리 정보를 가짐 */
71
81
  application$?: ApplicationManagementBody;
72
- /** (optional) 고장 관리 정보를 가짐 */
73
- fault$?: FaultBody;
74
- /** (optional) 업체/강사 관리 정보를 가짐 */
82
+ /** (optional) 이용권 운영 관리 정보를 가짐 */
83
+ passOps$?: PassOpsBody;
84
+ /** (optional) 업체/강사 관리 정보를 가짐
85
+ * @deprecated
86
+ */
75
87
  operator$?: ProgramOperatorBody;
76
88
  /** 구역 정보 -> 유닛 생성을 위해 `ssocio-zacs-api`에 요청하기 위한 정보를 가짐 */
77
89
  zacBody?: ZacPostBody;
@@ -123,9 +135,11 @@ export interface PaymentBody extends Body, Partial<PaymentView> {
123
135
  /**
124
136
  * type: `PolicyView`
125
137
  */
126
- export interface PolicyView extends View, Omit<Partial<PolicyModel>, 'usePenalty'> {
138
+ export interface PolicyView extends View, Omit<Partial<PolicyModel>, 'usePenalty' | 'useOptionRefund'> {
127
139
  /** 위약금 사용 여부 flag */
128
140
  usePenalty?: boolean;
141
+ /** 옵션 환불 사용 여부 flag */
142
+ useOptionRefund?: boolean;
129
143
  }
130
144
  /**
131
145
  * type: `PolicyBody`
@@ -135,9 +149,11 @@ export interface PolicyBody extends Body, Partial<PolicyView> {
135
149
  /**
136
150
  * type: `CancelView`
137
151
  */
138
- export interface CancelView extends View, Omit<Partial<CancelModel>, 'usePenalty'> {
152
+ export interface CancelView extends View, Omit<Partial<CancelModel>, 'usePenalty' | 'useOptionRefund'> {
139
153
  /** 위약금 사용 여부 flag */
140
154
  usePenalty?: boolean;
155
+ /** 옵션 환불 사용 여부 flag */
156
+ useOptionRefund?: boolean;
141
157
  }
142
158
  /**
143
159
  * type: `CancelBody`
@@ -159,7 +175,7 @@ export interface DisplayBody extends Body, Partial<DisplayView> {
159
175
  /**
160
176
  * type: `ApplicationManagementView`
161
177
  */
162
- export interface ApplicationManagementView extends View, Omit<Partial<ApplicationManagementModel>, 'useMonthly' | 'useDaily' | 'useEarlyRegister' | 'useAutoExtension' | 'useTimeLimit' | 'useDayOfTheWeekPolicy' | 'useMatchPeriod' | 'useMatchLimit' | 'useSameDayReservation'> {
178
+ export interface ApplicationManagementView extends View, Omit<Partial<ApplicationManagementModel>, 'useMonthly' | 'useDaily' | 'useEarlyRegister' | 'useAutoExtension' | 'useTimeLimit' | 'useDayOfTheWeekPolicy' | 'useSameDayReservation' | 'usePriceDisplay'> {
163
179
  /** 월권 신청 사용 여부 flag */
164
180
  useMonthly?: boolean;
165
181
  /** 일권 신청 사용 여부 flag */
@@ -172,12 +188,10 @@ export interface ApplicationManagementView extends View, Omit<Partial<Applicatio
172
188
  useTimeLimit?: boolean;
173
189
  /** 요일 정책 사용 여부 flag */
174
190
  useDayOfTheWeekPolicy?: boolean;
175
- /** 매칭 상품 이용 기간 사용 여부 flag */
176
- useMatchPeriod?: boolean;
177
- /** 매칭 상품 이용 제한 사용 여부 flag */
178
- useMatchLimit?: boolean;
179
191
  /** 숙박 관리 당일 예약 허용 여부 flag */
180
192
  useSameDayReservation?: boolean;
193
+ /** 캘린더 금액 노출 여부 */
194
+ usePriceDisplay?: boolean;
181
195
  }
182
196
  /**
183
197
  * type: `ApplicationManagementBody`
@@ -212,34 +226,6 @@ export interface ProgramOperatorView extends View, Omit<Partial<ProgramOperatorM
212
226
  */
213
227
  export interface ProgramOperatorBody extends Body, Partial<ProgramOperatorView> {
214
228
  }
215
- /**
216
- * type: `TileView`
217
- */
218
- export interface TileView extends View, Partial<TileModel> {
219
- }
220
- /**
221
- * type: `TileBody`
222
- */
223
- export interface TileBody extends Body, Partial<TileView> {
224
- }
225
- /**
226
- * type: `FaultView`
227
- */
228
- export interface FaultView extends View, Omit<Partial<FaultModel>, 'time1' | 'time2'> {
229
- /** 예약 불가 시작 날짜 (like 2023-02-01) */
230
- d1?: string;
231
- /** 예약 불가 마감 날짜 (like 2023-02-01) */
232
- d2?: string;
233
- /** 예약 불가 시작 시간 (like 15:00) */
234
- t1?: string;
235
- /** 예약 불가 마감 시간 (like 17:00) */
236
- t2?: string;
237
- }
238
- /**
239
- * type: `FaultBody`
240
- */
241
- export interface FaultBody extends Body, Partial<FaultView> {
242
- }
243
229
  /**
244
230
  * type: `StockView`
245
231
  */
@@ -280,6 +266,50 @@ export interface LimitView extends View, Omit<Partial<LimitModel>, 'startedAt' |
280
266
  */
281
267
  export interface LimitBody extends Body, Partial<LimitView> {
282
268
  }
269
+ /**
270
+ * type: `GuidelineView`
271
+ */
272
+ export interface GuidelineView extends View, Partial<GuidelineModel> {
273
+ }
274
+ /**
275
+ * type: `GuidelineBody`
276
+ */
277
+ export interface GuidelineBody extends View, Partial<GuidelineView> {
278
+ }
279
+ /**
280
+ * type: `PassView`
281
+ */
282
+ export interface PassView extends View, Omit<Partial<PassModel>, 'useOneDayLimit' | 'useStockDisplay' | 'usageFrom' | 'usageTo' | 'issuedAt' | 'usedAt' | 'canceledAt'> {
283
+ /**
284
+ * 1일 예약 제한 사용 여부
285
+ */
286
+ useOneDayLimit?: boolean;
287
+ /**
288
+ * 재고 노출 사용 여부
289
+ */
290
+ useStockDisplay?: boolean;
291
+ /**
292
+ * 사용기간 - 시작시각
293
+ */
294
+ usageFrom?: string;
295
+ /**
296
+ * 사용기간 - 종료시각
297
+ */
298
+ usageTo?: string;
299
+ /** 발급일시 */
300
+ issuedAt?: string;
301
+ /** 사용일시 */
302
+ usedAt?: string;
303
+ /** 취소일시 */
304
+ canceledAt?: string;
305
+ }
306
+ /**
307
+ * type: `PassBody`
308
+ */
309
+ export interface PassBody extends Body, Partial<PassView> {
310
+ /** 원본 상품(이용권)의 재고 티켓 ID */
311
+ originTicketIds?: string[];
312
+ }
283
313
  /**
284
314
  * type: `TestView`
285
315
  * - usually same as post's body.
@@ -299,6 +329,92 @@ export interface TestView extends View, Omit<Partial<TestModel>, 'id' | 'require
299
329
  */
300
330
  export interface TestBody extends Body, Partial<TestView> {
301
331
  }
332
+ /**
333
+ * Type: `SeatView`
334
+ */
335
+ export interface SeatView extends View, Omit<Partial<SeatModel>, 'seatStartTime' | 'seatEndTime' | 'assignedAt' | 'canceledAt' | 'isAvailable' | 'isBusinessDay' | 'isHoliday' | 'isSaleDay' | 'isDisableDay' | 'isAssigned' | 'invalid' | 'units'> {
336
+ /**
337
+ * 해당 슬롯(좌석) 시작 시각 정보
338
+ */
339
+ seatStartTime?: string;
340
+ /**
341
+ * 해당 슬롯(좌석) 종료 시각 정보
342
+ */
343
+ seatEndTime?: string;
344
+ /**
345
+ * 해당 슬롯(좌석) 할당 시각
346
+ */
347
+ assignedAt?: string;
348
+ /**
349
+ * 해당 슬롯(좌석) 취소 시각
350
+ */
351
+ canceledAt?: string;
352
+ /**
353
+ * 영업일 여부
354
+ */
355
+ isBusinessDay?: boolean;
356
+ /**
357
+ * 휴일 여부
358
+ */
359
+ isHoliday?: boolean;
360
+ /**
361
+ * 할인일 여부
362
+ */
363
+ isSaleDay?: boolean;
364
+ /**
365
+ * 제한일 여부
366
+ */
367
+ isDisableDay?: boolean;
368
+ /**
369
+ * 예약 가능 여부
370
+ */
371
+ isAvailable?: boolean;
372
+ /**
373
+ * 재고 점유 여부
374
+ */
375
+ isAssigned?: boolean;
376
+ /**
377
+ * invalid
378
+ */
379
+ invalid?: boolean;
380
+ /**
381
+ * 상품에 묶인 세부 좌석(슬롯) 항목
382
+ */
383
+ Units?: SeatView[];
384
+ }
385
+ /**
386
+ * Type: `SeatBody`
387
+ */
388
+ export interface SeatBody extends Body, Partial<SeatView> {
389
+ }
390
+ /**
391
+ * Type: `PassOpsView`
392
+ */
393
+ export interface PassOpsView extends View, Omit<Partial<PassOpsModel>, 'saleFrom' | 'saleTo' | 'usageFrom' | 'usageTo' | 'usePurchaseLimit' | 'useCountDisplay' | 'programs$'> {
394
+ /** 판매 시작 시각
395
+ * format) YYYY-MM-DD HH:MM:SS
396
+ */
397
+ saleFrom?: string;
398
+ /** 판매 종료 시각 */
399
+ saleTo?: string;
400
+ /** 사용 시작 시각 */
401
+ usageFrom?: string;
402
+ /** 사용 종료 시각 */
403
+ usageTo?: string;
404
+ /** 구매 제한 사용 여부
405
+ * @deprecated
406
+ */
407
+ usePurchaseLimit?: boolean;
408
+ /** 횟수 노출 여부 */
409
+ useCountDisplay?: boolean;
410
+ /** 이용권 적용 가능 상품 목록 */
411
+ readonly AllowedPrograms?: ProgramView[];
412
+ }
413
+ /**
414
+ * Type: `PassOpsBody`
415
+ */
416
+ export interface PassOpsBody extends Body, Partial<PassOpsView> {
417
+ }
302
418
  /**
303
419
  * 프로그램의 `주문시작`을 요청함
304
420
  */
@@ -306,25 +422,27 @@ export interface ProgramStartOrderBody extends Body {
306
422
  /** program-id */
307
423
  id?: string;
308
424
  /** type of program */
309
- type?: CategoryStereoType;
425
+ type?: ProgramStereoType;
310
426
  /** number of program count */
311
427
  count?: number;
312
428
  /** list of options to order */
313
429
  options?: OrderOption[];
314
430
  /** list of agrees to order */
315
431
  agreeds?: AgreedOption[];
316
- /** list of tiles to order */
317
- tiles?: TileBody[];
318
432
  /** list of rooms to order */
319
433
  rooms?: RoomBody[];
320
434
  /** (optional) 기본 주문서에, 상품주문을 추가할때 */
321
435
  orderId?: string;
322
436
  /** (optional) 주문할 상품을 이용할 사용자ID */
323
437
  userId?: string;
324
- /** (optional) 좌석 프로그램 예약 시 이용할 타일ID */
325
- tileId?: string;
326
- /** (optional) 좌속 프로그램 예약 시 이용할 stockId */
438
+ /** (optional) 좌속 프로그램 예약 시 이용할 stockId
439
+ * @deprecated
440
+ */
327
441
  stockId?: string;
442
+ /**
443
+ * (optional) 결제할 좌석 프로그램 ID 항목
444
+ */
445
+ seatGroupIds?: string[];
328
446
  }
329
447
  /**
330
448
  * type: `ZacPostBody`
@@ -350,9 +468,15 @@ export interface CancelProgramBody {
350
468
  /** id of cancel-model */
351
469
  id?: string;
352
470
  /** stereo */
353
- stereo?: CategoryStereoType;
354
- /** payed-price */
471
+ stereo?: ProgramStereoType;
472
+ /**
473
+ * payed-price
474
+ * @deprecated
475
+ * @use CancelProgramBody.paidPrice
476
+ */
355
477
  payedPrice?: number;
478
+ /** paid-price */
479
+ paidPrice?: number;
356
480
  /** fee amount */
357
481
  feeAmount?: number;
358
482
  /** penalty amount */
@@ -361,4 +485,161 @@ export interface CancelProgramBody {
361
485
  usedAt?: number;
362
486
  /** requestedAt (timestamp) */
363
487
  requestedAt?: number;
488
+ /** user-id */
489
+ userId?: string;
490
+ /** order-id */
491
+ orderId?: string;
492
+ /** 환불 정책 타입*/
493
+ refundPolicy?: RefundType;
494
+ /** 환불정책 -> 일할 계산시 운영 일수 */
495
+ operationCount?: number;
496
+ /** 환불정책 -> 횟수 계산시 전체 횟수 */
497
+ totalCount?: number;
498
+ /** 환불정책 -> 시간기준 수수료 계산시 정보 */
499
+ baseOnTime?: ComissionRate[];
500
+ /** 환불정책 -> 날짜기준 수수료 계산시 정보 */
501
+ baseOnDate?: ComissionRate[];
502
+ /** 위약금 사용 여부 */
503
+ usePenalty?: number;
504
+ /** 위약금 비율 (%) */
505
+ penaltyRate?: number;
506
+ /** 환불정책 -> 옵션 환불 정보 */
507
+ useOptionRefund?: number;
508
+ }
509
+ export interface TimeBlockView extends Omit<Partial<TimeBlock>, 'week'> {
510
+ /**
511
+ * 해당 요일의 index */
512
+ week?: WeekDayType;
364
513
  }
514
+ /**
515
+ * type: `TimeElementView$`
516
+ */
517
+ export interface TimeElementView$ {
518
+ /**
519
+ * key := <WeekDayType>
520
+ * val := TimeBlockView
521
+ */
522
+ [key: string]: TimeBlockView;
523
+ }
524
+ /**
525
+ * type: `SeatAggrView`
526
+ * - 프로그램에 매핑된 좌석의 예약 현황을 포함하기 위한 타입
527
+ */
528
+ export interface SeatAggrView {
529
+ /** 좌석별 상태
530
+ * key := <zoneId>,
531
+ * val := SeatReservationStatus
532
+ */
533
+ [key: string]: SeatReservationStatus;
534
+ }
535
+ /**
536
+ * type: `SeatResverationStatus`
537
+ */
538
+ export interface SeatReservationStatus {
539
+ /** 날짜 */
540
+ date?: string;
541
+ /** 총 좌석(상품) 갯수 */
542
+ totalSeat?: number;
543
+ /** 예약된 좌석 갯수 */
544
+ reservedCnt?: number;
545
+ /** 예약가능한 좌석 갯수 */
546
+ availableSeatCnt?: number;
547
+ /** 고장등록 좌석 갯수 */
548
+ disabledCnt?: number;
549
+ /** 휴일등록 좌석 갯수 */
550
+ holidayCnt?: number;
551
+ /** 좌석의 최종 상태 */
552
+ state?: SeatStateType;
553
+ /** 구역 관리자 메모 */
554
+ memo?: string;
555
+ /** 구역 ID */
556
+ zoneId?: string;
557
+ /** 구역 이름 */
558
+ zoneName?: string;
559
+ /** 프로그램 ID */
560
+ programId?: string;
561
+ }
562
+ /**
563
+ * type: `SeatSalesView`
564
+ * - 프로그램에 매핑된 좌석의 예약 가능 정보를 보여주기 위함
565
+ */
566
+ export interface SeatSalesView {
567
+ /** 좌석별 상품 정보
568
+ * key := <zoneId>,
569
+ * val := SeatView
570
+ */
571
+ [key: string]: SeatView;
572
+ }
573
+ /**
574
+ * type: `UserBookingStatusResponse`
575
+ * 해당 유저의 프로그램 예약 (일자별) 현황 타입
576
+ */
577
+ export interface UserBookingStatusResponse {
578
+ /** 날짜 */
579
+ date?: string;
580
+ /** 구간검색 (시작 날짜) */
581
+ from?: string;
582
+ /** 구간검색 (종료 날짜) */
583
+ to?: string;
584
+ /** 설정된 예약 제한 타입 */
585
+ limitType?: ReserveLimitTargetType;
586
+ /** 설정된 예약 제한 횟수 */
587
+ limitCount?: number;
588
+ /** 해당 유저(세대)가 예약한 횟수 */
589
+ userBookingCount?: number;
590
+ /** 예약 가능일 여부 */
591
+ isSaleDay?: boolean;
592
+ /** 예약 가능 여부 */
593
+ isAvailable?: boolean;
594
+ /** 유저의 아이디 */
595
+ userId?: string;
596
+ /** 1일 예약 제한 횟수 */
597
+ limitDailyCount?: number;
598
+ }
599
+ /**
600
+ * 상품의 `이용권 사용`을 요청함
601
+ */
602
+ export interface PassOrderBody {
603
+ /** 상품의 타입 */
604
+ prodType?: ProgramStereoType;
605
+ /** id of the ordered program
606
+ * - 상품(프로그램)의 ID
607
+ */
608
+ prodId?: string;
609
+ /** user-id */
610
+ userId?: string;
611
+ /** 이용권을 적용할 단일 인스턴스의 ID
612
+ * - 좌석이용권 := seatId
613
+ * - 프로그램이용권 := programId
614
+ * - 게스트룸이용권 := roomId
615
+ */
616
+ targetId?: string;
617
+ /** id of order */
618
+ orderId?: string;
619
+ /** 이용권 사용할 날짜 */
620
+ date?: string;
621
+ }
622
+ /**
623
+ * type: `OrderOption`
624
+ * - 옵션 주문 선택을 위한 파라미터.
625
+ */
626
+ export declare type OrderOption = {
627
+ /** id of option-model */
628
+ id?: string;
629
+ /** selected count of option. */
630
+ count?: number;
631
+ /** (optional) total discount */
632
+ discount?: number;
633
+ };
634
+ /**
635
+ * type: `AgreedOption`
636
+ * - 약관 동의 선택을 위한 파라미터
637
+ */
638
+ export declare type AgreedOption = {
639
+ /** id of agreed-model */
640
+ id?: string;
641
+ /** type of agrees */
642
+ type?: AgreedType;
643
+ /** agreement name */
644
+ name?: string;
645
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemoncloud/ssocio-stacks-api",
3
- "version": "0.23.1008",
3
+ "version": "0.24.106",
4
4
  "description": "ssocio stacks management api",
5
5
  "types": "dist/view/types.d.ts",
6
6
  "scripts": {},