Skip to main content

Booking batch: validation issue reference

If one of your batch entries shows as Invalid, the row carries one or more validation issues that explain why. Use the Filter by issue menu on the review screen to scope the table to just the issue you want to fix, then work through them.

Written by Dec Norton

This article lists every validation issue, what it means, and the most common fix.

Shape & range issues

Issues that mean the entry's underlying data is malformed. These are rare; if you see them, contact support - the underlying schedule entry probably needs a deeper look.

Start time is invalid (start_invalid)

What it means: The start time on the underlying schedule entry can't be parsed as a real time.

How to fix: Open the schedule entry (from the row's actions menu → Edit schedule entry) and set a valid start time, then re-validate.

Duration is invalid (duration_invalid)

What it means: The duration on the schedule entry is missing, zero, or negative.

How to fix: Open the schedule entry and set a positive duration (in minutes), then re-validate.

Rate factor out of range (rate_factor_out_of_range)

What it means: One of the rate multipliers on the entry's allocation is outside the allowed range (typically 0% – 500%).

How to fix: Open Edit allocations on the row and reset the rate factor to a value inside the allowed range.

Field shape invalid (field_shape_invalid)

What it means: Something about the entry's stored attributes is the wrong type (e.g. a string where a number was expected). Almost always a data-migration artefact.

How to fix: Contact support - this needs investigation.

Client issues

Client not found (client_not_found)

What it means: The schedule entry references a client that no longer exists (or has been hard-deleted).

How to fix: Remove the entry from the batch. If you need bookings for this client, restore them in the clients module first, then re-generate.

Client is missing an address (client_missing_address)

What it means: The client doesn't have a primary address on file. Bookings need an address to send to carers.

How to fix: Open the client's profile, add a primary address, then re-validate.

Client is suspended (client_suspended)

What it means: The client is suspended at the entry's start time.

How to fix: Either remove the entry, or open the client's profile and end / shorten the suspension if it shouldn't apply on that date.

Client does not belong to batch teams (client_team_mismatch)

What it means: You picked one or more teams when starting the batch, and this client isn't in any of them.

How to fix: Either remove the entry, or open the client's profile and add them to one of the batch's teams.

Booking type & contract issues

Booking type not found (booking_type_not_found)

What it means: The schedule entry references a booking type that no longer exists.

How to fix: Open the schedule entry and pick a current booking type, then re-validate.

Service contract is missing (service_contract_missing)

What it means: The client doesn't have an active service contract on the entry's date.

How to fix: Open the client's profile, add or extend a service contract that covers the date, then re-validate. Or remove the entry if the client legitimately shouldn't have bookings on that date.

Service contract is not active (service_contract_inactive)

What it means: The contract referenced by the entry exists but has already ended (or hasn't started yet) on the entry's date.

How to fix: Same as above - add or extend a service contract that covers the date.

Service contract does not belong to client (service_contract_wrong_client)

What it means: The contract on the entry belongs to a different client. Almost always a data-migration artefact.

How to fix: Contact support - this needs investigation.

Address & rate issues

Address not found (address_not_found)

What it means: The entry references an address row that no longer exists.

How to fix: Open Edit allocations on the row and pick an existing address, then re-validate.

Fixed rate not found (fixed_rate_not_found)

What it means: A carer allocation references a fixed rate that no longer exists.

How to fix: Open Edit allocations on the row and select a current fixed rate (or clear it).

Visit round issues

Visit round not found (visit_round_not_found)

What it means: The entry references a visit round that no longer exists.

How to fix: Open the schedule entry and clear or change the visit round, then re-validate.

Visit round does not belong to batch teams (visit_round_team_mismatch)

What it means: You picked teams on the batch, and this entry's visit round isn't in any of them.

How to fix: Either remove the entry, or assign the visit round to one of the batch's teams.

Overlap inside the same visit round (visit_round_overlap)

What it means: Two entries in the same batch belong to the same visit round and would overlap in time. Only one of them can become a booking.

How to fix: Pick which one to keep and remove (or deselect) the other. The validation error includes the IDs of the conflicting entries for cross-reference.

Carer issues

Assigned carer is missing (carer_missing)

What it means: A carer allocated on the entry no longer exists.

How to fix: Open Edit allocations and remove the missing carer (and add a replacement if needed).

Carer does not belong to batch teams (carer_team_mismatch)

What it means: An allocated carer isn't in any of the batch's teams.

How to fix: Either change the allocation to a carer in the right team, or remove the team filter on the source schedule entry.

Carer is missing an address (carer_missing_address)

What it means: A carer on the entry doesn't have an address on file (needed for travel calculation).

How to fix: Add the carer's address in the carers module, then re-validate.

Carer contract is not active (carer_contract_inactive)

What it means: An allocated carer's employment contract isn't active on the date.

How to fix: Add or extend the carer's contract, or pick a different carer in Edit allocations.

Carer is not available (carer_unavailable)

What it means: An allocated carer is marked unavailable at the entry's time (holiday, sickness, scheduled time off, etc.).

How to fix: Pick a different carer in Edit allocations, or use the Auto-resolve carer clashes banner to bulk-resolve.

Carer is not compatible with the client (carer_incompatible)

What it means: A compatibility rule (gender preference, language, restriction etc.) on the client excludes the allocated carer.

How to fix: Either pick a compatible carer, or update the compatibility rules on the client / carer.

Carer requirements incomplete (carer_requirements_incomplete)

What it means: The booking type requires certain certifications or training the allocated carer doesn't have.

How to fix: Either record the missing training on the carer's profile, or pick a different carer.

Carer is over work pattern max hours (carer_over_work_pattern)

What it means: Adding this booking would push the carer over the max hours allowed by their work pattern that week.

How to fix: Either pick a different carer, or revisit the carer's work pattern if the limit needs adjusting.

Overlap & collision issues

Schedule entry already has a booking (schedule_entry_already_filled)

What it means: A booking has already been created for this schedule entry on this date - by another batch, a manual creation, or a previous run of this same batch. Removing this entry is usually the right call.

How to fix: Use Remove matching under the Invalid filter to bulk-drop these from the batch. The booking that exists will continue to satisfy the schedule.

Client has an overlapping booking (client_overlap)

What it means: Another booking on the client overlaps this entry's time slot.

How to fix: Either remove the entry, or open the overlapping booking and resolve the conflict (cancel, reschedule etc.).

Carer has an overlapping booking (carer_overlap)

What it means: A carer allocated to this entry already has a booking that overlaps in time.

How to fix: Use the Auto-resolve carer clashes banner for one-click bulk resolution, or pick a different carer via Edit allocations.

When you can't tell why an entry is invalid

Open the row's expand control. The full list of validation messages for that entry shows beneath it - each one carries a short description and, where relevant, the conflicting entry / booking / carer ID for cross-reference.

Did this answer your question?