operator-handovers

Activate an operator's handover

Changed on

Opens the riassegnazioni section for a departing operator. A supervision_date, when already agreed, records the meeting too (409 when the operator has no supervisor). A temporary replacement whose leave holds only unbooked openings and/or the expert's other absences is refused with the absence conflict detail (operator_absence_conflict) until remove_free_availabilities and remove_absence_ids rule on them, or keep_existing_absences leaves the calendar alone. A coordinator opens one only for their own experts (403).

post/api/operator-handovers

Request

  • Base URL: https://api.corabea.it (the document declares no server; this is the origin it was published from)
  • URL: https://api.corabea.it/api/operator-handovers
  • Auth: HTTP bearer

Request body

operator_idstring uuid required

The departing operator

reason'resignation' | 'termination' | 'temporary_replacement' required

Why a departing operator's handover was activated.

replacement_kind'maternity' | 'other'

Sub-kind of a temporary replacement — a label and a filter, no behaviour.

reason_notestring nullable

Nota interna, admin-only

supervision_datestring date nullable

Rome day of the supervision, when already agreed; activation records the meeting. Usually absent: the supervisor fixes it later.

due_atstring date-time nullable

Scadenza: when the whole riassegnazione must be completed. Required on a departure for good; a temporary replacement defaults it to starts_at.

starts_atstring date-time nullable

Temporary replacement only: when the expert stops

ends_atstring date-time nullable

Temporary replacement only: when the expert is back

remove_free_availabilitiesboolean

Temporary replacement only: close the expert's unbooked openings in the leave. Until the admin has ruled on them and on the expert's other absences in the leave, a leave whose only conflicts are those is refused with them listed (operator_absence_conflict).

remove_absence_idsstring[]

Temporary replacement only: the expert's absences in the leave to delete

keep_existing_absencesboolean

Temporary replacement only: the admin keeps the expert's absences already in the leave. The calendar is then left alone — no leave absence is recorded and no opening is closed.

Response

Successful Response

idstring uuid required
operator_idstring uuid required
operator_namestring nullable
expert_type'PSICOLOGO' | 'NUTRIZIONISTA' required

Operator profession constants.

reason'resignation' | 'termination' | 'temporary_replacement' required

Why a departing operator's handover was activated.

replacement_kind'maternity' | 'other'

Sub-kind of a temporary replacement — a label and a filter, no behaviour.

reason_notestring nullable
due_atstring date-time required
last_operator_event_atstring date-time nullable

When the operator last moved a leave date — the admin's unread mark

kind'departure' | 'return' required

A departure, or the return handover that follows a temporary one.

parent_handover_idstring uuid nullable

The departure this return follows; set iff kind is return

supervision_meeting_idstring uuid nullable
supervision_datestring date-time nullable

The linked meeting's date, which gates compilation; null until one is linked

supervision_labelstring nullable
starts_atstring date-time nullable
ends_atstring date-time nullable
activated_atstring date-time required
closed_atstring date-time nullable
patients_totalinteger required

Roster size — the progress bar's denominator: live patients plus anyone already decided on

patients_decidedinteger required

Roster lines carrying a decision — the progress bar's numerator

progress'to_fill' | 'in_progress' | 'completed' required

A whole handover's progress, rolled up over its rows — never stored.

activated_by_user_idstring uuid required
closed_by_user_idstring uuid nullable
absence_warningstring nullable

Activation only: set when a temporary replacement's leave could not be recorded as an absence because of conflicting appointments or openings

Changes

    • ○

      the request property became optional

    • ○

      the request property became optional

    • ○

      request property list-of-types was widened by adding types null to media type application/json

    • ○

      request property list-of-types was widened by adding types null to media type application/json

    • ○

      added the optional property to the response with the status

    • ○

      added the new optional request property

    • ○

      added the new optional request property

    • ○

      added the new optional request property