This is the second part of an 8 part series called ‘User Journey on an On-Demand Business Platform’
The scheduling methodology of your on-demand platform defines the core value of the product to the consumer. For a customer, the most convenient part of using an on-demand platform is to be able to schedule services as per their requirements and know instantly that an appointment in the immediate or near future has been reserved for them. A customer’s scheduling preference is one of the foremost inputs that the matching logic of an application uses to assign a service provider or retrieve a list of service providers for customers to choose from – as the case may be.
Depending on the underlying business model, the scheduling methodology for an On-demand service platform can work in different ways. It can be both instant (schedule now) and scheduled (schedule later). You could read more about the Schedule Now vs. Later model here. In this part, we have compiled different mechanisms built into our scheduling module to meet specific business requirements.
Scheduling Options for Customer
In case of instant scheduling (schedule now) requests, the platform looks for available service providers in nearby locations. Whereas in case of ‘schedule later’ requests, the platform matches the time slot selected by the customer with free time slots on calendars of service providers who fulfill the customer’s other preferences. On the customer side platform, following options can be provided to help them schedule services:
- Schedule Now
This essentially means ‘schedule at the earliest’. Customer requests can be configured to be directly assigned to a service provider with lowest ETA to customer location or sent out to matched service providers as per Request Dissemination logic of the application.
A taxi service such as Uber, only caters to instant demand and assigns the booking to a driver who can reach customer location at the earliest.
- Schedule for Later
This option is for applications that take advance bookings. An app for booking a visit to a doctor such as ZocDoc might decide to manage doctors’ calendars by booking scheduled appointments only. Schedule or Book for later mechanism can be configured in two ways as per business requirement.
One way this is done is by sending out requests to matched service provider/s at the time customer request is received. Booking is marked complete when request is accepted by a service provider. A confirmation feedback logic is built in the module to re-confirm the booking request with service provider nearer to the booked date and time.
An example flow looks like this: Customer wants to make a booking 4 days from now. Request is accepted by a service provider and assignment is complete. Now, on the day of booking, a push notification is sent to a service provider’s mobile asking for confirmation that he will perform the booked service. If service provider confirms, a notification can be sent out to customer, that also works as a service reminder. In case, service provider does not provide this confirmation, another push is sent say, 90 mins and then 60 mins before the scheduled time. In case of no response, booking is auto-cancelled and platform starts request dissemination again to find a new service provider to assign this request.
Another way a Schedule Later request is managed is – system parks the customer request for a later assignment. A booking request for 4 days from now is received and kept on hold for now. On the scheduled day, request assignment is done as per a Schedule Now flow – 45 mins before the requested time.
Some applications provide more flexibility. For example, an app for massage service may provide both options to their customers, i.e. request an instant massage or schedule a massage for a later day or time.
Example of App Screens for Scheduling by Customer
Scheduling from Service Provider Point of View
On a service provider side app, following tools or features are used to manage their schedule.
- Check In / Check Out
This feature can be used by a service provider to update her real-time availability (i.e. availability at current moment) on the app. This is particularly useful for on-demand or Schedule Now services, where application logic looks for Checked-in service providers to assign an request.
- In-app Calendar
An in-app calendar can be set on service provider’s app. This feature is useful in applications that have a Schedule Later Appointment option. Application logic looks for available slots on in-app calendars of service providers before matching them with a service request. As a service provider accepts an appointment, her in-app calendar is updated and that timeslot is set as ‘booked’.
- Integration of personal or 3rd party calendars with in-app calendar
Stand alone in-app calendars work when service providers are working exclusively on the platform and are not taking appointments outside. But, as it happens in many cases, service providers have other sources of receiving job requests e.g. many beauty and wellness apps do not hire employees, but register freelancers to work on their platforms. These freelancers are usually also attached to other channels to generate job requests. In order to avoid clashes in their schedule, their personal calendars, third party calendars such as Google Calendars or shift/time planning tools can be integrated with an in-app calendar.
- Manual calendar update
At times, service providers would want to identify in advance certain days or time slots when they won’t be available for work. For such instances, service providers are given an option to manually select those time periods on their in-app calendar and mark them as ‘unavailable’. Service providers can also mark their working hours on the calendar.
Example of App Screens for Scheduling at the Service Provider side
Please Get in Touch with us if you are looking to build an on-demand business platform. Let’s create the next disruption in this space together!