Proposal Summary
This proposal encompasses the solution design of custom resource booking feature for “GRW007 Bookable Resource”.
Requirement
Growire would like to develop a booking feature for a custom record “GRW007 Bookable Resource”, which certainly shows the availability of these items as well. Its availability and reservation statistics should be shown as hourly/daily/monthly view. Also the charges for the item will be articulated associating to the custom work calender mechanism exclusively for each bookable resources
Deliverables
- Growire would like to develop item reservation/booking feature, which certainly shows the availability of “GRW007 Bookable Resource”. They are not using standard entities as resources, instead a custom record “GRW007 Bookable Resource”, and hence going for a custom solution
- “GRW007 Bookable Resource” items should be allocated to customers. I.e. The End Users will be customers.
- “GRW007 BookableResourceBooking” is another custom record which records the booking of the item.
- There will be a normal working hours for each bookable resource. There will be extra/special charges applied for the item over the basic charge what is set on hourly rate.
- In the booking page, its availability should be shown as hourly/daily/monthly view.
- In the Booking page, Time zone should be shown in user preference, but the availability calculation should be done as per the system standard time zone and the conversion in background should be carried out accordingly.
GRW007 Bookable Resource
The following fields will be considered in this phase.
In the “GRW007 Bookable Resource” record we will add a sublist showing the working hours for the item.
Working Hours Record Schema:
It will work more or less with the same logic of Calander Events with extended functionality of adding Holidays.
Working hours record will be linked as sublist to the Bookable Resource rather than a single selection field and so they can create entries from within the Bookable resource record for each range of start and end time (for the same day itself), with required recurrence options.
Refer the table below for understanding the work calender record schema:



Handling Charges:
There will be additional field in the Bookable resource record.
- OVERUSAGE RATE – Special Charge – To Record the special Charge. This charge will be imposed additionally to the normal/
Note:
- Currently there are 13 Bookable resource records, it should be named distinctly. In the Booking page each bookable resource record will be treated as a booking item.
Bookable Resource Booking page
The booking page will show the reserved booable resource and can create new booking across free slot for each bookable resource.
There will be a “New Booking” Button, on the left-top end of the page. Upon clicking it user can create new booking. As a result a “GRW007 BookableResourceBooking” record will be created. There the time span of booking and all other details will be stored. It will be stored as account prefered time zone converting from the user’s entered time zone.
When user choose the bookable item in the popup screen, they can see a message saying the special and normal charge imposed to the item. After entering all necessary details in the popup like the time slot etc, booking confirmation message will be show the total charge.
In the Y- Axis (left Side of the page) we will show the bookable resource records.
In the Top panel of the page, will consist of the Date filter, Frequency button to scaling the X-Axis ( weekly/daily/monthly)
In the X-axis (Top side of the page) we will show the Days according to the frequency user choose
Except the left panel and top panel, we can scroll right and left.

Error Handling
- Errors caused by script failure will be recorded as custom record entries.
Assumptions
- There will be unique entries for each GRW007 bookable Resource based on each Resources (GRW007 Resource), there won’t be duplicates.
- Name for each Bookable Resource should be unique for each entries.
- Currently there are no booking confirmation emails send. In second phase we can add option to choose “opt-ins’ like order confirmation emails to the opted email address etc.
- RAC Rates will be considered in the next phase.
Risks
- Concurrent requests won’t process, based on the Netsuite Account type. Concurrency governance limits vary based on Service Tiers and SuiteCloud Plus Licenses. Hence currenctly the booking page will be only accessible within Netsuite. In next phase we will consider the concurrency and revamp the code.
- Time Zone switching while showing in Booking page according to current user time zone, converted values might not be precise.
- During the development phase we will decide which libraries and methods are required. Some libraries have extended features that require you to buy a license, even though it’s a free version.