import * as factory from '../factory'; import { ISearchResult, Service } from '../service'; import { IAcceptedOffer, IOptimizedOrder, IReturner, ISearchOrdersOptions, IUpdateChangeableAttributesParams } from './order/factory'; /** * 注文サービス */ export declare class OrderService extends Service { /** * 注文作成 * 確定した注文取引に対して、同期的に注文データを作成 * すでに注文が作成済の場合、何もしない */ placeOrder(params: { object: { /** * 注文番号 */ orderNumber: string; /** * 確認番号 */ confirmationNumber: string; }; purpose?: { typeOf?: factory.transactionType; id?: string; }; }): Promise; /** * 確認番号で検索 * 確認番号と購入者情報で注文を検索します */ findByConfirmationNumber(params: { /** * 確認番号 */ confirmationNumber: string; /** * 購入者情報 */ customer?: { email?: string; telephone?: string; }; orderDateFrom?: Date; orderDateThrough?: Date; orderNumber?: string; }): Promise; /** * イベントIDと確認番号で検索 */ findByEventAndConfirmationNumber(params: { /** * 確認番号 */ confirmationNumber: string; /** * 購入者情報 */ customer?: { telephone?: string; }; event: { id: { $in: string[]; }; }; }): Promise; /** * 予約番号と電話番号で注文情報を取得する(sskts専用) */ findByOrderInquiryKey4sskts(params: { theaterCode: string; confirmationNumber: string; telephone: string; }): Promise; /** * 注文番号と何かしらで注文照会 */ findOneByOrderNumberAndSomething(params: { orderNumber: string; customer?: { telephone?: string; }; }): Promise; /** * 注文コードを発行する */ authorize(params: { object: { /** * 注文番号 */ orderNumber: string; /** * 購入者情報 */ customer: { email?: string; telephone?: string; }; }; result?: { /** * コードの有効期間(秒) */ expiresInSeconds?: number; }; }): Promise<{ code: string; }>; /** * 注文取得 */ findByOrderNumber(params: { /** * 注文番号 */ orderNumber: string; }): Promise; /** * 注文を検索する */ search(params: factory.order.ISearchConditions & ISearchOrdersOptions): Promise[]>>; /** * 返品者検索 */ findReturner(params: { /** * 注文番号 */ orderNumber: string; }): Promise; /** * 注文オファー検索 */ searchAcceptedOffersByOrderNumber(params: { /** * 注文番号 */ orderNumber: string; }, conditions: { limit?: number; page?: number; }): Promise; /** * 確認番号で注文オファー検索検索 */ searchAcceptedOffersByConfirmationNumber(params: { limit?: number; page?: number; confirmationNumber: string; orderNumber: string; }): Promise; /** * 変更可能な属性を更新する */ updateChangeableAttributes(params: IUpdateChangeableAttributesParams): Promise; }