Access to add and change pages is restricted. See: https://cwiki.apache.org/confluence/display/OFBIZ/Wiki+access

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »


Introduction

This page is a discussion for the implementation on how we register the reservation of seats in a location for a certain date and time. Please add comments and/or amend the text.

 Please look at : OFBIZ-1590 for the implementation patches

Current system 

Currently there is a reservation possibility for rooms in a Hotel. It makes usage of the product --> fixedasset --> techdatacalendar  entities for registration of location and availability. Reservations are stored in the order --> orderitem --> workEffort -> fixedasset entities.

This is fine for rooms in a Hotel but this organization has the following problems:

  • There is a duplication of data for the reservation date in workeffort and the availability date in the techData calendar.
  • It does not cater for floorplans as is used in planes, cinemas and busses and in most restaurants.

Proposed Changes 

 As suggested in the mailinglist,  it is proposed to add 3 more entities:

  1. accomodationMap (of a fixed asset)
    This is a floorplan of a fixedasset which can be a vehicle,plane or restaurant-area of a facility.
  2. accomodationSpot (of a accomodationmap)
    This is a seat, table, chair of the accomodation map for a certain accomodation class
  3. accomodationClass (type of accomodationSpot)
    this is the type of class, like firstClass,businessClass but also standard or luxuryroom.
  4. Reservations are still done using the current implementation however we need to add accomodationMapId and accomodationSpotId to the workeffort.

The following picutre I (Valentina) upload describes the entities AccoomdationClass, AccommodationMap, AccommodationSpot. 
 
Picture description
In red dotted lines are some enhancment that I think might be very useful:
Enhancement1: Entity AccoomdationClass might be extended with parentAccClass field
to enable more flexible structure of the classes.
Enhancement2: Overbooked field in AccommodationMap entity might be added to store
overbooking data for each class.

 
Entities purposes:
The first two entities are described in the upper comments I would like to say just a bit more about AccommodationSpot.
AccommodationSpot-defines a SPECIFIC spot that is available within accommodation map.
Spots might be fa but this is not a must. This make it very useful in cases where we
need to model seats for example. In this entity we store the number of the room/table/seat. I  modified its type to be  varchar
as plane seats for example are mixture of different letters and numbers.
 
I created jira issue where I uploaded the patch for these entities(with the fields I think
we need to enhance, but if the community does not agree on them just don`t take them).Here is the linkofbiz-1590

Definitions

  • A restaurant is a facility with a dining area which is a fixed asset having a accomodation map with spots which are tables and/or seats. A table can be reserved selecting the product (table reservation for fixedasset 'dining area' in a facility) and selecting the accomodation spot from the related map.
  • An Aeroplane, Bus or Train is a  fixed asset having a accomodation map with spots in several classes flying from airport A which is a facility to airport B which is another facility
  • A hotel is a facility with a restaurant (fixedasset) and rooms (single fixed asset) having a accomodation map with spots which are rooms.
  • No labels