@chevre/domain
Version:
Chevre Domain Library for Node.js
31 lines (30 loc) • 1.52 kB
TypeScript
import * as factory from '../../../../factory';
import type { AdvanceBookingRequirementRepo } from '../../../../repo/advanceBookingRequirement';
import type { IMinimizedIndividualEvent } from '../../../../repo/event';
import type { OfferRepo } from '../../../../repo/offer/unitPriceInCatalog';
import type { OfferCatalogRepo } from '../../../../repo/offerCatalog';
import type { PaymentServiceRepo } from '../../../../repo/paymentService';
import type { ProductRepo } from '../../../../repo/product';
import type { ProductOfferRepo } from '../../../../repo/productOffer';
type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSubReservation;
declare function createSubReservations(params: {
acceptedOffers: factory.assetTransaction.reserve.IAcceptedTicketOfferWithoutDetail[];
ticketOffers: factory.product.ITicketOffer[];
availableOffers: factory.unitPriceOffer.IUnitPriceOffer[];
now: Date;
event: IMinimizedIndividualEvent<factory.eventType.Event | factory.eventType.ScreeningEvent>;
availableSeatOffers: factory.place.seat.IPlaceWithOffer[];
reservationNumber: string;
availableAtOrFrom?: {
id?: string;
};
validateAppliesToMovieTicket: boolean;
}): (repos: {
advanceBookingRequirement: AdvanceBookingRequirementRepo;
offer: OfferRepo;
offerCatalog: OfferCatalogRepo;
paymentService: PaymentServiceRepo;
product: ProductRepo;
productOffer: ProductOfferRepo;
}) => Promise<IObjectSubReservation[]>;
export { createSubReservations };