function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
laytro1978laytro1978 

Thought starters please

Background

A friend  runs a small hotel, 8 rooms.  He wanted me to help him with CRM which I did with SFDC.  We are now looking to try and build a simple reservation manager to be used be his receptionist.   The reservation manager should allow the receptionist to make bookings, change and delete them.

 

What I have done so far

I have two objects room and reservation.  The reservation has a lookup to contact and room.  So I can create a reservation with a start and an end date.  So at a glance I can see room booking either as a report, a list view or as a related list on the room object.

 

Help

I now want to make the system more intelligent. 

 

 

  1. Validation to stop duplicate bookings

  2. A Visualforce page with Apex that would allow the receptionist to quickly see what is available. With the possibility of applying filters like en-suite or balcony

  3. Being able to split the booking should a client want to change room halfway through there stay
My thoughts
I think I need a third object (hidden) called room allocation, which is created using APEX automatically when a reservation is made. The room allocation records would be per booking so if somebody was staying at the hotel for 3 days there would be 3 allocation records
Final comment
I am doing this as a favour for a friend so no real budget.  Although I thinking of buying calendar anything from the Appexchange to visualise my room bookings.  Also I am treating this as a learning project.
Any help / pointers / suggestions welcome.  I did think there might be so sample meeting manager apps to get ideas from but no such luck!

 

cloudcodercloudcoder

I'm not sure what adding an additional object would provide; simple is always the best solution.

 

Few pointers:

 

1. Re duplicate validation, you could achieve this via a workflow, or more likely a trigger which compares some unique client identifier with the dates. 

 

2. You could certainly use a Visualforce page to achieve this, but in the vein of keeping things simple, I think you would be better of writing a custom report to do the same thing. You could then also hook this into a dashboard for some additional, but very helpful, dashboards.

 

3. Splitting is probably where you want to spend your time, and managing calendars can get tricky. I suggest that as a first attempt, have the system cancel the original reservation, and create two new ones. Its less messy.

 

HTH

laytro1978laytro1978

Thanks for all this let you know how I go.