To show
Adding, editing and deleting a service
Custom duration
Service name validation error
Service can be 0 minutes
Service can be free. Free subtext.
Services preview
Uploading service image
All to book multiple
Re-ordering services
-
Paid meeting
Single provider
Multiple provider different currency block
Currency lock tooltip
-
Free meeting
Payment disabled - price lock tooltip
Payment enabled - currency lock tooltip
-
Client preview page
Service listing on left side
Duration increasing
Price increasing
Slot listing logic
Pricing table with service prices
Confirmation page with services
Booking details page, with service listing in table
Detailed booking view with pricing
Email previews with /email-preview
UI/Text changes
Client side payment summary table display
Include the individual services and it's price in the table.
Change Amount to Booking amount OR {meeting_name}, I'd say meeting_name
Increment duration based on selected services on left side of client view
Yes
Increment price based on selected services on left side of client view
Yes -> But this is debatable because we are showing the individual services
Email notifications
Show the + service name below the meeting name under What. Go to /email-preview
Confirmation screens
Show the + service name below the meeting name under What.
Calendar event
Decision: Should we include the services names if Meeting_Name is selected for title and if Meeting_Name variable is selected. Ex: Haircut(+ Beard trim + Hair spa). I say no because it could be confusing.
Duration will be total duration
Decision: Keep just meeting name, and iterate based on customer requirements.
SMS reminders
Same decision to be made as Calendar event when adding Meeting _Name.
Ex: Haircut(+ Beard trim + Hair spa)
API
Make a booking API request, Get booking details API response - can be added
curl --request POST \
--url https://alan-mathews.neetocal.com/api/external/v1/bookings \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
.
.
"selected_services": ["Haircut", "Beard trim"] //We could consider using service id's here
.
.
}
Get scheduling links API - Form questions are not returned, so services also need not be returned?
Webhooks
Can be handled by engineering team.
URL params (for pre-filling)
We need to add a service id, which is generated for each service.
And we could do ?service=ser_1234,ser_5436 or ?service=serv_1234&service=ser_5436
Decision: Will add this as per customer request.
Templates
If services are added in a template, and link is created from it. Services will be inherited.
Reports
Will take up enhancements as per customer requests.
Meeting reminders, limits, outcome
No dependency. It is still 1 meeting. Outcome will only be for the whole thing.
Automation rules
Decision: Same as calendar event, does Meeting_Name include services.
Edge cases
Meeting is free
Select provider and currency
Meeting is paid
-
Case 1: Single provider
Price will be enabled, and currency will be disabled.
Hover message on currency:
-
Case 2: Multiple providers same currency
Same behaviour as case 1
-
Case 3: Multiple providers different currency
Service must be free. Price and currency will be disabled.
Hover message on currency and price:
Group meetings
Services feature will not be present for group meetings for the same reason we cannot allow client to choose duration for group meeting.
Packages
Total duration is subtracted.
Discount codes
Discount codes will be applied on the total amount.
Recurring meeting
No dependency on recurring meetings.
Taxes
Tax will only be applied for the original meeting duration. We will take up tax on a service level if we get a request from a customer.
Tips
Tips will be on the total amount.
Refund
Refund full amount. No partial refund.
Rescheduling
Will not support removing or adding services when rescheduling. Entire bundle will be rescheduled. If they want to remove or add, need to cancel and re-book.
Exporting bookings
If services are there we will add a new column, which will list the add on services.
Dependency on upcoming features.
Package limit based on number of meetings or price
No dependency
Collecting upfront payment for recurring meeting
No dependency
Enforcing number of meetings for recurring meeting
No dependency