@chevre/factory 5.2.0-alpha.0 → 5.2.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.
@@ -1,13 +1,13 @@
1
1
  import * as ActionFactory from '../../action';
2
2
  import { ActionType } from '../../actionType';
3
3
  import { AssetTransactionType } from '../../assetTransactionType';
4
- import { EventType } from '../../eventType';
5
4
  import { IOrder } from '../../order';
6
5
  import { ITransaction as IPlaceOrder } from '../../transaction/placeOrder';
7
6
  import { IAccountTitleAsNotification } from '../../notification/accountTitle';
8
7
  import { ICategoryCodeAsNotification } from '../../notification/categoryCode';
9
8
  import { IMovieAsNotification, INoteDigitalDocumentAsNotification } from '../../notification/creativeWork';
10
- import { IEvent4inform, IEventAsNotification } from '../../notification/event';
9
+ import { IEvent4inform2agg, IEventAsNotification } from '../../notification/event';
10
+ import { IEventSeriesAsNotification } from '../../notification/eventSeries';
11
11
  import { IOfferAsNotification } from '../../notification/offer';
12
12
  import { IOfferCatalogAsNotification } from '../../notification/offerCatalog';
13
13
  import { IOrder4inform } from '../../notification/order';
@@ -34,7 +34,7 @@ export type IRecipient = Pick<ActionFactory.IParticipantAsWebApplication, 'name'
34
34
  id?: never;
35
35
  url?: never;
36
36
  };
37
- export type IAnyResourceAsObject = IPlaceOrderAsNotification | IOfferCatalogAsNotification | IHasPOSAsNotification | IMovieTheaterAsNotification | IOfferAsNotification | IAccountTitleAsNotification | IProductAsNotification | ICategoryCodeAsNotification | IMovieAsNotification | INoteDigitalDocumentAsNotification | IPersonAsNotification | IEvent4inform | IEventAsNotification<EventType>;
37
+ export type IAnyResourceAsObject = IPlaceOrderAsNotification | IOfferCatalogAsNotification | IHasPOSAsNotification | IMovieTheaterAsNotification | IOfferAsNotification | IAccountTitleAsNotification | IProductAsNotification | ICategoryCodeAsNotification | IMovieAsNotification | INoteDigitalDocumentAsNotification | IPersonAsNotification | IEvent4inform2agg | IEventAsNotification | IEventSeriesAsNotification;
38
38
  export type IObject = IAnyResourceAsObject | IOrder4inform | IReservation4inform | IPayAction4inform | IRefundAction4inform | ITask4inform;
