Add on services feature

To show

  1. Adding, editing and deleting a service

  2. Custom duration

  3. Service name validation error

  4. Service can be 0 minutes

  5. Service can be free. Free subtext.

  6. Services preview

  7. Uploading service image

  8. All to book multiple

  9. Re-ordering services

  10. Paid meeting

    • Single provider

    • Multiple provider different currency block

    • Currency lock tooltip

  11. Free meeting

    • Payment disabled - price lock tooltip

    • Payment enabled - currency lock tooltip

  12. Client preview page

    • Service listing on left side

    • Duration increasing

    • Price increasing

  13. Slot listing logic

  14. Pricing table with service prices

  15. Confirmation page with services

  16. Booking details page, with service listing in table

  17. Detailed booking view with pricing

  18. 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