When you create a booking or move one and Booklink cannot fit it at the time you picked, the modal tells you what is in the way: a booking on the same team member, a group session, a blockout, their working hours, the buffer between appointments, a busy slot in their Google Calendar, or no free room. This article lists each message, why it appears, and what to do about it.
The messages and what clears them
The team member's first name appears in the message where Booklink knows it. If it does not, the message says "this team member".
- "Sarah already has a booking at that time": another 1:1 booking on that team member overlaps the time you chose. Pick another time or team member, or move or cancel the other booking first. Override does not bypass this: Booklink never double-books a team member.
- "Sarah already has a group session at that time": the team member is running a class or group session then. Same options as above, or move the session.
- "That time is blocked out for Sarah": a blockout covers the time. Shorten or delete the blockout under Availability, or switch on Override availability to book through it.
- "That time falls outside Sarah's working hours": the time is not inside any of the team member's weekly availability windows. Extend their hours under Availability, or switch on Override availability.
- "Too close to the next booking (10 min buffer)": the time itself is free, but it lands inside the buffer you keep around appointments. Lower the buffer under Settings, Defaults, or switch on Override availability. The message names the buffer length and whether the neighbouring booking is before or after.
- "Sarah's Google Calendar shows this time as busy": the team member's connected Google Calendar has an event there. Free the time in Google Calendar, or switch on Override availability to book it anyway.
- "No room is free at that time": every room the service can use is taken. Free a room at that time, or switch on Override availability, which books without assigning a room.
- "Sarah is not taking bookings right now": the team member is disabled. Re-enable them under Team members.
- "This team member is no longer on the team": the service still lists a team member who has been removed. Edit the service's team members.
- "No team member is free at that time": you left the team member on Auto-assign and none of the service's team members is free. Pick a specific team member to see their reason, or choose another time.
Override is the quick way past soft rules
Blockouts, working hours, the buffer and Google Calendar are soft rules. Switch on Override availability in the modal and Booklink books through all of them at once. Other bookings and group sessions on the same team member are hard rules and always refuse.Moving a booking
When you reschedule a 1:1 booking, Booklink checks the new time against the team member's other bookings and group sessions, and against the service's rooms. The booking you are moving never counts against itself, so shifting it by a few minutes (say 10:15 to 10:30) works even though the two times overlap.
For developers
The API returns these refusals as 422 Unprocessable Entity with a JSON body of {"code": "...", "message": "..."} on POST /booking and POST /booking/:id/reschedule. The message is the sentence above; the code is stable and safe to branch on: member_busy_booking, member_busy_session, member_busy_blockout, outside_hours, buffer, calendar_busy, room_unavailable, member_unavailable, no_member_available, and unavailable (the check could not run). Public booking page endpoints do not return a code; customers only ever see "This time slot is no longer available".