@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.
@@ -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, GuidelineModel } 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$' | 'guide$' | '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,16 @@ 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;
47
49
  /** (optional) 이용안내 정보를 보여줌 */
48
50
  readonly guide$?: GuidelineView;
49
51
  /** flag of use display */
@@ -58,11 +60,17 @@ export interface ProgramView extends View, Omit<Partial<ProgramModel>, 'payment$
58
60
  usePushNotification?: boolean;
59
61
  /** flag of use 강사 프로필 노출 */
60
62
  useOperatorDisplay?: boolean;
63
+ /**
64
+ * 좌석형 프로그램의 운영시간 정보
65
+ */
66
+ SeatTime$?: TimeElementView$;
67
+ /** 프로그램 상태 */
68
+ programStatus?: ServiceStatus;
61
69
  }
62
70
  /**
63
71
  * type: `ProgramBody`
64
72
  */
65
- 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$'> {
66
74
  /** (optional) 프로그램 결제 정보를 가짐 */
67
75
  payment$?: PaymentBody;
68
76
  /** (optional) 프로그램 취소 정보를 가짐 */
@@ -71,9 +79,11 @@ export interface ProgramBody extends Body, Omit<Partial<ProgramView>, 'payment$'
71
79
  display$?: DisplayBody;
72
80
  /** (optional) 프로그램 신청 관리 정보를 가짐 */
73
81
  application$?: ApplicationManagementBody;
74
- /** (optional) 고장 관리 정보를 가짐 */
75
- fault$?: FaultBody;
76
- /** (optional) 업체/강사 관리 정보를 가짐 */
82
+ /** (optional) 이용권 운영 관리 정보를 가짐 */
83
+ passOps$?: PassOpsBody;
84
+ /** (optional) 업체/강사 관리 정보를 가짐
85
+ * @deprecated
86
+ */
77
87
  operator$?: ProgramOperatorBody;
78
88
  /** 구역 정보 -> 유닛 생성을 위해 `ssocio-zacs-api`에 요청하기 위한 정보를 가짐 */
79
89
  zacBody?: ZacPostBody;
