Home » NOVA Booking » NOVA Booking Service Model

NOVA Booking Service Model (Package ch.voev.nova.booking.servicemodel)

Types / Enumerations:


Types

BookableItem

Type represents a so called bookable item. A bookable item is everything that can be sold via NOVA. BookableItems are a lightweight generic representation for all kinds of bookable item types like single tickets, season tickets or reservations.

In case that more details about a bookable item are required, then NOVA also is able to provide domain specific information (BookableItemExtension) and reporting data (BookableItemReportingData) for bookable items.

Domain specific extensions and reporting data are not directly linked with bookable items as in many cases the generic information is sufficient. By separating them, the overall payload can be heavily reduced which at the end helps everybody.

If additional information for bookable items are required then they can be loaded using specific API calls.


Type Details Details
Alias Leistung


Properties / Associations

Name Type Multiplicity Constraints Description
state BookableItemState 1..1 Current state of the bookable item.
bookableItemID BookableItemID 1..1 ID of the bookable item.
pricingSubject PricingSubject 1..1 Pricing subject that belongs to the bookable item. The pricing subject contains an abstract description of the subject of the bookable item.
referenceCode BookableItemReferenceCode 1..1 Reference code of the bookable item.
bookableItemType BookableItemType 1..1 Type of the bookable item.


BookableItemAppendix

Object represents the appendices to a bookable item. They represent additional internal information that are stored along with a bookable item.

As not all information of a bookable item will be stored for the same period of time it might be the cases that not for all of them the same amount of information is available.


Properties / Associations

Name Type Multiplicity Constraints Description
topLevelShareUnit ShareUnit 0..1 Link to top level share unit. Share units are used to split different types of shares e.g. revenues among several partners.
domainExtensions DomainExtension 0..* List with domain specific information that are an addition to the generic information about as they are defined in the PricingSubject.
bookableItemID BookableItemID 1..1 ID of the bookable item to which this appendix belongs to.


BookableItemDomainExtensions

Type realizes the association between a bookable item (by its ID) and domain specific extensions that belong to it.

The main purpose of this class is to decouple booking service and its implementation as much as possible from domain specific information that belong to bookable items.

To do so, this class supports to associate multiple domain specific extensions with a bookable item. Each extension needs to have a different type. It is not allows that multiple extensions of the same BookableItemDomainExtensionType are associated with one bookable item.


Properties / Associations

Name Type Multiplicity Constraints Description
bookableItemID BookableItemID 1..1 ID of the bookable item to which the domain specific detail belongs to.
extensions DomainExtension 1..*


BookableItemIssuingData

Type represents the data that is needed to issue a single bookable item.


Properties / Associations

Name Type Multiplicity Constraints Description
checkoutParameterValues CheckoutParameterValue 0..* List of checkout parameters that are required to issue the bookable item.
bookableItemID BookableItemID 1..1 ID of the bookable item that should be issued.
issuingType IssuingType 1..1 Issuing type that was chosen for the bookable item.


BookableItemQuery

Type can be used to query bookable items.


Properties / Associations

Name Type Multiplicity Constraints Description
customerID TKID 0..1


Booking

Type represents a booking.


Properties / Associations

Name Type Multiplicity Constraints Description
bookableItems BookableItem 1..* List with all bookable items that belong to this booking.
bookingID BookingID 1..1 ID of the booking.


BookingQuery

Type can be used to query bookings.


Properties / Associations

Name Type Multiplicity Constraints Description
bookingIDs BookingID 0..* IDs of the bookings that should be returned.


BookingRequest

Type is used to describe a new booking that should be created.


Properties / Associations

Name Type Multiplicity Constraints Description
offerSelections OfferSelection 1..* List of offer selections that should be aggregated within one booking.


BooleanCheckoutParameterValue

Type to collect a boolean value as checkout parameter value.

This type matches to requested checkout parameters of type CheckoutParameterType.BOOLEAN.


Type Details Details
Parent Class CheckoutParameterValue


Properties / Associations

Name Type Multiplicity Constraints Description
booleanValue boolean 1..1


CheckoutParameterValue

Class is the base class for all checkout parameter values. It is used to provide the requested values for checkout parameters during the checkout process.


Type Details Details
Alias LeistungVerkaufsParameterType
Abstract true


Properties / Associations

Name Type Multiplicity Constraints Description
code CheckoutParameterCode 0..1 Code of the checkout parameter to which this value belongs to.
checkoutParameterDefinition CheckoutParameterDefinition 0..1 Link to master data of checkout parameter to which this checkout parameter belongs to.


CountryCodeCheckoutParameterValue

Type to collect a country code as checkout parameter value.

This type matches to requested checkout parameters of type CheckoutParameterType.COUNTRY_CODE.


Type Details Details
Parent Class CheckoutParameterValue


Properties / Associations

Name Type Multiplicity Constraints Description
countryCode CountryCode 1..1


CustomerIdentificationCheckoutParameterValue

Type defines a checkout parameter value to define a role of a customer.


Type Details Details
Parent Class CheckoutParameterValue


Properties / Associations

Name Type Multiplicity Constraints Description
customerRole CustomerRoleAssociation 1..1 Role of a customer in the context of an offer / bookable item. The same customer may appear in different roles.


IntegerCheckoutParameterValue

Type to collect an integer value as checkout parameter value.

This type matches to requested checkout parameters of type CheckoutParameterType.INTEGER.


Type Details Details
Parent Class CheckoutParameterValue


Properties / Associations

Name Type Multiplicity Constraints Description
intValue int 1..1


IssueBookingRequest

Type is used as request object to issue a booking. As part of such a request issuing data for every bookable item of the booking has to be provided.


Properties / Associations

Name Type Multiplicity Constraints Description
issuingData BookableItemIssuingData 1..* Issuing data for each bookable item of the booking.

Important Notice:

* You have to provide exactly one BookableItemIssuingData object for each bookable item of a booking. Otherwise the request is invalid.


LanguageCodeCheckoutParameterValue

Type to collect a language code as checkout parameter value.

This type matches to requested checkout parameters of type CheckoutParameterType.LANGUAGE_CODE.


Type Details Details
Parent Class CheckoutParameterValue


Properties / Associations

Name Type Multiplicity Constraints Description
languageCode LanguageCode 1..1


LocalDateCheckoutParameterValue

Type to collect a local date as checkout parameter value.

This type matches to requested checkout parameters of type CheckoutParameterType.LOCAL_DATE.


Type Details Details
Parent Class CheckoutParameterValue


Properties / Associations

Name Type Multiplicity Constraints Description
localDate java.time.LocalDate 1..1


LocalTimeCheckoutParameterValue

Type to collect a local time as checkout parameter value.

This type matches to requested checkout parameters of type CheckoutParameterType.LOCAL_TIME.


Type Details Details
Parent Class CheckoutParameterValue


Properties / Associations

Name Type Multiplicity Constraints Description
localTime java.time.LocalTime 1..1


OfferSelection

An offer selection represents the selection of one or more offers for exactly one passenger.


Properties / Associations

Name Type Multiplicity Constraints Description
offerIDs OfferID 1..* List of offers that should be booked for a passenger.
checkoutParameterValues CheckoutParameterValue 0..*
passengerID ExternalReferenceID 1..1 ID of the passenger for which this offer selection is.


PersonalizationCheckoutParameterValue

Type defines a checkout parameter value for personalization information.


Type Details Details
Parent Class CheckoutParameterValue


Properties / Associations

Name Type Multiplicity Constraints Description
customerInfo PersonInfo 1..1 Minimum information about a customer.


Refund


Properties / Associations

Name Type Multiplicity Constraints Description


TextCheckoutParameterValue

Type to collect a string value as checkout parameter value.

This type matches to requested checkout parameters of types: - CheckoutParameterType.TEXT - CheckoutParameterType.EMAIL - CheckoutParameterType.PHONE_NUMBER - CheckoutParameterType.LICENSE_PLATE


Type Details Details
Parent Class CheckoutParameterValue


Properties / Associations

Name Type Multiplicity Constraints Description
text String 1..1



Enumerations

BookableItemState

Enumeration defines the possible states of a bookable item.

Literals

Name Description
RESERVED State RESERVED means that the bookable item is reserved for some time to a customer.

This also applies to limited tickets and reservations. However, if the bookable item will not be issued within a certain time period then it will automatically be CANCELED.
ISSUED State defines that the bookable item was "ISSUED". This means that is was handed out to the customer and is valid for usage.
CONFIRMED State CONFIRMED means that the bookable item was successfully booked. As soon as this state is reached it can not be canceled any longer. Instead if the ticket should not be usable any more then a refund process has to be started.
CANCELED
REFUNDED
PARTIALLY_REFUNDED