UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

31 lines (30 loc) 1.52 kB
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 };