Time Location Selection
Use Time and Location Selection to select an appointment date, location, and time slot.
This screen includes:
| # | Element | Description |
|---|---|---|
| 1 | Header | Displays doctor image, name, specialty, and back navigation |
| 2 | Date selector | Displays available appointment dates |
| 3 | Location card | Displays an available appointment location or visit type |
| 4 | Distance indicator | Displays the distance from the patient for applicable locations |
| 5 | Time slot list | Displays available appointment times for the selected date |
| 6 | More action | Loads additional appointment times |
| 7 | Clinic availability section | Displays available appointment times for a clinic location |
| 8 | Video availability section | Displays available appointment times for video appointments |
Workflow
- Open the time and location selection flow for a selected doctor.
- Load availability for the selected doctor, date, specialty, and visit type.
- Display available locations for the selected date.
- Display available time slots for each location.
- Select a time slot.
- Continue the booking flow.
Appointment types
Appointment type indicators identify supported visit types.
- Clinic
- Home
- Video
Behavior
- Display only visit types returned for the selected doctor and date.
- Display location details for clinic and home visits when available.
- Display video availability as a separate availability section when available.
- Preserve the selected visit type when availability refreshes.
Required information behavior
Some appointment options require additional information later in the booking flow.
- Allow time slot selection without collecting additional information on this screen.
- Continue to the next required step after time slot selection.
- Display only fields required for the selected appointment option in the next step.
Validations
| Scenario | App Behavior | SDK Output |
|---|---|---|
profile-id missing | Block availability request | validation = required |
date missing | Block availability request | validation = required |
specialty missing | Block availability request | validation = required |
specialty unsupported | Display error state | error = invalid_specialty |
location-type unsupported | Display error state | error = invalid_location_type |
| No locations available | Display unavailable state | locations = empty |
| No time slots available | Display unavailable state | slots = empty |
| Slot unavailable | Disable slot selection | slot.enabled = false |
| Availability request succeeds | Display returned locations and time slots | status = 200 |
| Availability request fails | Display error state | status = 405 |
Actions
| Scenario | App Behavior | SDK Output |
|---|---|---|
| Screen loaded | Load available locations and time slots | PUT /api/v3/wizard/time-location-selection |
| Date selected | Reload availability for the selected date | date = updated |
| Visit type selected | Reload availability for the selected visit type | locationType = updated |
| Location selected | Set preferred location | locationId = updated |
| Time slot selected | Update selected appointment time | slot = selected |
| Back selected | Return to previous step | navigation = back |
| Continue selected | Continue booking flow | navigation = continue |
Endpoint Resources
Load Available Locations
PUT
v3/wizard/time-location-selection
Returns available appointment dates, locations, and time slots
Hide More Locations
PATCH
v3/wizard/time-location-selection/locations/less
Collapses the list of available locations.
Show More Locations
PATCH
v3/wizard/time-location-selection/locations/more
Expands the list of available locations.
Show More Time Slots
PATCH
v3/wizard/time-location-selection/time-slots/more
Displays additional available time slots for the selected location.