39
39
  export interface IPayTransactionAsPurpose {
40
40
  id: string;
@@ -11,21 +11,50 @@ import { SortType } from './sortType';
11
11
  import { TransactionType } from './transactionType';
12
12
  export type IOrderAsObject = Pick<IOrder, 'orderNumber' | 'typeOf'>;
13
13
  export type IPermitIssuedThroughOfObjectTypeOfGood = Pick<IPermitIssuedThroughAsFaceToFace, 'typeOf'> | Pick<IPermitIssuedThroughAsCreditCard, 'id' | 'typeOf'> | Pick<IPermitIssuedThroughAsProduct, 'id' | 'typeOf'>;
14
- export type IPermitAsObjectTypeOfGood = Pick<IPermitAsGood, 'identifier' | 'typeOf'> & {
14
+ export type IPermitAsTypeOfGood = Pick<IPermitAsGood, 'identifier' | 'typeOf'> & {
15
15
  issuedThrough?: IPermitIssuedThroughOfObjectTypeOfGood;
16
16
  };
17
17
  /**
18
- * 決済サービス発行のチケット
18
+ * MovieTicket決済サービス発行のチケット
19
19
  */
20
- export type IInvoiceAsObjectTypeOfGood = Pick<IInvoice, 'paymentMethodId' | 'typeOf'> & {
20
+ export type IInvoiceAsTypeOfGood = Pick<IInvoice, 'paymentMethodId' | 'typeOf'> & {
21
21
  issuedThrough: {
22
22
  id: string;
23
23
  typeOf: PaymentServiceType.MovieTicket;
24
24
  };
25
25
  };
26
- export type IPermitOwnershipInfoAsObject = Pick<IOwnershipInfo<IPermitAsObjectTypeOfGood>, 'typeOf' | 'typeOfGood'>;
27
- export type IInvoiceOwnershipInfoAsObject = Pick<IOwnershipInfo<IInvoiceAsObjectTypeOfGood>, 'typeOf' | 'typeOfGood'>;
28
- export type IOwnershipInfoAsObject = IPermitOwnershipInfoAsObject | IInvoiceOwnershipInfoAsObject;
26
+ /**
27
+ * 決済サービス発行のチケット
28
+ * new(2025-11-11~)
29
+ */
30
+ export interface IPaymentMethodAsTypeOfGood {
31
+ id: string;
32
+ typeOf: PaymentServiceType.CreditCard | PaymentServiceType.MovieTicket;
33
+ serviceOutput: Pick<IInvoice, 'paymentMethodId' | 'typeOf'>;
34
+ issuedThrough?: never;
35
+ }
36
+ export interface IFaceToFacePaymentMethodAsTypeOfGood {
37
+ /**
38
+ * 対面決済サービスIDはなし
39
+ */
40
+ id?: never;
41
+ typeOf: PaymentServiceType.FaceToFace;
42
+ serviceOutput: Pick<IInvoice, 'paymentMethodId' | 'typeOf'>;
43
+ issuedThrough?: never;
44
+ }
45
+ export type IPermitOwnershipInfo = Pick<IOwnershipInfo<IPermitAsTypeOfGood>, 'typeOf' | 'typeOfGood'>;
46
+ export type IInvoiceOwnershipInfo = Pick<IOwnershipInfo<IInvoiceAsTypeOfGood>, 'typeOf' | 'typeOfGood'>;
47
+ /**
48
+ * 決済方法所有権
49
+ * support(2025-11-11~)
50
+ */
51
+ export type IPaymentMethodOwnershipInfo = Pick<IOwnershipInfo<IPaymentMethodAsTypeOfGood>, 'typeOf' | 'typeOfGood'>;
52
+ /**
53
+ * 対面決済方法所有権
54
+ * support(2025-11-12~)
55
+ */
56
+ export type IFaceToFacePaymentMethodOwnershipInfo = Pick<IOwnershipInfo<IFaceToFacePaymentMethodAsTypeOfGood>, 'typeOf' | 'typeOfGood'>;
57
+ export type IOwnershipInfoAsObject = IPermitOwnershipInfo | IInvoiceOwnershipInfo | IPaymentMethodOwnershipInfo | IFaceToFacePaymentMethodOwnershipInfo;
29
58
  /**
30
59
  * 承認対象としてのIAMメンバー
31
60
  */
@@ -24,10 +24,6 @@ export declare enum CategorySetIdentifier {
24
24
  * メンバーシップ区分
25
25
  */
26
26
  MembershipType = "MembershipType",
27
- /**
28
- * 決済カード区分
29
- */
30
- MovieTicketType = "MovieTicketType",
31
27
  /**
32
28
  * オファーカテゴリータイプ
33
29
  */
@@ -71,12 +67,7 @@ export interface ICategoryCode extends Pick<IThing, 'color' | 'image' | 'name'>
71
67
  codeValue: string;
72
68
  inCodeSet: ICategoryCodeSet;
73
69
  name: IMultilingualString;
74
- paymentMethod?: {
75
- /**
76
- * 決済カード区分の場合、対応決済方法区分
77
- */
78
- typeOf?: string;
79
- };
70
+ paymentMethod?: never;
80
71
  }
81
72
  /**
82
73
  * 検索条件
@@ -109,15 +100,7 @@ export interface ISearchConditions {
109
100
  $in?: string[];
110
101
  };
111
102
  };
112
- paymentMethod?: {
113
- /**
114
- * 決済カード区分の場合、対応決済方法区分
115
- */
116
- typeOf?: {
117
- $eq?: string;
118
- $in?: string[];
119
- };
120
- };
103
+ paymentMethod?: never;
121
104
  additionalProperty?: {
122
105
  $elemMatch?: {
123
106
  name?: {
@@ -23,10 +23,6 @@ var CategorySetIdentifier;
23
23
  * メンバーシップ区分
24
24
  */
25
25
  CategorySetIdentifier["MembershipType"] = "MembershipType";
26
- /**
27
- * 決済カード区分
28
- */
29
- CategorySetIdentifier["MovieTicketType"] = "MovieTicketType";
30
26
  /**
31
27
  * オファーカテゴリータイプ
32
28
  */
@@ -175,7 +175,7 @@ export interface IAttributes extends Pick<EventFactory.IAttributes<EventType>, '
175
175
  organizer: IOrganizer;
176
176
  }
177
177
  export type IMemberProgramTier4create = Pick<IMemberProgramTier, 'typeOf'>;
178
- export type ISellerMakesOffer4create = Pick<ISellerMakesOffer, 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough' | 'typeOf' | 'identifier' | 'offeredBy'> & {
178
+ export type ISellerMakesOffer4create = Pick<ISellerMakesOffer, 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough' | 'typeOf' | 'identifier'> & {
179
179
  availableAtOrFrom: Pick<IOfferAvailableAtOrFrom, 'id'>;
180
180
  /**
181
181
  * 有効なメンバープログラムティア条件
@@ -34,6 +34,9 @@ export import IServiceType = AnyEventFactory.IServiceType;
34
34
  * 興行
35
35
  */
36
36
  export interface IItemOffered {
37
+ /**
38
+ * 興行ID
39
+ */
37
40
  id: string;
38
41
  /**
39
42
  * プロダクト名称
@@ -75,6 +78,22 @@ export interface IOffer {
75
78
  identifier?: string;
76
79
  itemOffered: IItemOffered;
77
80
  }
81
+ /**
82
+ * 拡張可能なイベントオファー
83
+ * 実質的なアプリケーションオファーは別管理のイベントオファーに従う
84
+ */
85
+ export interface IExtensibleEventOffer {
86
+ /**
87
+ * support AggregateOffer(2025-11-11~)
88
+ */
89
+ typeOf: OfferType.AggregateOffer;
90
+ eligibleQuantity: IEligibleQuantity;
91
+ unacceptedPaymentMethod?: IUnacceptedPaymentMethodType[];
92
+ seller: ISeller;
93
+ itemOffered: IItemOffered;
94
+ offeredThrough?: never;
95
+ identifier?: never;
96
+ }
78
97
  export type ISeller4COA = Pick<ISeller, 'id' | 'makesOffer' | 'typeOf'>;
79
98
  export type IOffer4COA = Pick<IOffer, 'typeOf' | 'eligibleQuantity'> & {
80
99
  offeredThrough: Pick<IWebAPIService<WebAPIIdentifier.COA>, 'identifier' | 'typeOf'>;
@@ -140,7 +159,7 @@ export interface IAttributes extends Pick<AnyEventFactory.IAttributes, 'maximumP
140
159
  /**
141
160
  * 販売情報
142
161
  */
143
- offers: IOffer | IOffer4COA;
162
+ offers: IOffer | IOffer4COA | IExtensibleEventOffer;
144
163
  /**
145
164
  * その他COA情報
146
165
  * 基本的にsskts対応
@@ -179,6 +198,21 @@ export type ICreateParams = Pick<IAttributes, 'doorTime' | 'startDate' | 'endDat
179
198
  export type IUpdateParams = Pick<ICreateParams, 'additionalProperty' | 'doorTime' | 'endDate' | 'eventStatus' | 'offers' | 'startDate' | 'maximumPhysicalAttendeeCapacity'> & {
180
199
  location?: never;
181
200
  };
201
+ export type IOffer4update = Pick<IOffers4create, 'eligibleQuantity' | 'identifier' | 'unacceptedPaymentMethod'> & {
202
+ /**
203
+ * 興行IDを指定
204
+ */
205
+ itemOffered: Pick<IItemOffered, 'id'> & {
206
+ serviceOutput?: never;
207
+ };
208
+ seller?: never;
209
+ };
210
+ /**
211
+ * 単一イベント編集パラメータ
212
+ */
213
+ export type IUpdateByIdParams = Pick<IUpdateParams, 'additionalProperty' | 'doorTime' | 'endDate' | 'eventStatus' | 'startDate' | 'maximumPhysicalAttendeeCapacity' | 'location'> & {
214
+ offers: IOffer4update;
215
+ };
182
216
  /**
183
217
  * ソート条件
184
218
  */
@@ -26,24 +26,9 @@ interface ISingleEventOffer extends Pick<IOffer, 'typeOf' | 'availabilityEnds' |
26
26
  */
27
27
  validThrough: Date;
28
28
  availableAtOrFrom: IOfferAvailableAtOrFrom;
29
+ identifier?: never;
29
30
  validForMemberTier?: never;
30
- /**
31
- * A pointer to the organization or person making the offer.
32
- * オファー提供者が定義された場合、オファー承認時にオファー提供者によって署名されたオファートークンが必須
33
- * その場合、有効期間、適用数量、対応アプリケーションはオファートークンのpayloadに従う
34
- */
35
- offeredBy?: {
36
- /**
37
- * オファートークン発行者コード
38
- */
39
- identifier?: string;
40
- };
41
- /**
42
- * アプリケーションオファーコード
43
- * イベント内でユニーク必須
44
- * オファー発行者を指定する場合、必須
45
- */
46
- identifier?: string;
31
+ offeredBy?: never;
47
32
  }
48
33
  /**
49
34
  * メンバープログラムティア適用のイベントオファー
package/lib/index.d.ts CHANGED
@@ -83,9 +83,11 @@ import { ItemAvailability } from './itemAvailability';
83
83
  import * as LanguageFactory from './language';
84
84
  import * as MerchantReturnPolicyFactory from './merchantReturnPolicy';
85
85
  import * as MonetaryAmountFactory from './monetaryAmount';
86
+ import * as MovieTicketTypeFactory from './movieTicketType';
86
87
  import { IMultilingualString } from './multilingualString';
87
88
  import * as OfferFactory from './offer';
88
89
  import * as AggregateOfferFactory from './offer/aggregateOffer';
90
+ import * as EventOfferFactory from './offer/eventOffer';
89
91
  import * as ProductOfferFactory from './offer/productOffer';
90
92
  import * as OfferCatalogFactory from './offerCatalog';
91
93
  import * as OfferItemConditionFactory from './offerItemCondition';
@@ -150,6 +152,7 @@ import * as AccountTitleNotification from './notification/accountTitle';
150
152
  import * as CategoryCodeNotification from './notification/categoryCode';
151
153
  import * as CreativeWorkNotification from './notification/creativeWork';
152
154
  import * as EventNotification from './notification/event';
155
+ import * as EventSeriesNotification from './notification/eventSeries';
153
156
  import * as OfferNotification from './notification/offer';
154
157
  import * as OfferCatalogNotification from './notification/offerCatalog';
155
158
  import * as OrderNotification from './notification/order';
@@ -386,6 +389,7 @@ export import customer = CustomerFactory;
386
389
  export declare namespace event {
387
390
  export import screeningEvent = ScreeningEventFactory;
388
391
  }
392
+ export import eventOffer = EventOfferFactory;
389
393
  export import eventSeries = ScreeningEventSeriesFactory;
390
394
  export import encodingFormat = EncodingFormat;
391
395
  export { entryPoint };
@@ -399,9 +403,11 @@ export import itemAvailability = ItemAvailability;
399
403
  export import language = LanguageFactory;
400
404
  export import merchantReturnPolicy = MerchantReturnPolicyFactory;
401
405
  export import monetaryAmount = MonetaryAmountFactory;
406
+ export import movieTicketType = MovieTicketTypeFactory;
402
407
  export type multilingualString = IMultilingualString;
403
408
  export declare namespace notification {
404
409
  export import event = EventNotification;
410
+ export import eventSeries = EventSeriesNotification;
405
411
  export import order = OrderNotification;
406
412
  export import reservation = ReservationNotification;
407
413
  export import payAction = PayActionNotification;
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.priceCurrency = exports.personType = exports.person = exports.permit = exports.paymentStatusType = exports.paymentMethod = exports.ownershipInfo = exports.organizationType = exports.organization = exports.orderStatus = exports.order = exports.offerType = exports.offerItemCondition = exports.offerCatalog = exports.offer = exports.notification = exports.monetaryAmount = exports.merchantReturnPolicy = exports.language = exports.itemAvailability = exports.invoice = exports.identityProvider = exports.iam = exports.eventType = exports.eventStatusType = exports.entryPoint = exports.encodingFormat = exports.eventSeries = exports.event = exports.customer = exports.creativeWorkType = exports.creativeWork = exports.clientUser = exports.CertificationStatusEnumeration = exports.categoryCode = exports.authorization = exports.aggregateOffer = exports.aggregation = exports.advanceBookingRequirement = exports.additionalProperty = exports.accountType = exports.accountTitle = exports.action = exports.actionType = exports.actionStatusType = exports.account = exports.errorCode = exports.errors = exports.waiter = exports.cognito = void 0;
4
- exports.unitPriceOffer = exports.unitCode = exports.assetTransactionType = exports.transactionStatusType = exports.transactionType = exports.transaction = exports.assetTransaction = exports.tripType = exports.trip = exports.thing = exports.taskStatus = exports.taskName = exports.sortType = exports.serviceChannel = exports.service = exports.task = exports.sellerReturnPolicy = exports.seller = exports.schedule = exports.role = exports.RESERVED_CODE_VALUES = exports.reservationType = exports.reservationStatusType = exports.reservation = exports.report = exports.recipe = exports.quantitativeValue = exports.qualitativeValue = exports.propertyValue = exports.project = exports.productOffer = exports.product = exports.programMembership = exports.priceSpecificationType = exports.priceSpecification = exports.potentialAction = exports.placeType = exports.place = void 0;
3
+ exports.person = exports.permit = exports.paymentStatusType = exports.paymentMethod = exports.ownershipInfo = exports.organizationType = exports.organization = exports.orderStatus = exports.order = exports.offerType = exports.offerItemCondition = exports.offerCatalog = exports.offer = exports.notification = exports.movieTicketType = exports.monetaryAmount = exports.merchantReturnPolicy = exports.language = exports.itemAvailability = exports.invoice = exports.identityProvider = exports.iam = exports.eventType = exports.eventStatusType = exports.entryPoint = exports.encodingFormat = exports.eventSeries = exports.eventOffer = exports.event = exports.customer = exports.creativeWorkType = exports.creativeWork = exports.clientUser = exports.CertificationStatusEnumeration = exports.categoryCode = exports.authorization = exports.aggregateOffer = exports.aggregation = exports.advanceBookingRequirement = exports.additionalProperty = exports.accountType = exports.accountTitle = exports.action = exports.actionType = exports.actionStatusType = exports.account = exports.errorCode = exports.errors = exports.waiter = exports.cognito = void 0;
4
+ exports.unitPriceOffer = exports.unitCode = exports.assetTransactionType = exports.transactionStatusType = exports.transactionType = exports.transaction = exports.assetTransaction = exports.tripType = exports.trip = exports.thing = exports.taskStatus = exports.taskName = exports.sortType = exports.serviceChannel = exports.service = exports.task = exports.sellerReturnPolicy = exports.seller = exports.schedule = exports.role = exports.RESERVED_CODE_VALUES = exports.reservationType = exports.reservationStatusType = exports.reservation = exports.report = exports.recipe = exports.quantitativeValue = exports.qualitativeValue = exports.propertyValue = exports.project = exports.productOffer = exports.product = exports.programMembership = exports.priceSpecificationType = exports.priceSpecification = exports.potentialAction = exports.placeType = exports.place = exports.priceCurrency = exports.personType = void 0;
5
5
  /**
6
6
  * factory
7
7
  */
@@ -84,8 +84,10 @@ var itemAvailability_1 = require("./itemAvailability");
84
84
  var LanguageFactory = require("./language");
85
85
  var MerchantReturnPolicyFactory = require("./merchantReturnPolicy");
86
86
  var MonetaryAmountFactory = require("./monetaryAmount");
87
+ var MovieTicketTypeFactory = require("./movieTicketType");
87
88
  var OfferFactory = require("./offer");
88
89
  var AggregateOfferFactory = require("./offer/aggregateOffer");
90
+ var EventOfferFactory = require("./offer/eventOffer");
89
91
  var ProductOfferFactory = require("./offer/productOffer");
90
92
  var OfferCatalogFactory = require("./offerCatalog");
91
93
  var OfferItemConditionFactory = require("./offerItemCondition");
@@ -145,6 +147,7 @@ var AccountTitleNotification = require("./notification/accountTitle");
145
147
  var CategoryCodeNotification = require("./notification/categoryCode");
146
148
  var CreativeWorkNotification = require("./notification/creativeWork");
147
149
  var EventNotification = require("./notification/event");
150
+ var EventSeriesNotification = require("./notification/eventSeries");
148
151
  var OfferNotification = require("./notification/offer");
149
152
  var OfferCatalogNotification = require("./notification/offerCatalog");
150
153
  var OrderNotification = require("./notification/order");
@@ -403,6 +406,7 @@ var event;
403
406
  event.screeningEvent = ScreeningEventFactory;
404
407
  // export import screeningEventSeries = ScreeningEventSeriesFactory;
405
408
  })(event = exports.event || (exports.event = {}));
409
+ exports.eventOffer = EventOfferFactory;
406
410
  exports.eventSeries = ScreeningEventSeriesFactory; // reimplement from event.screeningEventSeries
407
411
  exports.encodingFormat = EncodingFormat;
408
412
  exports.eventStatusType = eventStatusType_1.EventStatusType;
@@ -414,11 +418,14 @@ exports.itemAvailability = itemAvailability_1.ItemAvailability;
414
418
  exports.language = LanguageFactory;
415
419
  exports.merchantReturnPolicy = MerchantReturnPolicyFactory;
416
420
  exports.monetaryAmount = MonetaryAmountFactory;
421
+ exports.movieTicketType = MovieTicketTypeFactory;
417
422
  var notification;
418
423
  (function (notification) {
419
424
  // tslint:disable-next-line:no-shadowed-variable
420
425
  notification.event = EventNotification;
421
426
  // tslint:disable-next-line:no-shadowed-variable
427
+ notification.eventSeries = EventSeriesNotification;
428
+ // tslint:disable-next-line:no-shadowed-variable
422
429
  notification.order = OrderNotification;
423
430
  // tslint:disable-next-line:no-shadowed-variable
424
431
  notification.reservation = ReservationNotification;
package/lib/issuer.d.ts CHANGED
@@ -47,6 +47,7 @@ export declare namespace issuer {
47
47
  };
48
48
  identifier?: {
49
49
  $eq?: string;
50
+ $in?: string[];
50
51
  };
51
52
  project?: {
52
53
  id?: {
@@ -0,0 +1,65 @@
1
+ import { ICategoryCode } from './categoryCode';
2
+ import { SortType } from './sortType';
3
+ export declare enum CategorySetIdentifier {
4
+ /**
5
+ * 決済カード区分
6
+ */
7
+ MovieTicketType = "MovieTicketType"
8
+ }
9
+ export interface ICategoryCodeSet {
10
+ typeOf: 'CategoryCodeSet';
11
+ identifier: CategorySetIdentifier.MovieTicketType;
12
+ }
13
+ /**
14
+ * 決済カード区分
15
+ */
16
+ export interface IMovieTicketType extends Pick<ICategoryCode, 'codeValue' | 'color' | 'id' | 'image' | 'name' | 'project' | 'typeOf'> {
17
+ inCodeSet: ICategoryCodeSet;
18
+ paymentMethod: {
19
+ /**
20
+ * 決済カード区分の場合、対応決済方法区分
21
+ */
22
+ typeOf: string;
23
+ };
24
+ }
25
+ /**
26
+ * 検索条件
27
+ */
28
+ export interface ISearchConditions {
29
+ limit?: number;
30
+ page?: number;
31
+ sort?: {
32
+ codeValue?: SortType;
33
+ };
34
+ project?: {
35
+ id?: {
36
+ $eq?: string;
37
+ };
38
+ };
39
+ id?: {
40
+ $eq?: string;
41
+ $in?: string[];
42
+ };
43
+ name?: {
44
+ $regex?: string;
45
+ };
46
+ codeValue?: {
47
+ $eq?: string;
48
+ $in?: string[];
49
+ };
50
+ inCodeSet?: {
51
+ identifier?: {
52
+ $eq?: string;
53
+ $in?: string[];
54
+ };
55
+ };
56
+ paymentMethod?: {
57
+ /**
58
+ * 決済カード区分の場合、対応決済方法区分
59
+ */
60
+ typeOf?: {
61
+ $eq?: string;
62
+ $in?: string[];
63
+ };
64
+ };
65
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CategorySetIdentifier = void 0;
4
+ var CategorySetIdentifier;
5
+ (function (CategorySetIdentifier) {
6
+ /**
7
+ * 決済カード区分
8
+ */
9
+ CategorySetIdentifier["MovieTicketType"] = "MovieTicketType";
10
+ })(CategorySetIdentifier = exports.CategorySetIdentifier || (exports.CategorySetIdentifier = {}));
@@ -1,9 +1,8 @@
1
- import { IEvent as IScreeningEvent, IOffer, IOffer4COA, ISeller, ISellerMakesOffer } from '../event/screeningEvent';
2
- import { IEvent as IEventSeries } from '../event/screeningEventSeries';
1
+ import { IEvent as IScreeningEvent, IExtensibleEventOffer, IOffer, IOffer4COA, ISeller, ISellerMakesOffer } from '../event/screeningEvent';
3
2
  import { EventType } from '../eventType';
4
3
  import { IAvailableAtOrFrom } from '../offer';
5
4
  import { OrganizationType } from '../organizationType';
6
- export interface IUpdatedEvent4inform {
5
+ interface IUpdatedEvent4inform {
7
6
  /**
8
7
  * 同時複数作成に対応
9
8
  */
@@ -15,13 +14,29 @@ export interface IUpdatedEvent4inform {
15
14
  };
16
15
  typeOf: EventType.ScreeningEvent;
17
16
  }
18
- export type IEvent4inform = IUpdatedEvent4inform;
19
- export type IEventAsNotification<T extends EventType> = T extends EventType.ScreeningEvent ? Pick<IScreeningEvent, 'project' | 'organizer' | 'typeOf' | 'name' | 'doorTime' | 'endDate' | 'eventStatus' | 'location' | 'startDate' | 'superEvent' | 'id' | 'additionalProperty'> & {
20
- offers: (Pick<IOffer, 'itemOffered' | 'typeOf'> & {
21
- seller: Pick<ISeller, 'id' | 'typeOf'> & {
22
- makesOffer: (Pick<ISellerMakesOffer, 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough'> & {
23
- availableAtOrFrom?: IAvailableAtOrFrom[];
24
- })[];
25
- };
26
- }) | Pick<IOffer4COA, 'itemOffered' | 'typeOf'>;
27
- } : T extends EventType.ScreeningEventSeries ? Pick<IEventSeries, 'project' | 'organizer' | 'typeOf' | 'name' | 'endDate' | 'location' | 'startDate' | 'id' | 'additionalProperty' | 'subtitleLanguage' | 'dubLanguage' | 'videoFormat' | 'soundFormat' | 'workPerformed' | 'kanaName' | 'alternativeHeadline' | 'description' | 'duration' | 'eventStatus' | 'headline'> : never;
17
+ /**
18
+ * agg(分析サービス)へのイベント通知
19
+ */
20
+ type IEvent4inform2agg = IUpdatedEvent4inform;
21
+ type IEventSellerMakesOfferAsNotification = (Pick<ISellerMakesOffer, 'availabilityEnds' | 'availabilityStarts' | 'validFrom' | 'validThrough'> & {
22
+ availableAtOrFrom: IAvailableAtOrFrom[];
23
+ identifier?: string;
24
+ });
25
+ type IEventOfferAsNotification = (Pick<IExtensibleEventOffer, 'itemOffered' | 'typeOf'> & {
26
+ seller: Pick<ISeller, 'id' | 'typeOf'> & {
27
+ makesOffer: IEventSellerMakesOfferAsNotification[];
28
+ };
29
+ }) | (Pick<IOffer, 'itemOffered' | 'typeOf'> & {
30
+ seller: Pick<ISeller, 'id' | 'typeOf'> & {
31
+ makesOffer: IEventSellerMakesOfferAsNotification[];
32
+ };
33
+ }) | Pick<IOffer4COA, 'itemOffered' | 'typeOf'>;
34
+ /**
35
+ * 外部へのイベント通知
36
+ * redefine(2025-11-01~)
37
+ */
38
+ type IEventAsNotification = Pick<IScreeningEvent, 'project' | 'organizer' | 'typeOf' | 'name' | 'doorTime' | 'endDate' | 'eventStatus' | 'location' | 'startDate' | 'superEvent' | 'id' | 'additionalProperty'> & {
39
+ offers: IEventOfferAsNotification;
40
+ identifier?: string;
41
+ };
42
+ export { IEvent4inform2agg, IEventAsNotification, IEventOfferAsNotification, IEventSellerMakesOfferAsNotification };
@@ -0,0 +1,8 @@
1
+ import { IEvent as IEventSeries } from '../event/screeningEventSeries';
2
+ /**
3
+ * 外部への施設コンテンツ通知
4
+ * redefine(2025-11-01~)
5
+ */
6
+ export type IEventSeriesAsNotification = Pick<IEventSeries, 'project' | 'organizer' | 'typeOf' | 'name' | 'endDate' | 'location' | 'startDate' | 'id' | 'additionalProperty' | 'subtitleLanguage' | 'dubLanguage' | 'videoFormat' | 'soundFormat' | 'workPerformed' | 'kanaName' | 'alternativeHeadline' | 'description' | 'duration' | 'eventStatus' | 'headline'> & {
7
+ offers?: never;
8
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,121 @@
1
+ import { EventType } from '../eventType';
2
+ import { IOffer } from '../offer';
3
+ import { OfferType } from '../offerType';
4
+ import { OrganizationType } from '../organizationType';
5
+ import { SortType } from '../sortType';
6
+ interface IOfferAvailableAtOrFrom {
7
+ /**
8
+ * アプリケーションコード
9
+ */
10
+ identifier: string;
11
+ }
12
+ interface ISeller {
13
+ id: string;
14
+ typeOf: OrganizationType.Corporation;
15
+ }
16
+ /**
17
+ * 拡張されたイベントアプリケーションオファー
18
+ */
19
+ interface IExtendedEventOffer extends Pick<IOffer, 'typeOf' | 'validFrom' | 'validThrough'> {
20
+ project: {
21
+ id: string;
22
+ typeOf: OrganizationType.Project;
23
+ };
24
+ seller: ISeller;
25
+ typeOf: OfferType.Offer;
26
+ /**
27
+ * いつから承認可能か
28
+ */
29
+ validFrom: Date;
30
+ /**
31
+ * いつまで承認可能か
32
+ */
33
+ validThrough: Date;
34
+ availableAtOrFrom: IOfferAvailableAtOrFrom;
35
+ /**
36
+ * アプリケーションオファーコード
37
+ * イベント内でユニーク必須
38
+ */
39
+ identifier: string;
40
+ itemOffered: {
41
+ id: string;
42
+ typeOf: EventType.ScreeningEvent;
43
+ };
44
+ /**
45
+ * A pointer to the organization or person making the offer.
46
+ * オファー提供者が定義された場合、オファー承認時にオファー提供者によって署名されたオファートークンが必須
47
+ * その場合、有効期間、適用数量、対応アプリケーションはオファートークンのpayloadに従う
48
+ */
49
+ offeredBy?: {
50
+ /**
51
+ * オファートークン発行者コード
52
+ */
53
+ identifier?: string;
54
+ };
55
+ validForMemberTier?: never;
56
+ availabilityEnds?: never;
57
+ availabilityStarts?: never;
58
+ }
59
+ /**
60
+ * 拡張されたイベントアプリケーションオファー
61
+ */
62
+ type IEventOffer = IExtendedEventOffer;
63
+ interface ISearchConditions {
64
+ limit?: number;
65
+ page?: number;
66
+ sort?: {
67
+ validFrom?: SortType;
68
+ };
69
+ project?: {
70
+ id?: {
71
+ $eq?: string;
72
+ };
73
+ };
74
+ id?: {
75
+ $eq?: string;
76
+ };
77
+ /**
78
+ * オファーコード
79
+ */
80
+ identifier?: {
81
+ $eq?: string;
82
+ $in?: string[];
83
+ };
84
+ itemOffered?: {
85
+ /**
86
+ * オファーコレクションコード
87
+ */
88
+ id?: {
89
+ $eq?: string;
90
+ $in?: string[];
91
+ };
92
+ };
93
+ availableAtOrFrom?: {
94
+ identifier?: {
95
+ $eq?: string;
96
+ };
97
+ };
98
+ offeredBy?: {
99
+ /**
100
+ * オファー提供者ID
101
+ */
102
+ id?: {
103
+ $eq?: string;
104
+ };
105
+ };
106
+ seller?: {
107
+ /**
108
+ * 提供販売者ID
109
+ */
110
+ id?: {
111
+ $eq?: string;
112
+ };
113
+ };
114
+ validFrom?: {
115
+ $lte?: Date;
116
+ };
117
+ validThrough?: {
118
+ $gte?: Date;
119
+ };
120
+ }
121
+ export { IEventOffer, ISearchConditions };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -6,6 +6,7 @@ import { PersonType } from './personType';
6
6
  import * as ProductFactory from './product';
7
7
  import { IProject } from './project';
8
8
  import { ReservationType } from './reservationType';
9
+ import { PaymentServiceType } from './service/paymentService';
9
10
  import * as WebAPIFactory from './service/webAPI';
10
11
  import { SortType } from './sortType';
11
12
  export type IBookingService = Pick<WebAPIFactory.IService<WebAPIFactory.Identifier>, 'identifier' | 'typeOf'>;
@@ -60,6 +61,7 @@ export type IPermitAsGood = Pick<PermitFactory.IPermit, 'identifier' | 'typeOf'
60
61
  /**
61
62
  * 所有対象としての請求
62
63
  * 決済承認時にチケットとして利用される
64
+ * @deprecated use IPaymentMethodAsGood
63
65
  */
64
66
  export type InvoiceAsGood = Pick<IInvoice, 'paymentMethodId' | 'typeOf'> & {
65
67
  issuedThrough: {
@@ -67,10 +69,30 @@ export type InvoiceAsGood = Pick<IInvoice, 'paymentMethodId' | 'typeOf'> & {
67
69
  typeOf: IInvoice['paymentMethod']['typeOf'];
68
70
  };
69
71
  };
72
+ /**
73
+ * 所有対象としての決済方法
74
+ * 決済承認時にチケットとして利用される
75
+ */
76
+ export interface IPaymentMethodAsGood {
77
+ /**
78
+ * 決済サービスID
79
+ */
80
+ id: string;
81
+ typeOf: PaymentServiceType.CreditCard | PaymentServiceType.MovieTicket;
82
+ serviceOutput: Pick<IInvoice, 'paymentMethodId' | 'typeOf'>;
83
+ }
84
+ export interface IFaceToFacePaymentMethodAsGood {
85
+ /**
86
+ * 対面決済サービスIDはなし
87
+ */
88
+ id?: never;
89
+ typeOf: PaymentServiceType.FaceToFace;
90
+ serviceOutput: Pick<IInvoice, 'paymentMethodId' | 'typeOf'>;
91
+ }
70
92
  /**
71
93
  * 所有対象物 (Product or Service)
72
94
  */
73
- export type IGood = IReservation | IPermitAsGood | InvoiceAsGood;
95
+ export type IGood = IReservation | IPermitAsGood | InvoiceAsGood | IPaymentMethodAsGood | IFaceToFacePaymentMethodAsGood;
74
96
  export interface IOwnerAsOrganization {
75
97
  typeOf: OrganizationType.Organization;
76
98
  id: string;
@@ -1,11 +1,11 @@
1
1
  import { IExtendId } from '../autoGenerated';
2
- import { IEvent4inform } from '../notification/event';
2
+ import { IEvent4inform2agg } from '../notification/event';
3
3
  import { IOrder4inform } from '../notification/order';
4
4
  import { IReservation4inform } from '../notification/reservation';
5
5
  import { ITask4inform } from '../notification/task';
6
6
  import * as TaskFactory from '../task';
7
7
  import { TaskName } from '../taskName';
8
- export type INotification = IEvent4inform | IOrder4inform | IReservation4inform | ITask4inform;
8
+ export type INotification = IEvent4inform2agg | IOrder4inform | IReservation4inform | ITask4inform;
9
9
  export interface IData {
10
10
  /**
11
11
  * 通知識別子
@@ -1,11 +1,11 @@
1
1
  import { IAttributes as IInformActionAttributes, IOrderAsAbout, IPlaceOrderAsAbout, IRecipient, IRecipientDeprecated } from '../action/interact/inform';
2
2
  import { IExtendId } from '../autoGenerated';
3
3
  import { IEntryPoint } from '../entryPoint';
4
- import { EventType } from '../eventType';
5
4
  import { IAccountTitleAsNotification } from '../notification/accountTitle';
6
5
  import { ICategoryCodeAsNotification } from '../notification/categoryCode';
7
6
  import { IMovieAsNotification, INoteDigitalDocumentAsNotification } from '../notification/creativeWork';
8
- import { IEvent4inform, IEventAsNotification } from '../notification/event';
7
+ import { IEvent4inform2agg, IEventAsNotification } from '../notification/event';
8
+ import { IEventSeriesAsNotification } from '../notification/eventSeries';
9
9
  import { IOfferAsNotification } from '../notification/offer';
10
10
  import { IOfferCatalogAsNotification } from '../notification/offerCatalog';
11
11
  import { IOrder4inform } from '../notification/order';
@@ -25,7 +25,7 @@ export type IDeprecatedRecipient = Pick<IRecipientDeprecated, 'id' | 'name' | 't
25
25
  /**
26
26
  * define strictly(2025-02-20~)
27
27
  */
28
- export type IAnyResourceAsObject = IPlaceOrderAsNotification | IOfferCatalogAsNotification | IHasPOSAsNotification | IMovieTheaterAsNotification | IOfferAsNotification | IAccountTitleAsNotification | IProductAsNotification | ICategoryCodeAsNotification | IMovieAsNotification | INoteDigitalDocumentAsNotification | IPersonAsNotification | IEvent4inform | IEventAsNotification<EventType>;
28
+ export type IAnyResourceAsObject = IPlaceOrderAsNotification | IOfferCatalogAsNotification | IHasPOSAsNotification | IMovieTheaterAsNotification | IOfferAsNotification | IAccountTitleAsNotification | IProductAsNotification | ICategoryCodeAsNotification | IMovieAsNotification | INoteDigitalDocumentAsNotification | IPersonAsNotification | IEvent4inform2agg | IEventAsNotification | IEventSeriesAsNotification;
29
29
  export type IInformAnyResourceAction = Pick<IInformActionAttributes<IAnyResourceAsObject>, 'object' | 'about'> & {
30
30
  /**
31
31
  * 通知識別子(2024-10-24~)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chevre/factory",
3
- "version": "5.2.0-alpha.0",
3
+ "version": "5.2.0-alpha.10",
4
4
  "description": "Chevre Factory Library for Javascript",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",