import type { COAFactory } from '@coasystems/factory'; import { IAction as IBaseAction } from '../../../action'; import { ActionType } from '../../../actionType'; import { IAcceptedTicketOfferWithoutDetail, IObjectWithoutDetail } from '../../../assetTransaction/reserve'; import { AssetTransactionType } from '../../../assetTransactionType'; import { IEvent } from '../../../event/screeningEvent'; import { ITotalPaymentDue } from '../../../order'; import { IAttributes as IBaseAttributes } from '../../authorize'; import { IAcceptedOfferInResult, IAgent, IAggregateProgramMembershipUsed, IError, IInstrumentAsCOAReserveTransaction, IInstrumentAsReserveTransaction, IPurpose, IRecipient, IResultAsAggregateOffer, ObjectType } from './any'; export { IAcceptedOfferInResult, IAgent, IAggregateProgramMembershipUsed, IRecipient, IInstrumentAsCOAReserveTransaction, IInstrumentAsReserveTransaction, IError, IPurpose, ObjectType, IResultAsAggregateOffer }; export type IInstrumentAsAssetTransaction = IInstrumentAsCOAReserveTransaction | IInstrumentAsReserveTransaction; export interface IResult extends IResultAsAggregateOffer { /** * オファーに対して必要な通貨金額 * currencyを通貨区分として扱う */ amount: ITotalPaymentDue[]; } export type IAcceptedOfferWithoutDetail = IAcceptedTicketOfferWithoutDetail; export { IObjectWithoutDetail }; export type ICOAPendingTransaction = Pick & { transactionNumber: string; typeOf: AssetTransactionType.COAReserveTransaction; }; export type IEventInObject = Pick; /** * 興行オファー承認アクション対象 */ export interface IObject { typeOf: ObjectType.SeatReservation; event?: IEventInObject; itemOffered?: never; /** * recipe有(仮予約時)のCOA興行オファー採用アクションID(2024-06-11~) */ id?: string; /** * COA進行中取引(仮予約削除時に利用) * discontinue on Chevre(2024-06-22~) */ pendingTransaction?: ICOAPendingTransaction; } export interface IAttributes extends IBaseAttributes { typeOf: ActionType.AuthorizeAction; agent: IAgent; instrument: IInstrumentAsAssetTransaction; recipient: IRecipient; object: IObject; purpose: IPurpose; } /** * 興行オファー承認アクション */ export type IAction = IBaseAction;