Skip to content

Availability ​

Engineers use the Availability calendar screen to indicate which days they're available to receive job offers. This calendar-based interface is accessible from the bottom tab navigation and allows toggling availability up to 3 months in advance.

Availability Statuses ​

Each day on the calendar can have one of the following statuses:

StatusDisplayDescription
UnknownEmpty (no icon)No availability set. Tap to mark as available.
AvailableSearch iconActively searching for jobs. The system will send job offers.
Partially BookedTick iconSome jobs assigned but still available for more offers.
Fully BookedTick iconAll job slots filled for the day. No more offers will be sent.
BannedBlock iconSystem-banned due to too many declined job offers. Cannot change availability.
Banned ManuallyBlock no iconManager has manually blocked availability for this day.

Restrictions ​

  • Past dates: Cannot be edited. An alert explains this limitation.
  • Future limit: Availability can only be set up to 3 months in advance. A grey overlay appears when navigating beyond this range.
  • Booked days: Days with assigned jobs cannot have availability removed. Tap to view the jobs instead.
  • Banned days: If you've declined too many jobs, the day becomes locked and you cannot change it.

Pull to Refresh ​

The availability calendar supports pull-to-refresh to fetch the latest availability data and job assignments from the server.

Technical Notes ​

API Endpoints ​

  • GET /engineers/availabilities - Fetch availability for a date range
  • POST /engineers/availabilities - Mark a day as available
  • DELETE /engineers/availabilities/{id} - Remove availability

Changes use optimistic updates for a responsive UI, with automatic rollback if the API call fails.