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

Pay Now

Document Feature

Title

Pay Now

Description / Background

There has been an increase in recent requests from Customers to prepay for the bookings and currently the OPS team is handling this manually which causes unnecessary extra tasks and a risk for human error. Also based on the recent force for full prepayment upon using discount codes and points, the high number of users willing to pay in advance has proved the prepayment trend.

Objectives

  • Users (members and guests) can use it
  • Users can pick the Pay Now option when creating a booking (available for all payment methods)
  • Users can see the Pay Now option when the payment type is Pay Now or prepayment (but users cannot click the Pay Now option as it will be disabled)
  • Users can get points after 24 hours from booking time (members only)
  • Admins can see which users use Pay Now (booking report and Clevertap)
  • Admins can turn on/off the Pay Now feature at the package level
  • Although ‘Earn Points’ is not checked by admin, if users use Pay Now, users will get the points.

Scope

  • All platforms

Sequence Diagram / Flow

Paynow flow checkout page.drawio

ERD

paynow.drawio

DB Schema / Database Migration

Column NameData TypeDescription
pay_nowbooleanAdd pay_now column on all package type table

API Blueprint

MethodPathURLDescriptionPayload
POST{{ base_api }}/reservations.jsonadd pay_now true or false on reservation object “reservation”: { “restaurant_id”: 837, “date”: “2020-10-01”, “start_time”: “17:00”, “adult”: 1, “kids”: 0, “special_request”: “adasd jasd adj”, “voucher_code”: “HADIAH”, “service_type”: “delivery”, “distance_to_restaurant”: 13.4, “pay_now”: false }

New Query

**1\. Only pay on-site** * require\_cc: **false** * pay\_now: **false** * is\_temporary: **false** **2\. Require pre-payment** * require\_cc: **true** * pay\_now: **false** * is\_temporary: **true** **3\. Option to Pay-Now** * require\_cc: **false** * pay\_now: **true** * is\_temporary: **true** Booking report : **a.Requires pre-payment** column * Yes (if that package setting is “Requires pre-payment”) * No (if that package setting is \*\*not “\*\*Requires pre-payment”) **b.PayNow** column * Yes (if user chose to pay now for that booking) * No (if user didn’t choose to pay now or if the setting is “Requires pre-payment” or “Pay on-site”) ## Notes, Constraints & Assumptions 1. **Requires pre-payment** = setting by package 2. **Option to PayNow** = for packages not forced for payment via setting so we offer the payment by user’s choice. PayNow always requires a prepayment (i.e. 100% of the total booking price) 3. **Pay on-site** = No PayNow option shows up on client side 4. For tracking purposes, add 2 new columns in the **booking report** list. So we know % of users using this feature after a month of release 1. **Requires pre-payment** column * Yes (if that package setting is “Requires pre-payment”) * No (if that package setting is \*\*not “\*\*Requires pre-payment”) 5. **PayNow** column * Yes (if user chose to pay now for that booking) * No (if user didn’t choose to pay now or if the setting is “Requires pre-payment” or “Pay on-site”) ## TODO / Task List / Action Items [Basecamp Log In](https://3.basecamp.com/5190892/buckets/30696659/todosets/5662070561) ## References [https://www.figma.com/file/iZf1pRlP4ptnLQP9tURtsI/Pay-now-update?node-id=0%3A1&t=gjUpZPIbTCKCXAqu-0](https://www.figma.com/file/iZf1pRlP4ptnLQP9tURtsI/Pay-now-update?node-id=0%3A1&t=gjUpZPIbTCKCXAqu-0)

1004 Pay Now feature test document.

Change History

NODate TimeWhat ChagedDescription
120 Jan 2023-Initial Document
223 Jan 2023Update ERD and query
324 Jan 2023Update API blueprint
425 Jan 2023Update payment now flow on checkout page