@chevre/factory 11.1.0-alpha.1 → 11.1.0-alpha.10

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.
@@ -6,9 +6,9 @@ import { IPriceSpecification as ICompoundPriceSpecification } from './priceSpeci
6
6
  import { ProductType } from './product';
7
7
  import { IPropertyValue } from './propertyValue';
8
8
  import { IReservation as IRawReservation, IReservedTicket as IRawReservedTicket } from './reservation/event';
9
- import { IService, Identifier } from './service/webAPI';
9
+ import { Identifier } from './service/webAPI';
10
10
  export type IWorkPerformed = Pick<IOptimizedWorkPerformedLegacy, 'typeOf' | 'id' | 'identifier' | 'name' | 'duration'>;
11
- export type ISuperEvent = Pick<IOptimizedSuperEventLegacy, 'id' | 'location' | 'name' | 'soundFormat' | 'typeOf' | 'headline'> & {
11
+ export type ISuperEvent = Pick<IOptimizedSuperEventLegacy, 'id' | 'location' | 'name' | 'typeOf' | 'headline'> & {
12
12
  workPerformed: IWorkPerformed;
13
13
  identifier?: never;
14
14
  alternativeHeadline?: never;
@@ -18,7 +18,7 @@ export type ISuperEvent = Pick<IOptimizedSuperEventLegacy, 'id' | 'location' | '
18
18
  /**
19
19
  * COAの場合の施設コンテンツ
20
20
  */
21
- export type ICOASuperEvent = Pick<IOptimizedSuperEventLegacy, 'id' | 'location' | 'name' | 'soundFormat' | 'typeOf' | 'headline'> & Pick<IEventSeries, 'identifier' | 'alternativeHeadline' | 'duration' | 'coaInfo'> & {
21
+ export type ICOASuperEvent = Pick<IOptimizedSuperEventLegacy, 'id' | 'location' | 'name' | 'typeOf' | 'headline'> & Pick<IEventSeries, 'identifier' | 'alternativeHeadline' | 'duration' | 'coaInfo'> & {
22
22
  workPerformed: IWorkPerformed;
23
23
  };
24
24
  export type IEventAsReservationFor = Omit<IReservationForLegacy, 'superEvent' | 'identifier' | 'coaInfo'> & {
@@ -145,24 +145,26 @@ export interface IOfferOptimized4acceptedOffer {
145
145
  priceSpecification?: ITicketPriceSpecification;
146
146
  name?: never;
147
147
  }
148
- export interface ICOAAcceptedOffer extends IOfferOptimized4acceptedOffer {
148
+ export type ICOAAcceptedOffer = IOfferOptimized4acceptedOffer & {
149
149
  /**
150
150
  * オファー対象アイテム
151
151
  */
152
152
  itemOffered: ICOAEventReservation;
153
- offeredThrough: Pick<IService<Identifier>, 'typeOf'> & {
153
+ offeredThrough: {
154
+ typeOf: 'WebAPI';
154
155
  identifier: Identifier.COA;
155
156
  };
156
- }
157
- export interface IOptimizedAcceptedOffer extends IOfferOptimized4acceptedOffer {
157
+ };
158
+ export type IOptimizedAcceptedOffer = IOfferOptimized4acceptedOffer & {
158
159
  /**
159
160
  * オファー対象アイテム
160
161
  */
161
162
  itemOffered: IEventReservation;
162
- offeredThrough: Pick<IService<Identifier>, 'typeOf'> & {
163
+ offeredThrough: {
164
+ typeOf: 'WebAPI';
163
165
  identifier: Identifier.Chevre;
164
166
  };
165
- }
167
+ };
166
168
  /**
167
169
  * 注文オファー
168
170
  * 予約取引の情報を結合した上でのオファー
@@ -1,12 +1,23 @@
1
1
  import { IParticipantAsProject } from '../../../../action';
2
- import { ICreativeWork as IEmailMessage } from '../../../../creativeWork/message/email';
2
+ import { ICreativeWork as IEmailMessage, ISender } from '../../../../creativeWork/message/email';
3
3
  import { ISimpleOrder } from '../../../../order';
4
4
  import { IRecipe, ISendMultipleArgs, ISendMultipleResult } from '../../../../recipe/sendEmailMessage';
5
5
  import { IAction as IBaseAction, IAttributes as IBaseAttributes } from '../../send';
6
6
  export { IRecipe, ISendMultipleArgs, ISendMultipleResult };
7
7
  export type IAgent = IParticipantAsProject;
8
- export type IObjectAsEmailMessage = Pick<IEmailMessage, 'about' | 'identifier' | 'name' | 'sender' | 'text' | 'toRecipient' | 'typeOf'>;
9
- export type IOptimizedObject = Pick<IEmailMessage, 'identifier' | 'typeOf'> & {
8
+ /**
9
+ * 生のメッセージ指定
10
+ */
11
+ export type IObjectAsEmailMessage = Pick<IEmailMessage, 'about' | 'identifier' | 'name' | 'text' | 'toRecipient' | 'typeOf'> & {
12
+ sender: Pick<ISender, 'name' | 'typeOf' | 'email'> & {};
13
+ };
14
+ /**
15
+ * メッセージリポジトリに対応(2024-04-29~)
16
+ */
17
+ export type IObjectByIdentifier = Pick<IEmailMessage, 'identifier' | 'typeOf'> & {
18
+ /**
19
+ * メッセージ識別子
20
+ */
10
21
  identifier: string;
11
22
  text?: never;
12
23
  };
@@ -14,7 +25,7 @@ export type IObject =
14
25
  /**
15
26
  * @deprecated use IOptimizedObject
16
27
  */
17
- IObjectAsEmailMessage | IOptimizedObject;
28
+ IObjectAsEmailMessage | IObjectByIdentifier;
18
29
  export interface IResult {
19
30
  statusCode?: number;
20
31
  statusMessage?: string;
@@ -1,6 +1,6 @@
1
1
  import { IParticipantAsProject, IAction as IBaseAction, IAttributes as IBaseAttributes } from '../../action';
2
2
  import { ActionType } from '../../actionType';
3
- import { IEvent as IEventSeries } from '../../event/eventSeries';
3
+ import { IEvent as IEventSeries } from '../../eventSeries';
4
4
  import { IAggregateOffer } from '../../offer/aggregateOffer';
5
5
  import { IOfferCatalog } from '../../offerCatalog';
6
6
  import { IPlace as IMovieTheater } from '../../place/movieTheater';
@@ -1,6 +1,6 @@
1
1
  import { ICreativeWork as IMovie } from '../../../creativeWork/movie';
2
2
  import { CreativeWorkType } from '../../../creativeWorkType';
3
- import { IEvent as IEventSeries } from '../../../event/eventSeries';
3
+ import { IEvent as IEventSeries } from '../../../eventSeries';
4
4
  import { EventType } from '../../../eventType';
5
5
  import { IOfferCatalog } from '../../../offerCatalog';
6
6
  import { IOrder } from '../../../order';
@@ -1,6 +1,6 @@
1
1
  import { ICreativeWork as IMovie } from '../../../creativeWork/movie';
2
2
  import { CreativeWorkType } from '../../../creativeWorkType';
3
- import { IEvent as IEventSeries } from '../../../event/eventSeries';
3
+ import { IEvent as IEventSeries } from '../../../eventSeries';
4
4
  import { EventType } from '../../../eventType';
5
5
  import { IOfferCatalog } from '../../../offerCatalog';
6
6
  import { IOrder } from '../../../order';
@@ -1,7 +1,7 @@
1
1
  import { ICreativeWork as IMovie } from '../../../creativeWork/movie';
2
2
  import { IAbout as INoteAbout } from '../../../creativeWork/noteDigitalDocument';
3
3
  import { CreativeWorkType } from '../../../creativeWorkType';
4
- import { IEvent as IEventSeries } from '../../../event/eventSeries';
4
+ import { IEvent as IEventSeries } from '../../../eventSeries';
5
5
  import { EventType } from '../../../eventType';
6
6
  import { IOfferCatalog } from '../../../offerCatalog';
7
7
  import { OrderType } from '../../../order';
@@ -2,7 +2,7 @@ import { IInstrument as IReserveActionInstrument } from '../action/reserve';
2
2
  import { IAgent, ISearchConditions as IBaseSearchConditions, IStartParams as IBaseStartParams, IAttributes as IBaseAttributes } from '../assetTransaction';
3
3
  import { AssetTransactionType } from '../assetTransactionType';
4
4
  import { IExtendId } from '../autoGenerated';
5
- import { IWorkPerformed } from '../event/eventSeries';
5
+ import { IWorkPerformed } from '../eventSeries';
6
6
  import { ILocation as IEventLocation, IName as IEventName, ISuperEvent } from '../event/screeningEvent';
7
7
  import { EventType } from '../eventType';
8
8
  import { IMultilingualString } from '../multilingualString';
@@ -265,21 +265,6 @@ export interface IResult {
265
265
  * エラー
266
266
  */
267
267
  export type IError = any;
268
- /**
269
- * トークン化されたメンバープログラムティア
270
- */
271
- export interface ITokenizedMemberProgramTier {
272
- /**
273
- * ティアトークン
274
- */
275
- token: string;
276
- isTierOf: {
277
- /**
278
- * メンバープログラムコード
279
- */
280
- identifier: string;
281
- };
282
- }
283
268
  /**
284
269
  * イベントオファートークンの中身
285
270
  * 予約対象イベント、オファー有効期間、イベントオファーコード、対象数量を定義する
@@ -7,6 +7,14 @@ export interface IParticipant {
7
7
  name: string;
8
8
  email: string;
9
9
  }
10
+ export interface ISender {
11
+ typeOf?: string;
12
+ name: string;
13
+ /**
14
+ * optional(2026-10-20~)
15
+ */
16
+ email?: string;
17
+ }
10
18
  export declare enum AboutIdentifier {
11
19
  OnOrderSent = "OnOrderSent",
12
20
  OnOrderRefunded = "OnOrderRefunded",
@@ -24,7 +32,7 @@ export interface IAbout extends Pick<IThing, 'name'> {
24
32
  export interface ICreativeWork extends Pick<IBaseCreativeWork, 'id' | 'identifier' | 'name' | 'typeOf'> {
25
33
  project?: Pick<IProject, 'id' | 'typeOf'>;
26
34
  typeOf: CreativeWorkType.EmailMessage;
27
- sender: IParticipant;
35
+ sender: ISender;
28
36
  toRecipient: IParticipant[];
29
37
  about: IAbout;
30
38
  text: string;
@@ -1,8 +1,6 @@
1
1
  import { IAvailableAtOrFrom, ICategory as IOfferCategory } from '../offer';
2
2
  import { OfferType } from '../offerType';
3
3
  import { IServiceType as IProductServiceType } from '../product';
4
- import { ISellerMakesOffer } from './sellerMakesOffer';
5
- export { ISellerMakesOffer };
6
4
  /**
7
5
  * 予約集計
8
6
  */
@@ -39,6 +37,3 @@ export type IServiceType = IProductServiceType & {
39
37
  id?: string;
40
38
  };
41
39
  export type IOfferAvailableAtOrFrom = Pick<IAvailableAtOrFrom, 'id'>;
42
- export type ISellerMakesOffer4create = Pick<ISellerMakesOffer, 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough' | 'typeOf' | 'identifier'> & {
43
- availableAtOrFrom: Pick<IOfferAvailableAtOrFrom, 'id'>;
44
- };
@@ -1,7 +1,6 @@
1
1
  import type { COAFactory } from '@coasystems/factory';
2
- import { IEvent as IBaseEvent, ISearchConditions as IBaseSearchConditions, ISortOrder, IAttributes as IBaseAttributes } from '../event';
3
2
  import { EventStatusType } from '../eventStatusType';
4
- import { IEvent as IEventSeries, IUnacceptedPaymentMethodType } from './eventSeries';
3
+ import { IEvent as IEventSeries, IUnacceptedPaymentMethodType } from '../eventSeries';
5
4
  import { EventType } from '../eventType';
6
5
  import { IMultilingualString } from '../multilingualString';
7
6
  import { IEligibleQuantity } from '../offer';
@@ -9,11 +8,15 @@ import { OfferType } from '../offerType';
9
8
  import { OrganizationType } from '../organizationType';
10
9
  import { PlaceType } from '../placeType';
11
10
  import { ProductType } from '../product';
11
+ import { IProject } from '../project';
12
+ import { IPropertyValue } from '../propertyValue';
12
13
  import { TicketType } from '../reservation';
13
14
  import { ReservationType } from '../reservationType';
14
15
  import { Identifier as WebAPIIdentifier, IService as IWebAPIService } from '../service/webAPI';
15
- import { IAggregateReservation, IOfferWithAggregateReservation, IAggregateOffer, IOfferAvailableAtOrFrom, ISellerMakesOffer, IServiceType, ISellerMakesOffer4create } from './anyEvent';
16
- export { IAggregateReservation, IOfferWithAggregateReservation, IAggregateOffer, IOfferAvailableAtOrFrom, ISellerMakesOffer, IServiceType, IEligibleQuantity, ISellerMakesOffer4create };
16
+ import { SortType } from '../sortType';
17
+ import { IAggregateReservation, IOfferWithAggregateReservation, IAggregateOffer, IOfferAvailableAtOrFrom, IServiceType } from './anyEvent';
18
+ import { ISellerMakesOffer, ISellerMakesOffer4create } from './sellerMakesOffer';
19
+ export { IAggregateReservation, IOfferWithAggregateReservation, IAggregateOffer, IOfferAvailableAtOrFrom, IServiceType, IEligibleQuantity, ISellerMakesOffer, ISellerMakesOffer4create };
17
20
  export interface IServiceOutput {
18
21
  typeOf: ReservationType.EventReservation;
19
22
  reservedTicket?: {
@@ -50,7 +53,6 @@ export interface IItemOffered {
50
53
  */
51
54
  serviceOutput?: IServiceOutput;
52
55
  typeOf: ProductType.EventService;
53
- availableChannel?: never;
54
56
  }
55
57
  export type IOfferedThrough = Pick<IWebAPIService<WebAPIIdentifier.Chevre>, 'identifier' | 'typeOf'>;
56
58
  export interface ISeller {
@@ -61,11 +63,14 @@ export interface ISeller {
61
63
  id: string;
62
64
  name?: IMultilingualString;
63
65
  /**
64
- * アプリケーションごとのオファー
66
+ * アプリケーションごとのオファー(max:10)
65
67
  */
66
68
  makesOffer: ISellerMakesOffer[];
67
69
  }
68
70
  export interface ISeller4create {
71
+ /**
72
+ * アプリケーションごとのオファー(max:10)
73
+ */
69
74
  makesOffer: ISellerMakesOffer4create[];
70
75
  /**
71
76
  * POS以外のアプリケーションの共通設定
@@ -85,7 +90,6 @@ export interface IOffer {
85
90
  unacceptedPaymentMethod?: IUnacceptedPaymentMethodType[];
86
91
  seller: ISeller;
87
92
  itemOffered: IItemOffered;
88
- identifier?: never;
89
93
  }
90
94
  /**
91
95
  * 拡張可能なイベントオファー
@@ -101,7 +105,6 @@ export interface IExtensibleEventOffer {
101
105
  seller: ISeller;
102
106
  itemOffered: IItemOffered;
103
107
  offeredThrough?: never;
104
- identifier?: never;
105
108
  }
106
109
  export type ISeller4COA = Pick<ISeller, 'id' | 'makesOffer' | 'typeOf'>;
107
110
  export type IOffer4COA = Pick<IOffer, 'typeOf' | 'eligibleQuantity'> & {
@@ -114,7 +117,6 @@ export type IOffer4COA = Pick<IOffer, 'typeOf' | 'eligibleQuantity'> & {
114
117
  availableChannel?: never;
115
118
  };
116
119
  unacceptedPaymentMethod?: never;
117
- identifier?: never;
118
120
  };
119
121
  export type ICOAKubun = COAFactory.master.IKubunNameResult;
120
122
  export type ICOAInfo = Pick<COAFactory.master.IScheduleResult, 'dateJouei' | 'titleCode' | 'titleBranchNum' | 'timeBegin' | 'timeEnd' | 'screenCode' | 'trailerTime' | 'nameServiceDay' | 'availableNum' | 'rsvStartDate' | 'rsvEndDate' | 'flgEarlyBooking'> & {
@@ -150,7 +152,7 @@ export type ICOAOffer = COAFactory.reserve.IUpdReserveTicket & {
150
152
  */
151
153
  usePoint: number;
152
154
  };
153
- export type ISuperEvent = Pick<IEventSeries, 'typeOf' | 'id' | 'soundFormat' | 'workPerformed' | 'location' | 'kanaName' | 'name' | 'additionalProperty' | 'description' | 'headline' | 'dubLanguage' | 'subtitleLanguage' | 'identifier' | 'alternativeHeadline' | 'duration' | 'coaInfo'> & {
155
+ export type ISuperEvent = Pick<IEventSeries, 'typeOf' | 'id' | 'workPerformed' | 'location' | 'kanaName' | 'name' | 'additionalProperty' | 'description' | 'headline' | 'dubLanguage' | 'subtitleLanguage' | 'identifier' | 'alternativeHeadline' | 'duration' | 'coaInfo'> & {
154
156
  startDate?: Date;
155
157
  endDate?: Date;
156
158
  };
@@ -178,18 +180,28 @@ export interface ILocation {
178
180
  * COAでは値無し
179
181
  */
180
182
  address?: IMultilingualString;
181
- /**
182
- * maximumPhysicalAttendeeCapacityへ移行
183
- * 2025-08-24時点で、まだ実態としては属性が残っている
184
- * 2025-08-30: 値をunset
185
- */
186
- maximumAttendeeCapacity?: never;
187
183
  }
188
184
  export type IName = IMultilingualString;
189
185
  /**
190
186
  * イベント属性
191
187
  */
192
- interface IAnyEventAttributes extends Pick<IBaseAttributes<EventType.ScreeningEvent>, 'additionalProperty' | 'project' | 'identifier' | 'eventStatus' | 'name' | 'typeOf'> {
188
+ interface IAnyEventAttributes {
189
+ project: Pick<IProject, 'id' | 'typeOf'>;
190
+ /**
191
+ * イベントタイプ
192
+ */
193
+ typeOf: EventType.ScreeningEvent;
194
+ /**
195
+ * イベント識別子
196
+ * プロジェクト内でユニーク必須
197
+ */
198
+ identifier?: string;
199
+ /**
200
+ * イベントステータス
201
+ * イベントがキャンセル、あるいは、延期された場合に主に使用されます。
202
+ */
203
+ eventStatus: EventStatusType;
204
+ additionalProperty?: IPropertyValue<string>[];
193
205
  /**
194
206
  * 予約集計結果としてのキャパシティ
195
207
  */
@@ -264,8 +276,10 @@ export interface IAttributes extends Pick<IAnyEventAttributes, 'maximumPhysicalA
264
276
  /**
265
277
  * イベント
266
278
  */
267
- export type IEvent = IBaseEvent<IAttributes>;
268
- export type IOffers4create = Pick<IOffer, 'unacceptedPaymentMethod' | 'identifier'> & {
279
+ export type IEvent = IAttributes & {
280
+ id: string;
281
+ };
282
+ export type IOffers4create = Pick<IOffer, 'unacceptedPaymentMethod'> & {
269
283
  /**
270
284
  * 最大予約数を指定
271
285
  */
@@ -280,24 +294,18 @@ export type IOffers4create = Pick<IOffer, 'unacceptedPaymentMethod' | 'identifie
280
294
  seller: ISeller4create;
281
295
  };
282
296
  export type ICreateParams = Pick<IAttributes, 'doorTime' | 'startDate' | 'endDate' | 'eventStatus' | 'additionalProperty' | 'identifier' | 'maximumPhysicalAttendeeCapacity'> & {
283
- location?: never;
284
- superEvent?: never;
285
297
  offers: IOffers4create;
286
298
  };
287
- export type IOffer4update = Pick<IOffers4create, 'eligibleQuantity' | 'identifier' | 'unacceptedPaymentMethod'> & {
299
+ export type IOffer4update = Pick<IOffers4create, 'eligibleQuantity' | 'unacceptedPaymentMethod'> & {
288
300
  /**
289
301
  * 興行IDを指定
290
302
  */
291
- itemOffered: Pick<IItemOffered, 'id'> & {
292
- serviceOutput?: never;
293
- };
294
- seller?: never;
303
+ itemOffered: Pick<IItemOffered, 'id'> & {};
295
304
  };
296
305
  /**
297
306
  * 単一イベント編集パラメータ
298
307
  */
299
308
  export type IUpdateByIdParams = Pick<ICreateParams, 'additionalProperty' | 'doorTime' | 'endDate' | 'eventStatus' | 'startDate' | 'maximumPhysicalAttendeeCapacity'> & {
300
- location?: never;
301
309
  offers: IOffer4update;
302
310
  };
303
311
  /**
@@ -314,19 +322,12 @@ export type IUpdateByIdentifierParams = Pick<IUpdateByIdParams, 'additionalPrope
314
322
  */
315
323
  seller: Pick<ISeller4create, 'makesOffer'>;
316
324
  };
317
- location?: never;
318
- superEvent?: never;
319
325
  };
320
- /**
321
- * ソート条件
322
- */
323
- export { ISortOrder };
324
326
  export interface IOfferSearchConditions {
325
327
  itemOffered?: {
326
328
  id?: {
327
329
  $in?: string[];
328
330
  };
329
- serviceType?: never;
330
331
  serviceOutput?: {
331
332
  reservedTicket?: {
332
333
  ticketedSeat?: {
@@ -361,10 +362,64 @@ export interface IOfferSearchConditions {
361
362
  };
362
363
  };
363
364
  }
365
+ /**
366
+ * ソート条件
367
+ */
368
+ export interface ISortOrder {
369
+ startDate?: SortType;
370
+ }
364
371
  /**
365
372
  * イベント検索条件
366
373
  */
367
- export interface ISearchConditions extends IBaseSearchConditions {
374
+ export interface ISearchConditions {
375
+ limit?: number;
376
+ page?: number;
377
+ sort?: ISortOrder;
378
+ id?: {
379
+ $eq?: string;
380
+ $in?: string[];
381
+ };
382
+ identifiers?: string[];
383
+ organizer?: {
384
+ id?: {
385
+ $eq?: string;
386
+ };
387
+ };
388
+ project?: {
389
+ id?: {
390
+ $eq?: string;
391
+ };
392
+ };
393
+ /**
394
+ * 開催中 from
395
+ * ISO 8601 date format
396
+ */
397
+ inSessionFrom?: Date;
398
+ /**
399
+ * 開催中 through
400
+ * ISO 8601 date format
401
+ */
402
+ inSessionThrough?: Date;
403
+ /**
404
+ * 開始日時 from
405
+ * ISO 8601 date format
406
+ */
407
+ startFrom?: Date;
408
+ /**
409
+ * 開始日時 through
410
+ * ISO 8601 date format
411
+ */
412
+ startThrough?: Date;
413
+ /**
414
+ * 終了日時 from
415
+ * ISO 8601 date format
416
+ */
417
+ endFrom?: Date;
418
+ /**
419
+ * 終了日時 through
420
+ * ISO 8601 date format
421
+ */
422
+ endThrough?: Date;
368
423
  additionalProperty?: {
369
424
  $elemMatch?: {
370
425
  name?: {
@@ -1,11 +1,12 @@
1
- import { IAvailableAtOrFrom, IOffer } from '../offer';
1
+ import { IAvailableAtOrFrom } from '../offer';
2
2
  import { OfferType } from '../offerType';
3
3
  type IOfferAvailableAtOrFrom = Pick<IAvailableAtOrFrom, 'id'>;
4
4
  /**
5
5
  * イベントに対する単一オファー
6
6
  * 利用可能アプリケーションのみ定義
7
+ * 基本的にこれ以上拡張はしない(2026-10-11)
7
8
  */
8
- interface ISingleEventOffer extends Pick<IOffer, 'typeOf' | 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough'> {
9
+ interface ISingleEventOffer {
9
10
  typeOf: OfferType.Offer;
10
11
  /**
11
12
  * いつまで表示可能か
@@ -24,13 +25,13 @@ interface ISingleEventOffer extends Pick<IOffer, 'typeOf' | 'availabilityEnds' |
24
25
  */
25
26
  validThrough: Date;
26
27
  availableAtOrFrom: IOfferAvailableAtOrFrom;
27
- identifier?: never;
28
- validForMemberTier?: never;
29
- offeredBy?: never;
30
28
  }
31
29
  /**
32
30
  * アプリケーションごとのイベントに対するオファー
33
31
  * 基本的に有効期間を定義
34
32
  */
35
33
  type ISellerMakesOffer = ISingleEventOffer;
36
- export { ISellerMakesOffer, };
34
+ export type ISellerMakesOffer4create = Pick<ISellerMakesOffer, 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough' | 'typeOf'> & {
35
+ availableAtOrFrom: Pick<IOfferAvailableAtOrFrom, 'id'>;
36
+ };
37
+ export { ISellerMakesOffer };
@@ -1,11 +1,14 @@
1
1
  import type { COAFactory } from '@coasystems/factory';
2
- import { ICreativeWork as IMovie } from '../creativeWork/movie';
3
- import { IEvent as IBaseEvent, IAttributes as IBaseAttributes, ISearchConditions as IBaseSearchConditions } from '../event';
4
- import { EventType } from '../eventType';
5
- import { ILanguage } from '../language';
6
- import { IMultilingualString } from '../multilingualString';
7
- import { OfferType } from '../offerType';
8
- import { PlaceType } from '../placeType';
2
+ import { ICreativeWork as IMovie } from './creativeWork/movie';
3
+ import { EventStatusType } from './eventStatusType';
4
+ import { EventType } from './eventType';
5
+ import { ILanguage } from './language';
6
+ import { IMultilingualString } from './multilingualString';
7
+ import { OfferType } from './offerType';
8
+ import { PlaceType } from './placeType';
9
+ import { IProject } from './project';
10
+ import { IPropertyValue } from './propertyValue';
11
+ import { SortType } from './sortType';
9
12
  export type IUnacceptedPaymentMethodType = 'MovieTicket';
10
13
  /**
11
14
  * 施設コンテンツに対する単一オファー
@@ -17,14 +20,6 @@ export interface ISingleOffer {
17
20
  */
18
21
  unacceptedPaymentMethod?: IUnacceptedPaymentMethodType[];
19
22
  }
20
- export interface IVideoFormat {
21
- typeOf: string;
22
- name: string;
23
- }
24
- export interface ISoundFormat {
25
- typeOf: string;
26
- name: string;
27
- }
28
23
  /**
29
24
  * サブイベント
30
25
  * 施設コンテンツに所属するScreeningEventの属性など
@@ -94,7 +89,20 @@ export interface ILocation {
94
89
  */
95
90
  name?: IMultilingualString;
96
91
  }
97
- export interface IAttributes extends Pick<IBaseAttributes<EventType.ScreeningEventSeries>, 'project' | 'typeOf' | 'identifier' | 'name' | 'description' | 'eventStatus' | 'additionalProperty'> {
92
+ export interface IAttributes {
93
+ project: Pick<IProject, 'id' | 'typeOf'>;
94
+ typeOf: EventType.ScreeningEventSeries;
95
+ /**
96
+ * 施設コンテンツ識別子(COAのみ)
97
+ * プロジェクト内でユニーク必須
98
+ */
99
+ identifier?: string;
100
+ /**
101
+ * イベント説明
102
+ */
103
+ description?: IMultilingualString;
104
+ eventStatus: EventStatusType.EventScheduled;
105
+ additionalProperty?: IPropertyValue<string>[];
98
106
  alternativeHeadline?: IMultilingualString | string;
99
107
  headline?: IMultilingualString;
100
108
  /**
@@ -110,10 +118,6 @@ export interface IAttributes extends Pick<IBaseAttributes<EventType.ScreeningEve
110
118
  * 吹替利用可能言語
111
119
  */
112
120
  dubLanguage?: ILanguage;
113
- /**
114
- * 音響方式
115
- */
116
- soundFormat?: ISoundFormat[];
117
121
  subEvent?: ISubEvent;
118
122
  /**
119
123
  * コンテンツ
@@ -154,7 +158,9 @@ export interface IAttributes extends Pick<IBaseAttributes<EventType.ScreeningEve
154
158
  /**
155
159
  * 施設コンテンツ
156
160
  */
157
- export type IEvent = IBaseEvent<IAttributes>;
161
+ export type IEvent = IAttributes & {
162
+ id: string;
163
+ };
158
164
  /**
159
165
  * 施設コンテンツ追加時の利用不可決済方法区分指定
160
166
  * offerType:AggregateOfferの場合、指定は無視される
@@ -188,10 +194,64 @@ export type ICreateParams = Pick<IAttributes, 'name' | 'duration' | 'endDate' |
188
194
  typeOf: string;
189
195
  }[];
190
196
  };
197
+ /**
198
+ * ソート条件
199
+ */
200
+ export interface ISortOrder {
201
+ startDate?: SortType;
202
+ }
191
203
  /**
192
204
  * 検索条件
193
205
  */
194
- export interface ISearchConditions extends Pick<IBaseSearchConditions, 'endFrom' | 'endThrough' | 'id' | 'inSessionFrom' | 'inSessionThrough' | 'limit' | 'organizer' | 'page' | 'project' | 'sort' | 'startFrom' | 'startThrough'> {
206
+ export interface ISearchConditions {
207
+ limit?: number;
208
+ page?: number;
209
+ sort?: ISortOrder;
210
+ id?: {
211
+ $eq?: string;
212
+ $in?: string[];
213
+ };
214
+ identifiers?: string[];
215
+ organizer?: {
216
+ id?: {
217
+ $eq?: string;
218
+ };
219
+ };
220
+ project?: {
221
+ id?: {
222
+ $eq?: string;
223
+ };
224
+ };
225
+ /**
226
+ * 開催中 from
227
+ * ISO 8601 date format
228
+ */
229
+ inSessionFrom?: Date;
230
+ /**
231
+ * 開催中 through
232
+ * ISO 8601 date format
233
+ */
234
+ inSessionThrough?: Date;
235
+ /**
236
+ * 開始日時 from
237
+ * ISO 8601 date format
238
+ */
239
+ startFrom?: Date;
240
+ /**
241
+ * 開始日時 through
242
+ * ISO 8601 date format
243
+ */
244
+ startThrough?: Date;
245
+ /**
246
+ * 終了日時 from
247
+ * ISO 8601 date format
248
+ */
249
+ endFrom?: Date;
250
+ /**
251
+ * 終了日時 through
252
+ * ISO 8601 date format
253
+ */
254
+ endThrough?: Date;
195
255
  additionalProperty?: {
196
256
  $elemMatch?: {
197
257
  name?: {
@@ -202,7 +262,6 @@ export interface ISearchConditions extends Pick<IBaseSearchConditions, 'endFrom'
202
262
  };
203
263
  };
204
264
  };
205
- typeOf?: EventType.ScreeningEventSeries;
206
265
  name?: string;
207
266
  location?: {
208
267
  branchCode?: {
@@ -230,13 +289,13 @@ export interface ISearchConditions extends Pick<IBaseSearchConditions, 'endFrom'
230
289
  $in?: string[];
231
290
  };
232
291
  };
233
- workPerformed?: {
234
- /**
235
- * コンテンツコード
236
- */
237
- identifiers?: string[];
238
- version?: {
239
- $eq?: string;
240
- };
241
- };
292
+ workPerformed?: never;
293
+ /**
294
+ * コンテンツコード
295
+ */
296
+ movieIdentifier?: string;
297
+ /**
298
+ * コンテンツバージョン
299
+ */
300
+ movieVersion?: string;
242
301
  }
@@ -51,7 +51,7 @@ import * as CustomerFactory from './customer';
51
51
  import * as EncodingFormat from './encodingFormat';
52
52
  import * as entryPoint from './entryPoint';
53
53
  import * as ScreeningEventFactory from './event/screeningEvent';
54
- export * as eventSeries from './event/eventSeries';
54
+ export * as eventSeries from './eventSeries';
55
55
  import { EventStatusType } from './eventStatusType';
56
56
  import { EventType } from './eventType';
57
57
  import * as IAMFactory from './iam';
@@ -56,7 +56,7 @@ const EncodingFormat = require("./encodingFormat");
56
56
  const entryPoint = require("./entryPoint");
57
57
  exports.entryPoint = entryPoint;
58
58
  const ScreeningEventFactory = require("./event/screeningEvent");
59
- exports.eventSeries = require("./event/eventSeries");
59
+ exports.eventSeries = require("./eventSeries");
60
60
  const eventStatusType_1 = require("./eventStatusType");
61
61
  const eventType_1 = require("./eventType");
62
62
  const IAMFactory = require("./iam");
@@ -28,14 +28,6 @@ export declare namespace issuer {
28
28
  typeOf: 'MemberProgram';
29
29
  identifier: string;
30
30
  }
31
- /**
32
- * メンバープログラムティア
33
- */
34
- interface IMemberProgramTier {
35
- typeOf: 'MemberProgramTier';
36
- identifier: string;
37
- isTierOf: IMemberProgram;
38
- }
39
31
  interface ISearchConditions {
40
32
  limit?: number;
41
33
  page?: number;
@@ -1,9 +1,16 @@
1
- import { IEvent as IEventSeries, IVideoFormat } from '../event/eventSeries';
1
+ import { IEvent as IEventSeries } from '../eventSeries';
2
+ export interface IVideoFormat {
3
+ typeOf: string;
4
+ name: string;
5
+ }
2
6
  /**
3
7
  * 外部への施設コンテンツ通知
4
8
  * redefine(2025-11-01~)
5
9
  */
6
- export type IEventSeriesAsNotification = Pick<IEventSeries, 'project' | 'organizer' | 'typeOf' | 'name' | 'endDate' | 'location' | 'startDate' | 'id' | 'additionalProperty' | 'subtitleLanguage' | 'dubLanguage' | 'soundFormat' | 'workPerformed' | 'kanaName' | 'alternativeHeadline' | 'description' | 'duration' | 'eventStatus' | 'headline'> & {
10
+ export type IEventSeriesAsNotification = Pick<IEventSeries, 'project' | 'organizer' | 'typeOf' | 'name' | 'endDate' | 'location' | 'startDate' | 'id' | 'additionalProperty' | 'subtitleLanguage' | 'dubLanguage' | 'workPerformed' | 'kanaName' | 'alternativeHeadline' | 'description' | 'duration' | 'eventStatus' | 'headline'> & {
7
11
  offers?: never;
8
- videoFormat: IVideoFormat[];
12
+ /**
13
+ * 上映方式区分リスト
14
+ */
15
+ videoFormat: IVideoFormat[] | string[];
9
16
  };
@@ -1,2 +1,8 @@
1
1
  import { IUnitPriceOffer } from '../unitPriceOffer';
2
- export type IOfferAsNotification = Pick<IUnitPriceOffer, 'id' | 'typeOf' | 'name' | 'priceSpecification' | 'additionalProperty' | 'identifier' | 'project'>;
2
+ /**
3
+ * 通知開始
4
+ * 2026-10-21~
5
+ */
6
+ export type IOfferAsNotification = Pick<IUnitPriceOffer, 'id' | 'identifier' | 'name' | 'description' | 'typeOf' | 'additionalProperty' | 'project'> & {
7
+ priceSpecification?: never;
8
+ };
@@ -1,5 +1,5 @@
1
1
  import { IAction as IReturnOrderAction } from '../action/transfer/return/order';
2
- import { IAcceptedOffer, ICOAEventReservation, IEventReservation } from '../acceptedOffer';
2
+ import { IEventReservation, ICOAAcceptedOffer, IOptimizedAcceptedOffer } from '../acceptedOffer';
3
3
  import { IOrder } from '../order';
4
4
  import { OrderStatus } from '../orderStatus';
5
5
  /**
@@ -19,12 +19,22 @@ export type IProcessingOrder4inform = Pick<IOrder, 'project' | 'typeOf' | 'selle
19
19
  /**
20
20
  * 配送中通知における予約
21
21
  */
22
- export type IEventReservation4inform = Pick<IEventReservation, 'additionalTicketText' | 'id' | 'issuedThrough' | 'reservationNumber' | 'reservedTicket' | 'typeOf'> & {
22
+ export type IEventReservation4inform = Pick<IEventReservation, 'additionalTicketText' | 'id' | 'reservationNumber' | 'reservedTicket' | 'typeOf'> & {
23
23
  reservationFor: Pick<IEventReservation['reservationFor'], 'id' | 'typeOf'>;
24
+ issuedThrough?: never;
25
+ programMembershipUsed?: never;
24
26
  };
25
- export type IAcceptedOffer4inform = Pick<IAcceptedOffer, 'id' | 'offeredThrough' | 'serialNumber' | 'typeOf' | 'priceSpecification'> & {
26
- itemOffered: ICOAEventReservation | IEventReservation4inform;
27
+ export type ICOAAcceptedOffer4inform = Pick<ICOAAcceptedOffer, 'id' | 'offeredThrough' | 'serialNumber' | 'typeOf' | 'priceSpecification' | 'itemOffered'>;
28
+ export type IOptimizedAcceptedOffer4inform = Pick<IOptimizedAcceptedOffer, 'id' | 'offeredThrough' | 'serialNumber' | 'typeOf' | 'priceSpecification'> & {
29
+ /**
30
+ * COA以外では最適化する
31
+ */
32
+ itemOffered: IEventReservation4inform;
27
33
  };
34
+ /**
35
+ * 配送中通知における注文オファー
36
+ */
37
+ export type IAcceptedOffer4inform = ICOAAcceptedOffer4inform | IOptimizedAcceptedOffer4inform;
28
38
  /**
29
39
  * 配送中通知
30
40
  */
@@ -66,7 +66,6 @@ interface IEventOffer extends Pick<IOffer, 'typeOf' | 'validFrom' | 'validThroug
66
66
  */
67
67
  identifier?: string;
68
68
  };
69
- validForMemberTier?: never;
70
69
  availabilityEnds?: never;
71
70
  availabilityStarts?: never;
72
71
  }
@@ -26,22 +26,38 @@ export interface ISendEmailMessageSettings {
26
26
  * プロジェクト設定
27
27
  */
28
28
  export interface ISettings {
29
+ /**
30
+ * 注文照会結果にcustomerを含めるかどうか
31
+ * 2025-09-10=
32
+ * tttsのみtrue(2026-10-19時点)
33
+ */
34
+ includeCustomerAsFindByConfirmationNumberResult?: boolean;
35
+ /**
36
+ * ssktsとtttsのみ(2026-10-19時点)
37
+ * Eメール送信元アドレス設定
38
+ */
29
39
  sendEmailMessage?: ISendEmailMessageSettings;
40
+ /**
41
+ * ssktsのみ(2026-10-19時点)
42
+ */
30
43
  sendgridApiKey?: string;
31
- useMyCreditCards?: boolean;
44
+ /**
45
+ * tttsのみ(2026-10-19時点)
46
+ */
32
47
  useAggregateReservation?: {
33
48
  /**
34
49
  * aggregateReservationsを利用する施設コンテンツID
35
50
  */
36
51
  eventSeriesIds?: string[];
37
52
  };
53
+ /**
54
+ * tttsのみ(2026-10-19時点)
55
+ */
38
56
  useAggregateOffer?: boolean;
39
- useOfferRateLimit?: boolean;
40
57
  /**
41
- * 注文照会結果にcustomerを含めるかどうか
42
- * 2025-09-10=
58
+ * tttsのみ(2026-10-19時点)
43
59
  */
44
- includeCustomerAsFindByConfirmationNumberResult?: boolean;
60
+ useOfferRateLimit?: boolean;
45
61
  }
46
62
  export interface ISubscription {
47
63
  identifier?: string;
@@ -79,7 +95,6 @@ export interface IMemberProgramTier {
79
95
  */
80
96
  identifier: string;
81
97
  };
82
- secret?: never;
83
98
  }
84
99
  export interface IMakesOffer extends Pick<IOffer, 'typeOf'> {
85
100
  availableAtOrFrom: IAvailableAtOrFrom;
@@ -1,5 +1,5 @@
1
1
  import { ILocation as IEventLocation, ISuperEvent } from '../event/screeningEvent';
2
- import { IWorkPerformed } from '../event/eventSeries';
2
+ import { IWorkPerformed } from '../eventSeries';
3
3
  import { EventType } from '../eventType';
4
4
  import { TicketType, ISeat as IReservationSeat, IReservation as IBaseReservation, IAvailableReservationStatusType, ITicket } from '../reservation';
5
5
  import { ReservationStatusType } from '../reservationStatusType';
@@ -22,7 +22,6 @@ export type IMinimizedSuperEvent = Pick<ISuperEvent, 'id' | 'typeOf'> & {
22
22
  } & {
23
23
  additionalProperty?: never;
24
24
  name?: never;
25
- soundFormat?: never;
26
25
  headline?: never;
27
26
  };
28
27
  export type IMinimizedRoom = Pick<IEventLocation, 'branchCode' | 'typeOf'> & {
@@ -56,7 +56,12 @@ export declare enum RoleName {
56
56
  /**
57
57
  * adminapisの在庫管理ロール
58
58
  */
59
- AdminInventoryManager = "admin.inventoryManager"
59
+ AdminInventoryManager = "admin.inventoryManager",
60
+ /**
61
+ * adminapisの在庫管理ロール(Preview)
62
+ * 将来的な権限を定義する
63
+ */
64
+ AdminInventoryManagerPreview = "admin.inventoryManagerPreview"
60
65
  }
61
66
  export type IMemberType = PersonType.Person | CreativeWorkType.WebApplication | CreativeWorkType.SoftwareApplication;
62
67
  /**
@@ -57,4 +57,9 @@ var RoleName;
57
57
  * adminapisの在庫管理ロール
58
58
  */
59
59
  RoleName["AdminInventoryManager"] = "admin.inventoryManager";
60
+ /**
61
+ * adminapisの在庫管理ロール(Preview)
62
+ * 将来的な権限を定義する
63
+ */
64
+ RoleName["AdminInventoryManagerPreview"] = "admin.inventoryManagerPreview";
60
65
  })(RoleName || (exports.RoleName = RoleName = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chevre/factory",
3
- "version": "11.1.0-alpha.1",
3
+ "version": "11.1.0-alpha.10",
4
4
  "main": "./lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "files": [
@@ -1,94 +0,0 @@
1
- import { EventStatusType } from './eventStatusType';
2
- import { EventType } from './eventType';
3
- import { IMultilingualString } from './multilingualString';
4
- import { IProject } from './project';
5
- import { IPropertyValue } from './propertyValue';
6
- import { SortType } from './sortType';
7
- export interface IAttributes<T extends EventType> {
8
- project: Pick<IProject, 'id' | 'typeOf'>;
9
- /**
10
- * イベントタイプ
11
- */
12
- typeOf: T;
13
- /**
14
- * イベント識別子
15
- * プロジェクト内でユニーク必須
16
- */
17
- identifier?: string;
18
- /**
19
- * イベント名称
20
- */
21
- name: IMultilingualString;
22
- /**
23
- * イベント説明
24
- */
25
- description?: IMultilingualString;
26
- /**
27
- * イベントステータス
28
- * イベントがキャンセル、あるいは、延期された場合に主に使用されます。
29
- */
30
- eventStatus: EventStatusType;
31
- additionalProperty?: IPropertyValue<string>[];
32
- }
33
- /**
34
- * イベント
35
- */
36
- export type IEvent<T extends IAttributes<EventType>> = T & {
37
- id: string;
38
- };
39
- /**
40
- * ソート条件
41
- */
42
- export interface ISortOrder {
43
- startDate?: SortType;
44
- }
45
- export interface ISearchConditions {
46
- limit?: number;
47
- page?: number;
48
- sort?: ISortOrder;
49
- id?: {
50
- $eq?: string;
51
- $in?: string[];
52
- };
53
- identifiers?: string[];
54
- organizer?: {
55
- id?: {
56
- $eq?: string;
57
- };
58
- };
59
- project?: {
60
- id?: {
61
- $eq?: string;
62
- };
63
- };
64
- /**
65
- * 開催中 from
66
- * ISO 8601 date format
67
- */
68
- inSessionFrom?: Date;
69
- /**
70
- * 開催中 through
71
- * ISO 8601 date format
72
- */
73
- inSessionThrough?: Date;
74
- /**
75
- * 開始日時 from
76
- * ISO 8601 date format
77
- */
78
- startFrom?: Date;
79
- /**
80
- * 開始日時 through
81
- * ISO 8601 date format
82
- */
83
- startThrough?: Date;
84
- /**
85
- * 終了日時 from
86
- * ISO 8601 date format
87
- */
88
- endFrom?: Date;
89
- /**
90
- * 終了日時 through
91
- * ISO 8601 date format
92
- */
93
- endThrough?: Date;
94
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });