[Planned Breaking Changes] [Diagrams] [Artifacts] [Dependencies] [Provided REST Endpoints / Services] [Deprecations] [Maven Artifacts]
NOVA is able to sell a wide variety of offers from different domains. In order to not pollute our booking implementation with domain specifics a generic checkout process is implemented.
Capabilities:
NOVA Booking Data Types | NOVA Booking Service Model | NOVA Booking Master Data | NOVA Booking Master Data |
---|---|---|---|
- Booking Data Types Domain - Booking Data Types OpenAPI | - 01 Booking Domain Overview - 02 Bookable Item Extension - 03 Bookable Item Reporting - 11 Booking Requests / Responses - 20 NOVA Booking Service OpenAPI - 21 NOVA Booking Service Roles - Bookable Item States - Checkout Parameter Value | - NOVA Booking Master Data - Data Unit - NOVA Booking Master Data - Domain - NOVA Booking Master Data - OpenAPI | - NOVA Booking Events - NOVA Booking Events OpenAPI |
Artifact | Icon | Maturity Level | since |
---|---|---|---|
NOVA Booking Data Types | 🐔 | Crazy Chicken | |
NOVA Booking Service Model | 🐔 | Crazy Chicken | |
NOVA Booking Master Data | 🐔 | Crazy Chicken | |
NOVA Booking Events | 🐔 | Crazy Chicken |
Service can be used to run the checkout process.
The booking service is responsible for: * creation of bookings * confirmation of bookings * cancellation of bookings * querying for bookings
REST Path / Operation | Description |
---|---|
/bookings:createBooking [POST] createBooking(CreateBookingRequest, SalesContext, IdempotencyHeader) | Operation creates a new booking based on the offer selection that is part of the request. The selected offers will be validated against the offer lineup and the therein defined offer dependencies. In order to ensure a correct offer selection there must be only one offer selection per passenger inside one booking. |
/bookings/{bookingID}:issueBooking [POST] issueBooking(BookingID, IssueBookingRequest, SalesContext, IdempotencyHeader) | Operation issues the passed booking and all of its bookable items. Issuing a booking means that it is sold to a customer. This changes the state of a booking and its bookable items. Afterwards if required, fulfillments can be created. |
/bookings/{bookingID}:confirmBooking [POST] confirmBooking(BookingID, SalesContext, IdempotencyHeader) | Operation can be used to confirm a booking. As soon as a booking was confirmed it can not be canceled any more. If a booking should be undone completely or partially after confirmation then the refund process has to be used. |
/bookings/{bookingID}:cancelBooking [POST] cancelBooking(BookingID, SalesContext, IdempotencyHeader) | Operation cancels an existing booking. This is only possible until the booking was not confirmed. |
/bookings:query-bookings [GET] queryBookings(BookingQuery, PagingParams, SalesContext) | Operation can be used to query bookings. |
/bookings:query-bookable-items [GET] queryBookableItems(BookableItemQuery, PagingParams, SalesContext) | Operation can be used to query bookable items. |
/bookings/bookable-items/domain-extensions [GET] getBookableItemDomainExtensions(BookableItemID, SalesContext) | |
/bookings/bookable-items/appendixes [GET] getBookableItemApendixes(BookableItemID, SalesContext) | Operation returns the bookable item appendixes of the objects with the passed IDs. This operation is only intended for internal purposes and does not belong to the public part of the API. |
No breaking changes planned.
ch.voev.nova.booking.datatypes
No deprecations published.
ch.voev.nova.booking.servicemodel
No deprecations published.
ch.voev.nova.booking.masterdata
No deprecations published.
ch.voev.nova.booking.events
No deprecations published.
The following table shows the Maven modules that might be used by integrators.
Module Type [1] | NOVA Booking Data Types | NOVA Booking Service Model | NOVA Booking Master Data | NOVA Booking Events |
---|---|---|---|---|
OpenAPI | <dependency> | <dependency> | <dependency> | <dependency> |
Java | <dependency> | <dependency> | <dependency> | <dependency> |
Java Runtime | <dependency> | <dependency> | <dependency> | <dependency> |
Services | <dependency> | |||
REST Client | <dependency> | |||
REST Client Starter | <dependency> | |||
Jackson Starter | <dependency> | <dependency> |
[1] For further details about the different module types please see: