@chevre/domain
Version:
Chevre Domain Library for Node.js
59 lines (58 loc) • 2.81 kB
TypeScript
import * as factory from '../../../../../factory';
import { IMinimizedIndividualEvent } from '../../../../../factory/event';
import { IAcceptedAddOn } from './price';
type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSubReservation;
/**
* 確定時予約のITicket
*/
type IReservedTicket = Pick<factory.reservation.ITicket, 'identifier' | 'issuedBy' | 'ticketType' | 'ticketedSeat' | 'typeOf'>;
declare function createReservedTicket(params: {
id: string;
acceptedOffer: factory.assetTransaction.reserve.IAcceptedTicketOfferWithoutDetail;
availableOffer: factory.unitPriceOffer.IUnitPriceOffer;
dateIssued: Date;
reservationFor: {
id: string;
};
reservedSeatsOnly: boolean;
screeningRoomSections?: factory.place.screeningRoomSection.IPlace[];
availableSeatOffers: factory.place.seat.IPlaceWithOffer[];
ticketOffer: factory.product.ITicketOffer;
}): IReservedTicket;
declare function validateAppliesToMovieTicket(params: {
availableOffer: factory.unitPriceOffer.IUnitPriceOffer;
appliesToMovieTicket?: factory.assetTransaction.reserve.IAcceptedAppliesToMovieTicket;
}): void;
/**
* 追加特性を生成する
*/
declare function createAdditionalProperty(params: {
acceptedOffer: factory.assetTransaction.reserve.IAcceptedTicketOfferWithoutDetail;
}): factory.propertyValue.IPropertyValue<string>[];
/**
* 追加チケットテキストを生成する
*/
declare function createAdditionalTicketText(params: {
acceptedOffer: factory.assetTransaction.reserve.IAcceptedTicketOfferWithoutDetail;
reservedTicket: IReservedTicket;
}): string | undefined;
declare function createReservation(params: {
project: {
id: string;
typeOf: factory.organizationType.Project;
};
id: string;
reservationFor: IMinimizedIndividualEvent<factory.eventType.ScreeningEvent> | IMinimizedIndividualEvent<factory.eventType.Event>;
reservedTicket: IReservedTicket;
additionalProperty?: factory.propertyValue.IPropertyValue<string>[];
additionalTicketText?: string;
ticketOffer: factory.product.ITicketOffer;
seatPriceComponent: factory.place.seat.IPriceComponent[];
acceptedAddOns: IAcceptedAddOn[];
subReservation?: factory.reservation.ISubReservation<factory.reservationType.EventReservation>[];
programMembershipUsed?: factory.reservation.IProgramMembershipUsed<factory.reservationType.EventReservation>;
availableOffer: factory.unitPriceOffer.IUnitPriceOffer;
appliesToMovieTicket?: factory.assetTransaction.reserve.IAcceptedAppliesToMovieTicket;
validateAppliesToMovieTicket: boolean;
}): IObjectSubReservation;
export { createAdditionalProperty, createAdditionalTicketText, createReservation, createReservedTicket, IAcceptedAddOn, validateAppliesToMovieTicket };