@chevre/factory 4.281.0-alpha.0 → 4.281.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.
@@ -5,10 +5,11 @@ import { EventType } from '../../eventType';
5
5
  import { ProductType } from '../../product';
6
6
  import { ReservationStatusType } from '../../reservationStatusType';
7
7
  import { ReservationType } from '../../reservationType';
8
+ import { TripType } from '../../tripType';
8
9
  export declare type IAgent = ActionFactory.IParticipantAsProject;
9
10
  export interface IReservationPackageAsObject {
10
11
  reservationFor: {
11
- typeOf: EventType.ScreeningEvent;
12
+ typeOf: EventType.ScreeningEvent | TripType.BusTrip;
12
13
  id: string;
13
14
  };
14
15
  reservationNumber: string;
@@ -18,6 +19,22 @@ export interface IReservationPackageAsObject {
18
19
  reservationStatus: ReservationStatusType;
19
20
  typeOf: ReservationType.ReservationPackage;
20
21
  }
22
+ export interface IBusReservationAsObject {
23
+ id: string;
24
+ issuedThrough?: {
25
+ typeOf?: ProductType.Transportation;
26
+ };
27
+ reservationFor: {
28
+ typeOf: TripType.BusTrip;
29
+ id: string;
30
+ };
31
+ reservationNumber: string;
32
+ /**
33
+ * previousReservationStatusを変更時に指定するために必要
34
+ */
35
+ reservationStatus: ReservationStatusType;
36
+ typeOf: ReservationType.BusReservation;
37
+ }
21
38
  /**
22
39
  * 予約取消対象
23
40
  */
@@ -37,7 +54,7 @@ export interface IEventReservationAsObject {
37
54
  reservationStatus: ReservationStatusType;
38
55
  typeOf: ReservationType.EventReservation;
39
56
  }
40
- export declare type IObject = IEventReservationAsObject | IReservationPackageAsObject;
57
+ export declare type IObject = IBusReservationAsObject | IEventReservationAsObject | IReservationPackageAsObject;
41
58
  /**
42
59
  * 予約取消結果
43
60
  */
@@ -3,12 +3,14 @@ import { ActionType } from '../actionType';
3
3
  import { AssetTransactionType } from '../assetTransactionType';
4
4
  import { OrderType } from '../order';
5
5
  import { IUnderName } from '../reservation';
6
- import { IReservation as IEventReservation, IReservationFor } from '../reservation/event';
6
+ import { IReservation as IBusReservation, IReservationFor as IBusReservationFor } from '../reservation/busReservation';
7
+ import { IReservation as IEventReservation, IReservationFor as IEventReservationFor } from '../reservation/event';
7
8
  import { ReservationStatusType } from '../reservationStatusType';
8
9
  import { ReservationType } from '../reservationType';
9
10
  import { IAttributes as IMoneyTransferActionAttributes } from './transfer/moneyTransfer';
10
11
  export declare type IAgent = ActionFactory.IParticipantAsProject;
11
- export declare type ISubReservation = Omit<IEventReservation, 'reservationFor'>;
12
+ export declare type ISubReservation = Omit<IBusReservation, 'reservationFor'> | Omit<IEventReservation, 'reservationFor'>;
13
+ export declare type IReservationFor = IBusReservationFor | IEventReservationFor;
12
14
  export interface IReservationPackageAsObject {
13
15
  reservationFor: IReservationFor;
14
16
  reservationNumber: string;
@@ -17,7 +19,7 @@ export interface IReservationPackageAsObject {
17
19
  underName?: IUnderName;
18
20
  typeOf: ReservationType.ReservationPackage;
19
21
  }
20
- export declare type IObject = IEventReservation | IReservationPackageAsObject;
22
+ export declare type IObject = IBusReservation | IEventReservation | IReservationPackageAsObject;
21
23
  export interface IResult {
22
24
  confirmedReservationId?: string;
23
25
  }
@@ -4,7 +4,8 @@ import { ITransaction as IReserveTransaction } from '../assetTransaction/reserve
4
4
  import { AssetTransactionType } from '../assetTransactionType';
5
5
  import { IExtendId } from '../autoGenerated';
6
6
  import { IClientUser } from '../clientUser';
7
- import { IReservation as IEventReservation, IReservationFor } from '../reservation/event';
7
+ import { IReservation as IBusReservation, IReservationFor as IBusReservationFor } from '../reservation/busReservation';
8
+ import { IReservation as IEventReservation, IReservationFor as IEventReservationFor } from '../reservation/event';
8
9
  export import IAgent = AssetTransactionFactory.IAgent;
9
10
  export declare type IStartParamsWithoutDetail = AssetTransactionFactory.IStartParams<AssetTransactionType.CancelReservation, IAgent, undefined, IObjectWithoutDetail>;
10
11
  /**
@@ -32,11 +33,14 @@ export interface IObjectWithoutDetail {
32
33
  }
33
34
  export declare type IReserveTransactionAsObject = Pick<IReserveTransaction, 'typeOf' | 'id' | 'transactionNumber'> & {
34
35
  object: {
35
- reservationFor: Pick<IReservationFor, 'id' | 'typeOf'>;
36
+ reservationFor: Pick<IEventReservationFor | IBusReservationFor, 'id' | 'typeOf'>;
36
37
  };
37
38
  };
39
+ export declare type IBusReservationAsObject = Pick<IBusReservation, 'id' | 'issuedThrough' | 'reservationNumber' | 'typeOf'> & {
40
+ reservationFor: Pick<IBusReservationFor, 'id' | 'typeOf'>;
41
+ };
38
42
  export declare type IEventReservationAsObject = Pick<IEventReservation, 'id' | 'issuedThrough' | 'reservationNumber' | 'typeOf'> & {
39
- reservationFor: Pick<IReservationFor, 'id' | 'typeOf'>;
43
+ reservationFor: Pick<IEventReservationFor, 'id' | 'typeOf'>;
40
44
  };
41
45
  /**
42
46
  * 取引対象物
@@ -44,7 +48,7 @@ export declare type IEventReservationAsObject = Pick<IEventReservation, 'id' | '
44
48
  export interface IObject {
45
49
  clientUser?: IClientUser;
46
50
  transaction?: IReserveTransactionAsObject;
47
- reservations?: IEventReservationAsObject[];
51
+ reservations?: IBusReservationAsObject[] | IEventReservationAsObject[];
48
52
  }
49
53
  /**
50
54
  * 取引確定パラメータ
@@ -7,6 +7,7 @@ import { IMovieTicket } from '../paymentMethod/paymentCard/movieTicket';
7
7
  import { IPointAward } from '../product';
8
8
  import { IPropertyValue } from '../propertyValue';
9
9
  import * as ReservationFactory from '../reservation';
10
+ import { IReservationFor as IBusReservationReservationFor } from '../reservation/busReservation';
10
11
  import { IReservationFor as IEventReservationReservationFor, ISubReservation as ISubReservation4eventReservation } from '../reservation/event';
11
12
  import { IReservation as IReservationPackage } from '../reservation/reservationPackage';
12
13
  import { ReservationType } from '../reservationType';
@@ -57,34 +58,59 @@ export interface IAcceptedPointAward {
57
58
  };
58
59
  };
59
60
  }
60
- /**
61
- * 受け入れられたオファーのアイテム
62
- */
63
- export interface IAcceptedTicketOfferItemOffered {
64
- pointAward?: IAcceptedPointAward;
65
- serviceOutput?: {
66
- typeOf: ReservationType.EventReservation;
61
+ export interface IBusReservatonAsItemOfferedServiceOutput {
62
+ typeOf: ReservationType.BusReservation;
63
+ /**
64
+ * 追加特性
65
+ */
66
+ additionalProperty?: IPropertyValue<string>[];
67
+ /**
68
+ * 予約追加テキスト
69
+ */
70
+ additionalTicketText?: string;
71
+ programMembershipUsed?: IAcceptedProgramMembershipUsed;
72
+ reservedTicket?: {
73
+ issuedBy?: ReservationFactory.IUnderName;
74
+ typeOf: ReservationFactory.TicketType;
67
75
  /**
68
- * 追加特性
76
+ * 予約座席指定
77
+ * 指定席イベントの場合、座席を指定
78
+ * 自由席イベントの場合、あるいは、最大収容人数がないイベントの場合は、座席指定不要
69
79
  */
70
- additionalProperty?: IPropertyValue<string>[];
80
+ ticketedSeat?: ReservationFactory.ISeat;
81
+ };
82
+ subReservation?: IAcceptedSubReservation[];
83
+ }
84
+ export interface IEventReservatonAsItemOfferedServiceOutput {
85
+ typeOf: ReservationType.EventReservation;
86
+ /**
87
+ * 追加特性
88
+ */
89
+ additionalProperty?: IPropertyValue<string>[];
90
+ /**
91
+ * 予約追加テキスト
92
+ */
93
+ additionalTicketText?: string;
94
+ programMembershipUsed?: IAcceptedProgramMembershipUsed;
95
+ reservedTicket?: {
96
+ issuedBy?: ReservationFactory.IUnderName;
97
+ typeOf: ReservationFactory.TicketType;
71
98
  /**
72
- * 予約追加テキスト
99
+ * 予約座席指定
100
+ * 指定席イベントの場合、座席を指定
101
+ * 自由席イベントの場合、あるいは、最大収容人数がないイベントの場合は、座席指定不要
73
102
  */
74
- additionalTicketText?: string;
75
- programMembershipUsed?: IAcceptedProgramMembershipUsed;
76
- reservedTicket?: {
77
- issuedBy?: ReservationFactory.IUnderName;
78
- typeOf: ReservationFactory.TicketType;
79
- /**
80
- * 予約座席指定
81
- * 指定席イベントの場合、座席を指定
82
- * 自由席イベントの場合、あるいは、最大収容人数がないイベントの場合は、座席指定不要
83
- */
84
- ticketedSeat?: ReservationFactory.ISeat;
85
- };
86
- subReservation?: IAcceptedSubReservation[];
103
+ ticketedSeat?: ReservationFactory.ISeat;
87
104
  };
105
+ subReservation?: IAcceptedSubReservation[];
106
+ }
107
+ export declare type IItemOfferedServiceOutput = IBusReservatonAsItemOfferedServiceOutput | IEventReservatonAsItemOfferedServiceOutput;
108
+ /**
109
+ * 受け入れられたオファーのアイテム
110
+ */
111
+ export interface IAcceptedTicketOfferItemOffered {
112
+ pointAward?: IAcceptedPointAward;
113
+ serviceOutput?: IItemOfferedServiceOutput;
88
114
  }
89
115
  export interface IAcceptedTicketOfferItemOffered4object {
90
116
  pointAward?: IPointAward;
@@ -188,7 +214,7 @@ export interface IObjectWithoutDetail {
188
214
  id: string;
189
215
  };
190
216
  }
191
- export declare type IReservationFor = IEventReservationReservationFor;
217
+ export declare type IReservationFor = IBusReservationReservationFor | IEventReservationReservationFor;
192
218
  export declare type IObjectSubReservation = ReserveActionFactory.ISubReservation;
193
219
  /**
194
220
  * 取引対象物
@@ -0,0 +1,346 @@
1
+ import * as EventFactory from '../event';
2
+ import { EventType } from '../eventType';
3
+ import { IMultilingualString } from '../multilingualString';
4
+ import * as OfferFactory from '../offer';
5
+ import { OfferType } from '../offerType';
6
+ import { OrganizationType } from '../organizationType';
7
+ import { PlaceType } from '../placeType';
8
+ import { PriceCurrency } from '../priceCurrency';
9
+ import { IServiceType as IProductServiceType, ProductType } from '../product';
10
+ import { IQuantitativeValue } from '../quantitativeValue';
11
+ import * as ReservationFactory from '../reservation';
12
+ import { ReservationType } from '../reservationType';
13
+ import * as WebAPIFactory from '../service/webAPI';
14
+ import { IThing } from '../thing';
15
+ import { ITrip as IBusTrip } from '../trip/busTrip';
16
+ import { UnitCode } from '../unitCode';
17
+ /**
18
+ * 予約集計
19
+ */
20
+ export interface IAggregateReservation {
21
+ typeOf: 'AggregateReservation';
22
+ aggregateDate: Date;
23
+ checkInCount?: number;
24
+ attendeeCount?: number;
25
+ reservationCount?: number;
26
+ useActionCount?: number;
27
+ }
28
+ /**
29
+ * 予約集計つきオファー
30
+ */
31
+ export interface IOfferWithAggregateReservation extends Pick<IThing, 'name'> {
32
+ typeOf: OfferType.Offer;
33
+ id?: string;
34
+ identifier?: string;
35
+ aggregateReservation?: IAggregateReservation;
36
+ category?: OfferFactory.ICategory;
37
+ maximumAttendeeCapacity?: number;
38
+ remainingAttendeeCapacity?: number;
39
+ }
40
+ /**
41
+ * オファー集計
42
+ */
43
+ export interface IAggregateOffer {
44
+ typeOf: OfferType.AggregateOffer;
45
+ offerCount?: number;
46
+ offers?: IOfferWithAggregateReservation[];
47
+ }
48
+ export interface IPlaceWithAggregateOffer {
49
+ typeOf: PlaceType;
50
+ identifier?: string;
51
+ aggregateOffer?: {
52
+ typeOf: OfferType.AggregateOffer;
53
+ offers?: {
54
+ typeOf: OfferType.Offer;
55
+ id?: string;
56
+ identifier?: string;
57
+ category?: OfferFactory.ICategory;
58
+ aggregateReservation?: IAggregateReservation;
59
+ }[];
60
+ };
61
+ }
62
+ /**
63
+ * 入場ゲート集計
64
+ */
65
+ export interface IAggregateEntranceGate {
66
+ typeOf: PlaceType.AggregatePlace;
67
+ places: IPlaceWithAggregateOffer[];
68
+ }
69
+ /**
70
+ * 予約対象
71
+ * 現時点でBusTripのみ
72
+ */
73
+ export declare type IReservationFor = Pick<IBusTrip, 'arrivalBusStop' | 'arrivalTime' | 'busName' | 'busNumber' | 'departureBusStop' | 'departureTime' | 'identifier' | 'typeOf'>;
74
+ export interface IServiceOutput {
75
+ typeOf: ReservationType.BusReservation;
76
+ reservationFor: IReservationFor;
77
+ reservedTicket?: {
78
+ typeOf: ReservationFactory.TicketType;
79
+ /**
80
+ * チケットに割り当てられる座席
81
+ * 指定席でない場合、存在しない
82
+ */
83
+ ticketedSeat?: {
84
+ typeOf: PlaceType.Seat;
85
+ };
86
+ };
87
+ }
88
+ export declare type IServiceType = IProductServiceType & {
89
+ id?: string;
90
+ };
91
+ /**
92
+ * 旅客サービス
93
+ */
94
+ export interface IItemOffered {
95
+ id?: string;
96
+ /**
97
+ * プロダクト名称
98
+ */
99
+ name?: {
100
+ ja?: string;
101
+ };
102
+ /**
103
+ * サービス区分
104
+ */
105
+ serviceType?: IServiceType;
106
+ /**
107
+ * サービスアウトプット
108
+ */
109
+ serviceOutput?: IServiceOutput;
110
+ typeOf: ProductType.Transportation;
111
+ }
112
+ export declare type IOfferedThrough = WebAPIFactory.IService<WebAPIFactory.Identifier.Chevre>;
113
+ export interface ISellerMakesOffer extends Pick<OfferFactory.IOffer, 'typeOf' | 'availableAtOrFrom' | 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough'> {
114
+ availabilityEnds: Date;
115
+ availabilityStarts: Date;
116
+ validFrom: Date;
117
+ validThrough: Date;
118
+ }
119
+ export interface ISeller {
120
+ typeOf: OrganizationType.Corporation;
121
+ id: string;
122
+ name?: string | IMultilingualString;
123
+ makesOffer: ISellerMakesOffer[];
124
+ }
125
+ export declare type IEligibleQuantity = Pick<IQuantitativeValue<UnitCode.C62>, 'maxValue' | 'typeOf' | 'unitCode' | 'value'>;
126
+ /**
127
+ * イベントに対するオファー
128
+ */
129
+ export interface IOffer {
130
+ typeOf: OfferType.Offer;
131
+ priceCurrency: PriceCurrency.JPY;
132
+ /**
133
+ * 情報提供終了日時(オンライン取引アプリケーションの設定)
134
+ */
135
+ availabilityEnds: Date;
136
+ /**
137
+ * 情報提供開始日時(オンライン取引アプリケーションの設定)
138
+ */
139
+ availabilityStarts: Date;
140
+ eligibleQuantity: IEligibleQuantity;
141
+ itemOffered: IItemOffered;
142
+ /**
143
+ * オファー供給サービス
144
+ */
145
+ offeredThrough?: IOfferedThrough;
146
+ /**
147
+ * 販売可能期間from(オンライン取引アプリケーションの設定)
148
+ */
149
+ validFrom: Date;
150
+ /**
151
+ * 販売可能期間through(オンライン取引アプリケーションの設定)
152
+ */
153
+ validThrough: Date;
154
+ unacceptedPaymentMethod?: string[];
155
+ seller: ISeller;
156
+ }
157
+ export interface ILocation {
158
+ typeOf: PlaceType.ScreeningRoom;
159
+ /**
160
+ * ルームコード
161
+ */
162
+ branchCode: string;
163
+ /**
164
+ * 場所名称
165
+ */
166
+ name?: IMultilingualString;
167
+ alternateName?: IMultilingualString;
168
+ description?: IMultilingualString;
169
+ address?: IMultilingualString;
170
+ /**
171
+ * イベント固有のキャパシティ
172
+ * 施設のキャパシティに依存しない場合に使用
173
+ */
174
+ maximumAttendeeCapacity?: number;
175
+ }
176
+ export declare type IName = IMultilingualString;
177
+ /**
178
+ * イベント属性
179
+ */
180
+ export interface IAttributes extends EventFactory.IAttributes<EventType.Event> {
181
+ /**
182
+ * 上映場所
183
+ */
184
+ location: ILocation;
185
+ /**
186
+ * イベント名称
187
+ */
188
+ name: IName;
189
+ /**
190
+ * 開場日時
191
+ * ISO 8601 date format
192
+ */
193
+ doorTime?: Date;
194
+ /**
195
+ * 終了日時(
196
+ * ISO 8601 date format
197
+ */
198
+ endDate: Date;
199
+ /**
200
+ * 開始日時
201
+ * ISO 8601 date format
202
+ */
203
+ startDate: Date;
204
+ /**
205
+ * 販売情報
206
+ */
207
+ offers?: IOffer;
208
+ /**
209
+ * 発券数
210
+ */
211
+ checkInCount?: Number;
212
+ /**
213
+ * 参加数
214
+ */
215
+ attendeeCount?: Number;
216
+ /**
217
+ * 入場ゲート集計
218
+ */
219
+ aggregateEntranceGate?: IAggregateEntranceGate;
220
+ /**
221
+ * 予約集計
222
+ */
223
+ aggregateReservation?: IAggregateReservation;
224
+ /**
225
+ * オファー集計
226
+ */
227
+ aggregateOffer?: IAggregateOffer;
228
+ }
229
+ /**
230
+ * イベント
231
+ */
232
+ export declare type IEvent = EventFactory.IEvent<IAttributes>;
233
+ export declare type ILocation4create = Pick<ILocation, 'branchCode' | 'maximumAttendeeCapacity'>;
234
+ export declare type ISeller4create = Pick<ISeller, 'makesOffer'> & {
235
+ /**
236
+ * POS以外のアプリケーションの共通設定
237
+ */
238
+ makesOfferDefault?: Pick<ISellerMakesOffer, 'typeOf' | 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough'>;
239
+ };
240
+ export declare type IOffers4create = Pick<IOffer, 'unacceptedPaymentMethod'> & {
241
+ /**
242
+ * 最大予約数を指定
243
+ */
244
+ eligibleQuantity: Pick<IEligibleQuantity, 'maxValue'>;
245
+ /**
246
+ * 興行IDと座席有無を指定
247
+ */
248
+ itemOffered: Pick<IItemOffered, 'id' | 'serviceOutput'>;
249
+ /**
250
+ * 販売者IDとアプリケーション設定
251
+ */
252
+ seller: ISeller4create;
253
+ };
254
+ export declare type ICreateParams = Pick<IAttributes, 'project' | 'typeOf' | 'doorTime' | 'startDate' | 'endDate' | 'eventStatus' | 'additionalProperty'> & {
255
+ /**
256
+ * ルームコードとキャパシティを指定
257
+ */
258
+ location: ILocation4create;
259
+ offers: IOffers4create;
260
+ };
261
+ /**
262
+ * イベント更新パラメータ
263
+ */
264
+ export declare type IUpdateParams = ICreateParams;
265
+ /**
266
+ * ソート条件
267
+ */
268
+ export declare type ISortOrder = EventFactory.ISortOrder;
269
+ export interface IOfferSearchConditions {
270
+ /**
271
+ * apiリクエストクライアントがseller.makesOffer.$elemMatchに含まれるものを検索
272
+ */
273
+ availableFrom?: Date;
274
+ /**
275
+ * apiリクエストクライアントがseller.makesOffer.$elemMatchに含まれるものを検索
276
+ */
277
+ availableThrough?: Date;
278
+ /**
279
+ * apiリクエストクライアントがseller.makesOffer.$elemMatchに含まれるものを検索
280
+ */
281
+ validFrom?: Date;
282
+ /**
283
+ * apiリクエストクライアントがseller.makesOffer.$elemMatchに含まれるものを検索
284
+ */
285
+ validThrough?: Date;
286
+ itemOffered?: {
287
+ id?: {
288
+ $in?: string[];
289
+ };
290
+ serviceType?: {
291
+ ids?: string[];
292
+ };
293
+ serviceOutput?: {
294
+ reservedTicket?: {
295
+ ticketedSeat?: {
296
+ typeOfs?: string[];
297
+ };
298
+ };
299
+ };
300
+ typeOf?: {
301
+ $eq?: ProductType;
302
+ };
303
+ };
304
+ seller?: {
305
+ makesOffer?: {
306
+ $elemMatch?: {
307
+ availabilityEnds?: {
308
+ $gte?: Date;
309
+ $lte?: Date;
310
+ };
311
+ availabilityStarts?: {
312
+ $gte?: Date;
313
+ $lte?: Date;
314
+ };
315
+ validFrom?: {
316
+ $gte?: Date;
317
+ $lte?: Date;
318
+ };
319
+ validThrough?: {
320
+ $gte?: Date;
321
+ $lte?: Date;
322
+ };
323
+ 'availableAtOrFrom.id'?: {
324
+ $eq?: string;
325
+ };
326
+ };
327
+ };
328
+ };
329
+ }
330
+ /**
331
+ * イベント検索条件
332
+ */
333
+ export interface ISearchConditions extends EventFactory.ISearchConditions<EventType.Event> {
334
+ location?: {
335
+ /**
336
+ * ルームコード
337
+ */
338
+ branchCode?: {
339
+ $eq?: string;
340
+ };
341
+ };
342
+ /**
343
+ * 販売情報
344
+ */
345
+ offers?: IOfferSearchConditions;
346
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -2,71 +2,19 @@ import * as COA from '@motionpicture/coa-service';
2
2
  import * as EventFactory from '../event';
3
3
  import * as ScreeningEventSeriesFactory from '../event/screeningEventSeries';
4
4
  import { EventType } from '../eventType';
5
- import { IMultilingualString } from '../multilingualString';
6
- import * as OfferFactory from '../offer';
7
5
  import { OfferType } from '../offerType';
8
- import { OrganizationType } from '../organizationType';
9
6
  import { PlaceType } from '../placeType';
10
7
  import { PriceCurrency } from '../priceCurrency';
11
- import { IServiceType as IProductServiceType } from '../product';
12
- import { IQuantitativeValue } from '../quantitativeValue';
8
+ import { IServiceType as IProductServiceType, ProductType } from '../product';
13
9
  import * as ReservationFactory from '../reservation';
14
10
  import { ReservationType } from '../reservationType';
15
11
  import * as WebAPIFactory from '../service/webAPI';
16
- import { IThing } from '../thing';
17
- import { UnitCode } from '../unitCode';
18
- /**
19
- * 予約集計
20
- */
21
- export interface IAggregateReservation {
22
- typeOf: 'AggregateReservation';
23
- aggregateDate: Date;
24
- checkInCount?: number;
25
- attendeeCount?: number;
26
- reservationCount?: number;
27
- useActionCount?: number;
28
- }
29
- /**
30
- * 予約集計つきオファー
31
- */
32
- export interface IOfferWithAggregateReservation extends Pick<IThing, 'name'> {
33
- typeOf: OfferType.Offer;
34
- id?: string;
35
- identifier?: string;
36
- aggregateReservation?: IAggregateReservation;
37
- category?: OfferFactory.ICategory;
38
- maximumAttendeeCapacity?: number;
39
- remainingAttendeeCapacity?: number;
40
- }
41
- /**
42
- * オファー集計
43
- */
44
- export interface IAggregateOffer {
45
- typeOf: OfferType.AggregateOffer;
46
- offerCount?: number;
47
- offers?: IOfferWithAggregateReservation[];
48
- }
49
- export interface IPlaceWithAggregateOffer {
50
- typeOf: PlaceType;
51
- identifier?: string;
52
- aggregateOffer?: {
53
- typeOf: OfferType.AggregateOffer;
54
- offers?: {
55
- typeOf: OfferType.Offer;
56
- id?: string;
57
- identifier?: string;
58
- category?: OfferFactory.ICategory;
59
- aggregateReservation?: IAggregateReservation;
60
- }[];
61
- };
62
- }
63
- /**
64
- * 入場ゲート集計
65
- */
66
- export interface IAggregateEntranceGate {
67
- typeOf: PlaceType.AggregatePlace;
68
- places: IPlaceWithAggregateOffer[];
69
- }
12
+ import * as AnyEventFactory from './anyEvent';
13
+ export import IAggregateReservation = AnyEventFactory.IAggregateReservation;
14
+ export import IOfferWithAggregateReservation = AnyEventFactory.IOfferWithAggregateReservation;
15
+ export import IAggregateOffer = AnyEventFactory.IAggregateOffer;
16
+ export import IPlaceWithAggregateOffer = AnyEventFactory.IPlaceWithAggregateOffer;
17
+ export import IAggregateEntranceGate = AnyEventFactory.IAggregateEntranceGate;
70
18
  export interface IServiceOutput {
71
19
  typeOf: ReservationType.EventReservation;
72
20
  reservedTicket?: {
@@ -102,21 +50,12 @@ export interface IItemOffered {
102
50
  * サービスアウトプット
103
51
  */
104
52
  serviceOutput?: IServiceOutput;
53
+ typeOf: ProductType.EventService;
105
54
  }
106
55
  export declare type IOfferedThrough = WebAPIFactory.IService<WebAPIFactory.Identifier>;
107
- export interface ISellerMakesOffer extends Pick<OfferFactory.IOffer, 'typeOf' | 'availableAtOrFrom' | 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough'> {
108
- availabilityEnds: Date;
109
- availabilityStarts: Date;
110
- validFrom: Date;
111
- validThrough: Date;
112
- }
113
- export interface ISeller {
114
- typeOf: OrganizationType.Corporation;
115
- id: string;
116
- name?: string | IMultilingualString;
117
- makesOffer: ISellerMakesOffer[];
118
- }
119
- export declare type IEligibleQuantity = Pick<IQuantitativeValue<UnitCode.C62>, 'maxValue' | 'typeOf' | 'unitCode' | 'value'>;
56
+ export import ISellerMakesOffer = AnyEventFactory.ISellerMakesOffer;
57
+ export import ISeller = AnyEventFactory.ISeller;
58
+ export import IEligibleQuantity = AnyEventFactory.IEligibleQuantity;
120
59
  /**
121
60
  * イベントに対するオファー
122
61
  */
@@ -218,61 +157,17 @@ export declare type ICOAOffer = COA.factory.reserve.IUpdReserveTicket & {
218
157
  usePoint: number;
219
158
  };
220
159
  export declare type IWorkPerformed = ScreeningEventSeriesFactory.IWorkPerformed;
221
- export interface ILocation {
222
- /**
223
- * 場所タイプ
224
- */
225
- typeOf: PlaceType.ScreeningRoom;
226
- /**
227
- * ルームコード
228
- */
229
- branchCode: string;
230
- /**
231
- * 場所名称
232
- */
233
- name?: IMultilingualString;
234
- alternateName?: IMultilingualString;
235
- description?: IMultilingualString;
236
- address?: IMultilingualString;
237
- /**
238
- * イベント固有のキャパシティ
239
- * 施設のキャパシティに依存しない場合に使用
240
- */
241
- maximumAttendeeCapacity?: number;
242
- }
160
+ export import ILocation = AnyEventFactory.ILocation;
243
161
  export declare type ISuperEvent = Omit<ScreeningEventSeriesFactory.IEvent, 'eventStatus' | 'offers' | 'organizer'>;
244
- export declare type IName = IMultilingualString;
162
+ export import IName = AnyEventFactory.IName;
245
163
  /**
246
164
  * イベント属性
247
165
  */
248
- export interface IAttributes extends EventFactory.IAttributes<EventType.ScreeningEvent> {
166
+ export interface IAttributes extends Omit<AnyEventFactory.IAttributes, 'offers' | 'typeOf'> {
249
167
  /**
250
168
  * コンテンツ
251
169
  */
252
170
  workPerformed?: IWorkPerformed;
253
- /**
254
- * 上映場所
255
- */
256
- location: ILocation;
257
- /**
258
- * イベント名称
259
- */
260
- name: IName;
261
- /**
262
- * 開場日時
263
- * ISO 8601 date format
264
- */
265
- doorTime?: Date;
266
- /**
267
- * 終了日時(
268
- * ISO 8601 date format
269
- */
270
- endDate: Date;
271
- /**
272
- * 開始日時
273
- * ISO 8601 date format
274
- */
275
- startDate: Date;
276
171
  /**
277
172
  * 親イベント
278
173
  * 施設コンテンツに相当
@@ -282,44 +177,20 @@ export interface IAttributes extends EventFactory.IAttributes<EventType.Screenin
282
177
  * 販売情報
283
178
  */
284
179
  offers?: IOffer | IOffer4COA;
285
- /**
286
- * 発券数
287
- */
288
- checkInCount?: Number;
289
- /**
290
- * 参加数
291
- */
292
- attendeeCount?: Number;
293
- /**
294
- * 入場ゲート集計
295
- */
296
- aggregateEntranceGate?: IAggregateEntranceGate;
297
- /**
298
- * 予約集計
299
- */
300
- aggregateReservation?: IAggregateReservation;
301
- /**
302
- * オファー集計
303
- */
304
- aggregateOffer?: IAggregateOffer;
305
180
  /**
306
181
  * その他COA情報
307
182
  * 基本的にsskts対応
308
183
  */
309
184
  coaInfo?: ICOAInfo;
185
+ typeOf: EventType.ScreeningEvent;
310
186
  }
311
187
  /**
312
188
  * イベント
313
189
  */
314
190
  export declare type IEvent = EventFactory.IEvent<IAttributes>;
315
- export declare type ILocation4create = Pick<ILocation, 'branchCode' | 'maximumAttendeeCapacity'>;
191
+ export import ILocation4create = AnyEventFactory.ILocation4create;
192
+ export import ISeller4create = AnyEventFactory.ISeller4create;
316
193
  export declare type ISuperEvent4create = Pick<ISuperEvent, 'id'>;
317
- export declare type ISeller4create = Pick<ISeller, 'makesOffer'> & {
318
- /**
319
- * POS以外のアプリケーションの共通設定
320
- */
321
- makesOfferDefault?: Pick<ISellerMakesOffer, 'typeOf' | 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough'>;
322
- };
323
194
  export declare type IOffers4create = Pick<IOffer, 'unacceptedPaymentMethod'> & {
324
195
  /**
325
196
  * 最大予約数を指定
@@ -2,6 +2,7 @@
2
2
  * イベントタイプ
3
3
  */
4
4
  export declare enum EventType {
5
+ Event = "Event",
5
6
  ScreeningEvent = "ScreeningEvent",
6
7
  ScreeningEventSeries = "ScreeningEventSeries"
7
8
  }
package/lib/eventType.js CHANGED
@@ -6,6 +6,7 @@ exports.EventType = void 0;
6
6
  */
7
7
  var EventType;
8
8
  (function (EventType) {
9
+ EventType["Event"] = "Event";
9
10
  EventType["ScreeningEvent"] = "ScreeningEvent";
10
11
  EventType["ScreeningEventSeries"] = "ScreeningEventSeries";
11
12
  })(EventType = exports.EventType || (exports.EventType = {}));
package/lib/index.d.ts CHANGED
@@ -55,6 +55,7 @@ import * as WebApplicationFactory from './creativeWork/softwareApplication/webAp
55
55
  import { CreativeWorkType } from './creativeWorkType';
56
56
  import * as CustomerFactory from './customer';
57
57
  import * as EncodingFormat from './encodingFormat';
58
+ import * as AnyEventFactory from './event/anyEvent';
58
59
  import * as ScreeningEventFactory from './event/screeningEvent';
59
60
  import * as ScreeningEventSeriesFactory from './event/screeningEventSeries';
60
61
  import { EventStatusType } from './eventStatusType';
@@ -101,6 +102,7 @@ import * as QualitativeValueFactory from './qualitativeValue';
101
102
  import * as QuantitativeValueFactory from './quantitativeValue';
102
103
  import * as AccountingReportFactory from './report/accountingReport';
103
104
  import * as ReservationFactory from './reservation';
105
+ import * as BusReservationFactory from './reservation/busReservation';
104
106
  import * as EventReservationFactory from './reservation/event';
105
107
  import * as ReservationPackageFactory from './reservation/reservationPackage';
106
108
  import { ReservationStatusType } from './reservationStatusType';
@@ -297,11 +299,12 @@ export declare namespace creativeWork {
297
299
  export import creativeWorkType = CreativeWorkType;
298
300
  export import customer = CustomerFactory;
299
301
  export declare namespace event {
300
- type ISearchConditions<T extends EventType> = T extends EventType.ScreeningEvent ? ScreeningEventFactory.ISearchConditions : T extends EventType.ScreeningEventSeries ? ScreeningEventSeriesFactory.ISearchConditions : never;
301
- type IAttributes<T extends EventType> = T extends EventType.ScreeningEvent ? ScreeningEventFactory.IAttributes : T extends EventType.ScreeningEventSeries ? ScreeningEventSeriesFactory.IAttributes : never;
302
- type IEvent<T extends EventType> = T extends EventType.ScreeningEvent ? ScreeningEventFactory.IEvent : T extends EventType.ScreeningEventSeries ? ScreeningEventSeriesFactory.IEvent : never;
303
- type ICreateParams<T extends EventType> = T extends EventType.ScreeningEvent ? ScreeningEventFactory.ICreateParams : T extends EventType.ScreeningEventSeries ? ScreeningEventSeriesFactory.ICreateParams : never;
304
- type IUpdateParams<T extends EventType> = T extends EventType.ScreeningEvent ? ScreeningEventFactory.IUpdateParams : T extends EventType.ScreeningEventSeries ? ScreeningEventSeriesFactory.ICreateParams : never;
302
+ type ISearchConditions<T extends EventType> = T extends EventType.ScreeningEvent ? ScreeningEventFactory.ISearchConditions : T extends EventType.ScreeningEventSeries ? ScreeningEventSeriesFactory.ISearchConditions : T extends EventType.Event ? AnyEventFactory.ISearchConditions : never;
303
+ type IAttributes<T extends EventType> = T extends EventType.ScreeningEvent ? ScreeningEventFactory.IAttributes : T extends EventType.ScreeningEventSeries ? ScreeningEventSeriesFactory.IAttributes : T extends EventType.Event ? AnyEventFactory.IAttributes : never;
304
+ type IEvent<T extends EventType> = T extends EventType.ScreeningEvent ? ScreeningEventFactory.IEvent : T extends EventType.ScreeningEventSeries ? ScreeningEventSeriesFactory.IEvent : T extends EventType.Event ? AnyEventFactory.IEvent : never;
305
+ type ICreateParams<T extends EventType> = T extends EventType.ScreeningEvent ? ScreeningEventFactory.ICreateParams : T extends EventType.ScreeningEventSeries ? ScreeningEventSeriesFactory.ICreateParams : T extends EventType.Event ? AnyEventFactory.ICreateParams : never;
306
+ type IUpdateParams<T extends EventType> = T extends EventType.ScreeningEvent ? ScreeningEventFactory.IUpdateParams : T extends EventType.ScreeningEventSeries ? ScreeningEventSeriesFactory.ICreateParams : T extends EventType.Event ? AnyEventFactory.IUpdateParams : never;
307
+ export import event = AnyEventFactory;
305
308
  export import screeningEvent = ScreeningEventFactory;
306
309
  export import screeningEventSeries = ScreeningEventSeriesFactory;
307
310
  }
@@ -366,21 +369,22 @@ export declare namespace report {
366
369
  export import accountingReport = AccountingReportFactory;
367
370
  }
368
371
  export declare namespace reservation {
372
+ export import busReservation = BusReservationFactory;
369
373
  export import eventReservation = EventReservationFactory;
370
- type IBroker<T extends ReservationType> = T extends ReservationType.EventReservation ? ReservationFactory.IBroker : ReservationFactory.IBroker;
371
- type IPriceSpecification<T extends ReservationType> = T extends ReservationType.EventReservation ? EventReservationFactory.IPriceSpecification : T extends ReservationType.ReservationPackage ? ReservationPackageFactory.IPriceSpecification : ReservationFactory.IPriceSpecification;
372
- type IProgramMembershipUsed<T extends ReservationType> = T extends ReservationType.EventReservation ? ReservationFactory.IProgramMembershipUsed : ReservationFactory.IProgramMembershipUsed;
373
- type IReservationFor<T extends ReservationType> = T extends ReservationType.EventReservation ? EventReservationFactory.IReservationFor : T extends ReservationType.ReservationPackage ? ReservationFactory.IReservationFor : ReservationFactory.IReservationFor;
374
- type IReservation<T extends ReservationType> = T extends ReservationType.EventReservation ? EventReservationFactory.IReservation : T extends ReservationType.ReservationPackage ? ReservationPackageFactory.IReservation : ReservationFactory.IReservation<ReservationFactory.IPriceSpecification>;
375
- type ISearchConditions<T extends ReservationType> = T extends ReservationType.EventReservation ? EventReservationFactory.ISearchConditions : T extends ReservationType.ReservationPackage ? ReservationPackageFactory.ISearchConditions : ReservationPackageFactory.ISearchConditions;
376
- type ISortOrder<T extends ReservationType> = T extends ReservationType.EventReservation ? ReservationFactory.ISortOrder : ReservationFactory.ISortOrder;
377
- type ISeat<T extends ReservationType> = T extends ReservationType.EventReservation ? ReservationFactory.ISeat : ReservationFactory.ISeat;
378
- type ISubReservation<T extends ReservationType> = T extends ReservationType.EventReservation ? EventReservationFactory.ISubReservation : T extends ReservationType.ReservationPackage ? ReservationPackageFactory.ISubReservation : any;
374
+ type IBroker<T extends ReservationType> = T extends ReservationType.BusReservation ? ReservationFactory.IBroker : T extends ReservationType.EventReservation ? ReservationFactory.IBroker : ReservationFactory.IBroker;
375
+ type IPriceSpecification<T extends ReservationType> = T extends ReservationType.BusReservation ? BusReservationFactory.IPriceSpecification : T extends ReservationType.EventReservation ? EventReservationFactory.IPriceSpecification : T extends ReservationType.ReservationPackage ? ReservationPackageFactory.IPriceSpecification : ReservationFactory.IPriceSpecification;
376
+ type IProgramMembershipUsed<T extends ReservationType> = T extends ReservationType.BusReservation ? ReservationFactory.IProgramMembershipUsed : T extends ReservationType.EventReservation ? ReservationFactory.IProgramMembershipUsed : ReservationFactory.IProgramMembershipUsed;
377
+ type IReservationFor<T extends ReservationType> = T extends ReservationType.BusReservation ? BusReservationFactory.IReservationFor : T extends ReservationType.EventReservation ? EventReservationFactory.IReservationFor : T extends ReservationType.ReservationPackage ? ReservationFactory.IReservationFor : ReservationFactory.IReservationFor;
378
+ type IReservation<T extends ReservationType> = T extends ReservationType.BusReservation ? BusReservationFactory.IReservation : T extends ReservationType.EventReservation ? EventReservationFactory.IReservation : T extends ReservationType.ReservationPackage ? ReservationPackageFactory.IReservation : ReservationFactory.IReservation<ReservationFactory.IPriceSpecification>;
379
+ type ISearchConditions<T extends ReservationType> = T extends ReservationType.BusReservation ? BusReservationFactory.ISearchConditions : T extends ReservationType.EventReservation ? EventReservationFactory.ISearchConditions : T extends ReservationType.ReservationPackage ? ReservationPackageFactory.ISearchConditions : ReservationPackageFactory.ISearchConditions;
380
+ type ISortOrder<T extends ReservationType> = T extends ReservationType.BusReservation ? ReservationFactory.ISortOrder : T extends ReservationType.EventReservation ? ReservationFactory.ISortOrder : ReservationFactory.ISortOrder;
381
+ type ISeat<T extends ReservationType> = T extends ReservationType.BusReservation ? ReservationFactory.ISeat : T extends ReservationType.EventReservation ? ReservationFactory.ISeat : ReservationFactory.ISeat;
382
+ type ISubReservation<T extends ReservationType> = T extends ReservationType.BusReservation ? BusReservationFactory.ISubReservation : T extends ReservationType.EventReservation ? EventReservationFactory.ISubReservation : T extends ReservationType.ReservationPackage ? ReservationPackageFactory.ISubReservation : any;
379
383
  export import ITicket = ReservationFactory.ITicket;
380
- type IUnderName<T extends ReservationType> = T extends ReservationType.EventReservation ? ReservationFactory.IUnderName : ReservationFactory.IUnderName;
381
- type ITicketIssuedBy<T extends ReservationType> = T extends ReservationType.EventReservation ? ReservationFactory.ITicketIssuedBy : ReservationFactory.ITicketIssuedBy;
382
- type TicketType<T extends ReservationType> = T extends ReservationType.EventReservation ? ReservationFactory.TicketType : ReservationFactory.TicketType;
383
- type ITicketType<T extends ReservationType> = T extends ReservationType.EventReservation ? ReservationFactory.ITicketType : ReservationFactory.ITicketType;
384
+ type IUnderName<T extends ReservationType> = T extends ReservationType.BusReservation ? ReservationFactory.IUnderName : T extends ReservationType.EventReservation ? ReservationFactory.IUnderName : ReservationFactory.IUnderName;
385
+ type ITicketIssuedBy<T extends ReservationType> = T extends ReservationType.BusReservation ? ReservationFactory.ITicketIssuedBy : T extends ReservationType.EventReservation ? ReservationFactory.ITicketIssuedBy : ReservationFactory.ITicketIssuedBy;
386
+ type TicketType<T extends ReservationType> = T extends ReservationType.BusReservation ? ReservationFactory.TicketType : T extends ReservationType.EventReservation ? ReservationFactory.TicketType : ReservationFactory.TicketType;
387
+ type ITicketType<T extends ReservationType> = T extends ReservationType.BusReservation ? ReservationFactory.ITicketType : T extends ReservationType.EventReservation ? ReservationFactory.ITicketType : ReservationFactory.ITicketType;
384
388
  }
385
389
  export import reservationStatusType = ReservationStatusType;
386
390
  export import reservationType = ReservationType;
package/lib/index.js CHANGED
@@ -53,6 +53,7 @@ var WebApplicationFactory = require("./creativeWork/softwareApplication/webAppli
53
53
  var creativeWorkType_1 = require("./creativeWorkType");
54
54
  var CustomerFactory = require("./customer");
55
55
  var EncodingFormat = require("./encodingFormat");
56
+ var AnyEventFactory = require("./event/anyEvent");
56
57
  var ScreeningEventFactory = require("./event/screeningEvent");
57
58
  var ScreeningEventSeriesFactory = require("./event/screeningEventSeries");
58
59
  var eventStatusType_1 = require("./eventStatusType");
@@ -92,6 +93,7 @@ var PropertyValueFactory = require("./propertyValue");
92
93
  var QualitativeValueFactory = require("./qualitativeValue");
93
94
  var QuantitativeValueFactory = require("./quantitativeValue");
94
95
  var AccountingReportFactory = require("./report/accountingReport");
96
+ var BusReservationFactory = require("./reservation/busReservation");
95
97
  var EventReservationFactory = require("./reservation/event");
96
98
  var reservationStatusType_1 = require("./reservationStatusType");
97
99
  var reservationType_1 = require("./reservationType");
@@ -280,6 +282,8 @@ exports.creativeWorkType = creativeWorkType_1.CreativeWorkType;
280
282
  exports.customer = CustomerFactory;
281
283
  var event;
282
284
  (function (event) {
285
+ // tslint:disable-next-line:no-shadowed-variable
286
+ event.event = AnyEventFactory;
283
287
  event.screeningEvent = ScreeningEventFactory;
284
288
  event.screeningEventSeries = ScreeningEventSeriesFactory;
285
289
  })(event = exports.event || (exports.event = {}));
@@ -338,6 +342,7 @@ var report;
338
342
  })(report = exports.report || (exports.report = {}));
339
343
  var reservation;
340
344
  (function (reservation) {
345
+ reservation.busReservation = BusReservationFactory;
341
346
  reservation.eventReservation = EventReservationFactory;
342
347
  })(reservation = exports.reservation || (exports.reservation = {}));
343
348
  exports.reservationStatusType = reservationStatusType_1.ReservationStatusType;
package/lib/order.d.ts CHANGED
@@ -21,6 +21,7 @@ import { IPriceSpecification as IMovieTicketTypeChargeSpecification } from './pr
21
21
  import { IProduct, ProductType } from './product';
22
22
  import { IPropertyValue } from './propertyValue';
23
23
  import { IProgramMembershipUsedSearchConditions, ITicket, ITicketType } from './reservation';
24
+ import * as BusReservationFactory from './reservation/busReservation';
24
25
  import * as EventReservationFactory from './reservation/event';
25
26
  import { ReservationType } from './reservationType';
26
27
  import { SortType } from './sortType';
@@ -90,16 +91,22 @@ export declare type IWorkPerformed = Pick<EventReservationFactory.IOptimizedWork
90
91
  export declare type ISuperEvent = Omit<EventReservationFactory.IOptimizedSuperEvent, 'workPerformed'> & {
91
92
  workPerformed: IWorkPerformed;
92
93
  };
93
- export declare type IReservationFor = Omit<EventReservationFactory.IReservationFor, 'superEvent'> & {
94
+ export declare type ITripAsReservationFor = BusReservationFactory.IReservationFor;
95
+ export declare type IEventAsReservationFor = Omit<EventReservationFactory.IReservationFor, 'superEvent'> & {
94
96
  superEvent: ISuperEvent;
95
97
  };
96
98
  export declare type IReservedTicket = Pick<ITicket, 'typeOf' | 'ticketedSeat' | 'dateIssued' | 'ticketNumber' | 'ticketToken' | 'coaTicketInfo' | 'coaReserveAmount'> & {
97
99
  ticketType: ITicketType;
98
100
  };
99
- export declare type IReservation = Pick<EventReservationFactory.IReservation, 'additionalProperty' | 'additionalTicketText' | 'bookingTime' | 'id' | 'issuedThrough' | 'programMembershipUsed' | 'project' | 'reservationNumber' | 'typeOf'> & {
100
- reservationFor: IReservationFor;
101
+ export declare type IBusReservation = Pick<BusReservationFactory.IReservation, 'additionalProperty' | 'additionalTicketText' | 'bookingTime' | 'id' | 'issuedThrough' | 'programMembershipUsed' | 'project' | 'reservationNumber' | 'typeOf'> & {
102
+ reservationFor: ITripAsReservationFor;
101
103
  reservedTicket: IReservedTicket;
102
104
  };
105
+ export declare type IEventReservation = Pick<EventReservationFactory.IReservation, 'additionalProperty' | 'additionalTicketText' | 'bookingTime' | 'id' | 'issuedThrough' | 'programMembershipUsed' | 'project' | 'reservationNumber' | 'typeOf'> & {
106
+ reservationFor: IEventAsReservationFor;
107
+ reservedTicket: IReservedTicket;
108
+ };
109
+ export declare type IReservation = IBusReservation | IEventReservation;
103
110
  export declare type IPermit = Pick<PermitFactory.IPermit, 'amount' | 'identifier' | 'issuedThrough' | 'name' | 'project' | 'typeOf' | 'validFor'>;
104
111
  export interface IMoneyTransferPendingTransaction {
105
112
  typeOf: AssetTransactionType.MoneyTransfer;
@@ -5,15 +5,31 @@ import { PersonType } from './personType';
5
5
  import * as ProductFactory from './product';
6
6
  import { IProject } from './project';
7
7
  import { IPropertyValue } from './propertyValue';
8
+ import { IReservation as IBusReservation } from './reservation/busReservation';
8
9
  import { IReservation as IEventReservation } from './reservation/event';
9
10
  import { ReservationType } from './reservationType';
10
11
  import * as WebAPIFactory from './service/webAPI';
11
12
  import { SortType } from './sortType';
12
13
  export declare type IBookingService = WebAPIFactory.IService<WebAPIFactory.Identifier>;
13
- /**
14
- * 予約
15
- */
16
- export interface IReservation {
14
+ export interface IBusReservationAsGood {
15
+ typeOf: ReservationType.BusReservation;
16
+ /**
17
+ * 予約ID
18
+ */
19
+ id?: string;
20
+ issuedThrough?: {
21
+ typeOf: ProductFactory.ProductType.Transportation;
22
+ };
23
+ /**
24
+ * 予約番号
25
+ */
26
+ reservationNumber?: string;
27
+ /**
28
+ * ブッキングサービス(API)
29
+ */
30
+ bookingService?: IBookingService;
31
+ }
32
+ export interface IEventReservationAsGood {
17
33
  typeOf: ReservationType.EventReservation;
18
34
  /**
19
35
  * 予約ID
@@ -31,7 +47,11 @@ export interface IReservation {
31
47
  */
32
48
  bookingService?: IBookingService;
33
49
  }
34
- export declare type IReservationWithDetail = IReservation & IEventReservation;
50
+ /**
51
+ * 予約
52
+ */
53
+ export declare type IReservation = IBusReservationAsGood | IEventReservationAsGood;
54
+ export declare type IReservationWithDetail = (IEventReservationAsGood & IEventReservation) | (IBusReservationAsGood & IBusReservation);
35
55
  export declare type IPermit = Pick<PermitFactory.IPermit, 'identifier' | 'issuedThrough' | 'name' | 'project' | 'typeOf' | 'validFor'>;
36
56
  /**
37
57
  * 所有対象物 (Product or Service)
package/lib/product.d.ts CHANGED
@@ -34,7 +34,7 @@ export declare enum ProductType {
34
34
  */
35
35
  Product = "Product",
36
36
  /**
37
- * 旅客
37
+ * 旅客サービス
38
38
  */
39
39
  Transportation = "Transportation"
40
40
  }
package/lib/product.js CHANGED
@@ -23,7 +23,7 @@ var ProductType;
23
23
  */
24
24
  ProductType["Product"] = "Product";
25
25
  /**
26
- * 旅客
26
+ * 旅客サービス
27
27
  */
28
28
  ProductType["Transportation"] = "Transportation";
29
29
  })(ProductType = exports.ProductType || (exports.ProductType = {}));
@@ -0,0 +1,39 @@
1
+ import { ITicketPriceComponent, ITicketPriceSpecification } from '../order';
2
+ import { ProductType } from '../product';
3
+ import * as ReservationFactory from '../reservation';
4
+ import { ReservationStatusType } from '../reservationStatusType';
5
+ import { ReservationType } from '../reservationType';
6
+ import { ITrip as IBusTrip } from '../trip/busTrip';
7
+ export declare type IReservationFor = Pick<IBusTrip, 'arrivalBusStop' | 'arrivalTime' | 'busName' | 'busNumber' | 'departureBusStop' | 'departureTime' | 'id' | 'identifier' | 'name' | 'typeOf'>;
8
+ export declare type IPriceComponentSpecification = ITicketPriceComponent;
9
+ export declare type IPriceSpecification = ITicketPriceSpecification;
10
+ export interface ISubReservation {
11
+ reservedTicket: {
12
+ typeOf: ReservationFactory.TicketType;
13
+ ticketedSeat: ReservationFactory.ISeat;
14
+ };
15
+ }
16
+ export import IServiceTypeOfIssuedThrough = ReservationFactory.IServiceTypeOfIssuedThrough;
17
+ export interface IIssuedThrough {
18
+ typeOf: ProductType.Transportation;
19
+ serviceType?: IServiceTypeOfIssuedThrough;
20
+ id?: string;
21
+ }
22
+ /**
23
+ * イベント予約
24
+ */
25
+ export interface IReservation extends ReservationFactory.IReservation<IPriceSpecification> {
26
+ id: string;
27
+ issuedThrough: IIssuedThrough;
28
+ reservationFor: IReservationFor;
29
+ reservationNumber: string;
30
+ reservationStatus: ReservationStatusType;
31
+ reservedTicket: ReservationFactory.ITicket;
32
+ subReservation?: ISubReservation[];
33
+ typeOf: ReservationType.BusReservation;
34
+ }
35
+ /**
36
+ * 検索条件
37
+ */
38
+ export interface ISearchConditions extends ReservationFactory.ISearchConditions<ReservationType.BusReservation> {
39
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -2,6 +2,7 @@ import { ICOAInfo, ILocation as IEventLocation, IName as IEventName, ISuperEvent
2
2
  import { EventType } from '../eventType';
3
3
  import { IMultilingualString } from '../multilingualString';
4
4
  import { ITicketPriceComponent, ITicketPriceSpecification } from '../order';
5
+ import { ProductType } from '../product';
5
6
  import * as ReservationFactory from '../reservation';
6
7
  import { ReservationStatusType } from '../reservationStatusType';
7
8
  import { ReservationType } from '../reservationType';
@@ -39,7 +40,11 @@ export interface ISubReservation {
39
40
  };
40
41
  }
41
42
  export import IServiceTypeOfIssuedThrough = ReservationFactory.IServiceTypeOfIssuedThrough;
42
- export import IIssuedThrough = ReservationFactory.IIssuedThrough;
43
+ export interface IIssuedThrough {
44
+ typeOf: ProductType.EventService;
45
+ serviceType?: IServiceTypeOfIssuedThrough;
46
+ id?: string;
47
+ }
43
48
  /**
44
49
  * イベント予約
45
50
  */
@@ -167,7 +167,7 @@ export interface IBroker {
167
167
  export declare type IProgramMembershipUsed = IPermit;
168
168
  export declare type IServiceTypeOfIssuedThrough = Pick<IServiceType, 'codeValue' | 'inCodeSet' | 'typeOf'>;
169
169
  export interface IIssuedThrough {
170
- typeOf: ProductType.EventService;
170
+ typeOf: ProductType.Transportation | ProductType.EventService;
171
171
  serviceType?: IServiceTypeOfIssuedThrough;
172
172
  id?: string;
173
173
  }
@@ -2,6 +2,7 @@
2
2
  * 予約タイプ
3
3
  */
4
4
  export declare enum ReservationType {
5
+ BusReservation = "BusReservation",
5
6
  EventReservation = "EventReservation",
6
7
  ReservationPackage = "ReservationPackage"
7
8
  }
@@ -6,6 +6,7 @@ exports.ReservationType = void 0;
6
6
  */
7
7
  var ReservationType;
8
8
  (function (ReservationType) {
9
+ ReservationType["BusReservation"] = "BusReservation";
9
10
  ReservationType["EventReservation"] = "EventReservation";
10
11
  ReservationType["ReservationPackage"] = "ReservationPackage";
11
12
  })(ReservationType = exports.ReservationType || (exports.ReservationType = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chevre/factory",
3
- "version": "4.281.0-alpha.0",
3
+ "version": "4.281.0-alpha.1",
4
4
  "description": "Chevre Factory Library for Javascript",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",