Lesson 6 of 7 · 4 min

Scheduling the Shoot

Pick a date and time from the provider's real-time availability, or request scheduling for a later call.

Scheduling the Shoot

Video coming soon

6/7

Lesson Notes

01

The Schedule step is where you set the date and time for the on-site shoot. Vremly fetches real-time availability from your selected provider — the calendar only shows dates and times that the provider has actually opened for booking based on their hours, their technicians' schedules, and any existing jobs. You will never see a time slot that looks available but will be rejected by the server, because the available slots are pulled from the same availability system the provider manages.

02

Select a date from the calendar grid, then choose a time slot from the list that appears below. The step also shows a duration selector — this is pre-filled from the package's estimated duration (for example, 90 minutes for a full photography and video bundle). You can adjust the duration if your specific property warrants more or less time, though the package's default is usually appropriate. Both a date and a time are required to proceed; the Continue button stays disabled until both are selected.

03

If you are not sure of the exact date yet, look for a 'Request scheduling' option on the Schedule step. Choosing this mode lets you place the order without committing to a specific time. The provider sees the order in their system marked as needing a scheduled date, and they will contact you — typically by phone or email — to agree on a time. This is useful for out-of-town properties or listings that are not yet vacant. The order status will remain PENDING until the provider assigns a date.

04

On iOS, the schedule step inside BookingView fetches availability via BookingClient's `availability` endpoint (GET /organizations/public/:orgId/availability) for the selected date. Availability is cached by ISO date string in `model.availabilityByDate` so switching between dates does not re-fetch. If a date has no published slots, the time picker shows an empty state — the provider simply has not opened that date for bookings. The `schedulingMode` enum tracks whether the order is `.scheduled` (concrete date+time) or `.requested` (no time, provider will follow up). COMPANY/TEAM workspace operators cannot use the requested mode — they must pick a concrete time.

05

Any required booking questions from the provider's intake form appear at the bottom of this screen. Required questions block the Continue button until answered. Optional questions can be left blank. Answers are stored on the order and visible to the provider and the assigned technician.

Key Takeaways

  • Only real provider availability is shown — no phantom slots that will be rejected on submit.
  • A date and a time are both required; use 'Request scheduling' if you cannot commit to a time yet.
  • The duration selector defaults to the package's estimated duration — adjust only if needed.
  • On iOS, availability is fetched per date and cached; empty date = provider has no slots open that day.
  • Required booking questions on this step block the Continue button until answered.
Related documentation at docs.vremly.com