Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Booking Process - Multiple Booking in Same Day

Description / Background

This feature allows users to make multiple bookings on the same day. However, users must pay for their current booking or wait until the buffer time has passed before creating the next booking. Users can book at the same restaurant if their last booking status was "arrived" or the buffer time has already passed. The default buffer time is 2 hours, but Admins can adjust this time in the Admin Settings. This feature was developed to cater to the growing demand for users who wish to make multiple bookings on the same day. It provides flexibility for users planning multiple dining experiences and enhances user satisfaction.

Glossary

  • TMA = total maximum allowance (old: party size per pack)
  • PAX = party size (as usual)
  • Buffer Time: The minimum required interval between two consecutive bookings at the same restaurant
  • The buffer time is comparing between current and new dining time. Not time that user make a booking in real world

Objectives

  • Allow users to make multiple bookings on the same day
  • Admin can set the Buffer time on Admin Dashboard.
  • There's buffer time if the last booking is unpaid.
  • There is no buffer time if the booking has already been paid for.
  • Users cannot make a booking at the same restaurant on the same day if the previous booking has not been marked as 'arrived' or the buffer time has not passed.
  • User can create multiple book from other restaurant if its past the buffer time

Scope

-

Location

-

How to find ..

-

How to set the buffer time

  • Open Admin Dashboard
  • Click menu Others ➝ Setting

  • Change the value of Buffer Time For Multiple Unpaid Bookings In Minute

  • Click Submit

Sequence Diagram / Flow

Using New Checkout Single Booking

[

drive.google.com

https://drive.google.com/file/d/1kYoCMgJ38nq_FJGlAcsLgyQLOXita2Dj/view?usp=drive_link

](https://drive.google.com/file/d/1kYoCMgJ38nq_FJGlAcsLgyQLOXita2Dj/view?usp=drive_link)

Multiple Booking

[

drive.google.com

https://drive.google.com/file/d/1uY2rFAbu_D6pDuILqYwthnWkRUhMLRPC/view?usp=sharing

](https://drive.google.com/file/d/1uY2rFAbu_D6pDuILqYwthnWkRUhMLRPC/view?usp=sharing)

ERD

-

Backend Implementation

The backend implementation includes adding a new library for checking duplicate bookings and a setting for buffer time in the admin panel. Detailed code changes can be viewed in the GitHub pull request.

  • Add app/my_lib/duplicate_booking_checker.rb
  • Add Buffer Time For Multiple Unpaid Bookings In Minute on admin setting

[

github.com

https://github.com/hungryhub-team/hh-server/pull/5363/files

](https://github.com/hungryhub-team/hh-server/pull/5363/files)

Frontend Implementation

-

PRD & Task

Private (https://app.clickup.com/t/86ctzwjbk)

Design

https://www.figma.com/file/TcaOzxtkcSELRhYBolGdfY/Booking-Process-%5BMobile%5D?type=design&node-id=2402-37550&mode=design&t=RCl6vmltus0gF8Qa-0https://www.figma.com/file/D6sLY1RWZoO0ppuQeEhQtw/Booking-Process-%5BDesktop%5D?type=design&node-id=0-1&mode=design&t=BqdDQzNcUh5CJ2Vn-0

API Blueprint

-

New Query

-

DB Schema / Database Migration

-


Improvement:

-