import * as factory from '../factory'; import { IAcceptedOffer, IAuthorizeResult, IExternalOrder, IReturner, ISearchOrdersOptions, IUpdateChangeableAttributesParams } from './order/factory'; import { IProjectionSearchConditions, ISearchResult, Service } from '../service'; /** * 注文サービス */ export declare class OrderService extends Service { /** * 取引なしに作成する */ createWithoutTransaction(params: IExternalOrder): Promise; /** * なければ作成する */ createIfNotExist(params: { confirmationNumber: string; orderNumber: string; }): Promise; /** * 確認番号で検索 * 確認番号と購入者情報で注文を検索します */ findByConfirmationNumber(params: { /** * 確認番号 */ confirmationNumber: string; /** * 購入者情報 */ customer?: { email?: string; telephone?: string; }; orderDateFrom?: Date; orderDateThrough?: Date; orderNumber?: string; } & IProjectionSearchConditions): Promise; /** * イベントIDと確認番号で検索 */ findByEventAndConfirmationNumber(params: { /** * 確認番号 */ confirmationNumber: string; /** * 購入者情報 */ customer?: { telephone?: string; }; event: { id: { $in: string[]; }; }; } & IProjectionSearchConditions): Promise; /** * 予約番号と電話番号で注文情報を取得する(sskts専用) */ findByOrderInquiryKey4sskts(params: { theaterCode: string; confirmationNumber: string; telephone: string; } & IProjectionSearchConditions): Promise; /** * 注文番号と何かしらで注文照会 */ findOneByOrderNumberAndSomething(params: { orderNumber: string; customer?: { telephone?: string; }; } & IProjectionSearchConditions): Promise; /** * 注文配送 */ deliverOrder(params: { /** * 確認番号 */ confirmationNumber: string; /** * 注文番号 */ orderNumber: string; }): Promise; /** * 返品 */ returnOrder(params: { orderNumber: string; dateReturned: Date; returner: factory.order.IReturner; }): Promise; /** * 変更可能な属性を更新する */ updateChangeableAttributes(params: IUpdateChangeableAttributesParams): Promise; /** * 注文を検索する */ search(params: factory.order.ISearchConditions & IProjectionSearchConditions & ISearchOrdersOptions): Promise>; /** * 注文取得 */ findByOrderNumber(params: { /** * 注文番号 */ orderNumber: string; }, options: IProjectionSearchConditions): 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; /** * 注文に対するアクションを検索する */ searchActionsByOrderNumber(params: { /** * 注文番号 */ orderNumber: string; sort: factory.action.ISortOrder; }): Promise>[]>; /** * 注文コードを発行する */ authorize(params: { object: { /** * 注文番号 */ orderNumber: string; /** * 購入者情報 */ customer: { email?: string; telephone?: string; }; }; result?: { /** * コードの有効期間(秒) */ expiresInSeconds?: number; }; }): Promise; }