@@ -125,9 +135,11 @@ export interface PaymentBody extends Body, Partial<PaymentView> {
125
135
  /**
126
136
  * type: `PolicyView`
127
137
  */
128
- export interface PolicyView extends View, Omit<Partial<PolicyModel>, 'usePenalty'> {
138
+ export interface PolicyView extends View, Omit<Partial<PolicyModel>, 'usePenalty' | 'useOptionRefund'> {
129
139
  /** 위약금 사용 여부 flag */
130
140
  usePenalty?: boolean;
141
+ /** 옵션 환불 사용 여부 flag */
142
+ useOptionRefund?: boolean;
131
143
  }
132
144
  /**
133
145
  * type: `PolicyBody`
@@ -137,9 +149,11 @@ export interface PolicyBody extends Body, Partial<PolicyView> {
137
149
  /**
138
150
  * type: `CancelView`
139
151
  */
140
- export interface CancelView extends View, Omit<Partial<CancelModel>, 'usePenalty'> {
152
+ export interface CancelView extends View, Omit<Partial<CancelModel>, 'usePenalty' | 'useOptionRefund'> {
141
153
  /** 위약금 사용 여부 flag */
142
154
  usePenalty?: boolean;
155
+ /** 옵션 환불 사용 여부 flag */
156
+ useOptionRefund?: boolean;
143
157
  }
144
158
  /**
145
159
  * type: `CancelBody`
@@ -161,7 +175,7 @@ export interface DisplayBody extends Body, Partial<DisplayView> {
161
175
  /**
162
176
  * type: `ApplicationManagementView`
163
177
  */
164
- 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'> {
165
179
  /** 월권 신청 사용 여부 flag */
166
180
  useMonthly?: boolean;
167
181
  /** 일권 신청 사용 여부 flag */
@@ -174,12 +188,10 @@ export interface ApplicationManagementView extends View, Omit<Partial<Applicatio
174
188
  useTimeLimit?: boolean;
175
189
  /** 요일 정책 사용 여부 flag */
176
190
  useDayOfTheWeekPolicy?: boolean;
177
- /** 매칭 상품 이용 기간 사용 여부 flag */
178
- useMatchPeriod?: boolean;
179
- /** 매칭 상품 이용 제한 사용 여부 flag */
180
- useMatchLimit?: boolean;
181
191
  /** 숙박 관리 당일 예약 허용 여부 flag */
182
192
  useSameDayReservation?: boolean;
193
+ /** 캘린더 금액 노출 여부 */
194
+ usePriceDisplay?: boolean;
183
195
  }
184
196
  /**
185
197
  * type: `ApplicationManagementBody`
@@ -214,34 +226,6 @@ export interface ProgramOperatorView extends View, Omit<Partial<ProgramOperatorM
214
226
  */
215
227
  export interface ProgramOperatorBody extends Body, Partial<ProgramOperatorView> {
216
228
  }
217
- /**
218
- * type: `TileView`
219
- */
220
- export interface TileView extends View, Partial<TileModel> {
221
- }
222
- /**
223
- * type: `TileBody`
224
- */
225
- export interface TileBody extends Body, Partial<TileView> {
226
- }
227
- /**
228
- * type: `FaultView`
229
- */
230
- export interface FaultView extends View, Omit<Partial<FaultModel>, 'time1' | 'time2'> {
231
- /** 예약 불가 시작 날짜 (like 2023-02-01) */
232
- d1?: string;
233
- /** 예약 불가 마감 날짜 (like 2023-02-01) */
234
- d2?: string;
235
- /** 예약 불가 시작 시간 (like 15:00) */
236
- t1?: string;
237
- /** 예약 불가 마감 시간 (like 17:00) */
238
- t2?: string;
239
- }
240
- /**
241
- * type: `FaultBody`
242
- */
243
- export interface FaultBody extends Body, Partial<FaultView> {
244
- }
245
229
  /**
246
230
  * type: `StockView`
247
231
  */
@@ -292,6 +276,40 @@ export interface GuidelineView extends View, Partial<GuidelineModel> {
292
276
  */
293
277
  export interface GuidelineBody extends View, Partial<GuidelineView> {
294
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
+ }
295
313
  /**
296
314
  * type: `TestView`
297
315
  * - usually same as post's body.
@@ -311,6 +329,92 @@ export interface TestView extends View, Omit<Partial<TestModel>, 'id' | 'require
311
329
  */
312
330
  export interface TestBody extends Body, Partial<TestView> {
313
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
+ }
314
418
  /**
315
419
  * 프로그램의 `주문시작`을 요청함
316
420
  */
@@ -318,25 +422,27 @@ export interface ProgramStartOrderBody extends Body {
318
422
  /** program-id */
319
423
  id?: string;
320
424
  /** type of program */
321
- type?: CategoryStereoType;
425
+ type?: ProgramStereoType;
322
426
  /** number of program count */
323
427
  count?: number;
324
428
  /** list of options to order */
325
429
  options?: OrderOption[];
326
430
  /** list of agrees to order */
327
431
  agreeds?: AgreedOption[];
328
- /** list of tiles to order */
329
- tiles?: TileBody[];
330
432
  /** list of rooms to order */
331
433
  rooms?: RoomBody[];
332
434
  /** (optional) 기본 주문서에, 상품주문을 추가할때 */
333
435
  orderId?: string;
334
436
  /** (optional) 주문할 상품을 이용할 사용자ID */
335
437
  userId?: string;
336
- /** (optional) 좌석 프로그램 예약 시 이용할 타일ID */
337
- tileId?: string;
338
- /** (optional) 좌속 프로그램 예약 시 이용할 stockId */
438
+ /** (optional) 좌속 프로그램 예약 시 이용할 stockId
439
+ * @deprecated
440
+ */
339
441
  stockId?: string;
442
+ /**
443
+ * (optional) 결제할 좌석 프로그램 ID 항목
444
+ */
445
+ seatGroupIds?: string[];
340
446
  }
341
447
  /**
342
448
  * type: `ZacPostBody`
@@ -362,9 +468,15 @@ export interface CancelProgramBody {
362
468
  /** id of cancel-model */
363
469
  id?: string;
364
470
  /** stereo */
365
- stereo?: CategoryStereoType;
366
- /** payed-price */
471
+ stereo?: ProgramStereoType;
472
+ /**
473
+ * payed-price
474
+ * @deprecated
475
+ * @use CancelProgramBody.paidPrice
476
+ */
367
477
  payedPrice?: number;
478
+ /** paid-price */
479
+ paidPrice?: number;
368
480
  /** fee amount */
369
481
  feeAmount?: number;
370
482
  /** penalty amount */
@@ -373,4 +485,161 @@ export interface CancelProgramBody {
373
485
  usedAt?: number;
374
486
  /** requestedAt (timestamp) */
375
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;
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;
376
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.1212",
3
+ "version": "0.24.107",
4
4
  "description": "ssocio stacks management api",
5
5
  "types": "dist/view/types.d.ts",
6
6
  "scripts": {},