import * as factory from '../factory'; import { IProjectionSearchConditions, ISearchResult, IUnset, Service } from '../service'; import { IAuthorizeCOAEventServiceResult, IAuthorizeEventServiceResult, IAuthorizeProductOfferResult, IMinimalAuthorizeEventServiceResult } from './transaction/placeOrder/factory'; export interface IPurpose { typeOf: factory.transactionType; id: string; } export declare enum FlgMember { /** * 非会員 */ NonMember = "0", /** * 会員 */ Member = "1" } export interface ICOAPointOffer { /** * オファーID */ id: string; /** * オファーコード */ identifier: string; /** * チケットコード */ ticketCode: string; /** * チケット名 */ ticketName: string; /** * チケット名(カナ) */ ticketNameKana: string; /** * チケット名(英) */ ticketNameEng: string; /** * ポイント購入の場合の消費ポイント */ usePoint: number; /** * 会員用フラグ */ flgMember?: FlgMember; } /** * オファーサービス */ export declare class OfferService extends Service { /** * オファー作成 */ create(params: factory.unitPriceOffer.IUnitPriceOffer): Promise; /** * オファー検索 */ search(params: factory.unitPriceOffer.ISearchConditions & IProjectionSearchConditions): Promise>; findById(params: { id: string; }): Promise; /** * オファー更新 */ update(params: factory.unitPriceOffer.IUnitPriceOffer & IUnset): Promise; /** * オファー削除 */ deleteById(params: { id: string; }): Promise; /** * プロダクトオファー承認 */ authorizeProduct(params: { object: factory.action.authorize.offer.product.IObjectWithoutDetail; purpose: factory.action.authorize.offer.product.IPurpose; }): Promise; /** * イベントオファー承認 */ authorizeEventService(params: { object: factory.action.authorize.offer.seatReservation.IObjectWithoutDetail; purpose: factory.action.authorize.offer.seatReservation.IPurpose; expectsMinimalResponse?: boolean; }): Promise; /** * オファー承認取消 */ voidAuthorization(params: { /** * 承認アクションID */ id: string; object: { itemOffered: { typeOf: factory.actionType.MoneyTransfer | factory.product.ProductType; }; }; purpose: IPurpose; }): Promise; /** * 興行オファー承認 */ authorizeEventServiceByCOA(params: { agent: { id: string; }; object: { acceptedOffer: factory.action.authorize.offer.seatReservation.IAcceptedOffer[]; event: { id: string; }; }; purpose: factory.action.authorize.offer.seatReservation.IPurpose; result: { requestBody: factory.action.authorize.offer.seatReservation.IRequestBody; responseBody: factory.action.authorize.offer.seatReservation.IResponseBody; }; }): Promise; /** * 興行オファー承認取消 */ voidAuthorizationByCOA(params: { agent: { id: string; }; /** * 承認アクションID */ id: string; purpose: IPurpose; }): Promise<{ theaterCode?: string; dateJouei?: string; titleCode?: string; titleBranchNum?: string; timeBegin?: string; tmpReserveNum?: string; }>; /** * 興行オファー承認のacceptedOffer参照 */ findEventServiceByCOAObject(params: { /** * 承認アクションID */ id: string; }): Promise, 'acceptedOffer'>>; /** * 興行オファー承認変更 */ updateEventServiceByCOA(params: { agent: { id: string; }; /** * 承認アクションID */ id: string; object: { acceptedOffer: factory.action.authorize.offer.seatReservation.IAcceptedOffer[]; event: { id: string; }; }; purpose: factory.action.authorize.offer.seatReservation.IPurpose; }): Promise; /** * COAポイントオファー検索 */ searchCOAPointOffers(params: { theaterCode: string; ticketCode: string[]; }): Promise>; }