# Replace booking Fully replaces an existing Booking. All fields must be provided. Endpoint: PUT /site/{siteId}/ahds/v1/booking/{bookingId} Version: 1.0 Security: bearer ## Path parameters: - `siteId` (number, required) Site identifier - `bookingId` (string, required) Booking unique identifier (UUID) ## Request fields (application/json): - `additionalResourceIds` (array, required) Identifiers of additional resources associated with this booking. - `animalId` (string, required) Identifier of the animal for this booking. Example: "123e4567-e89b-12d3-a456-426614174000" - `appointmentId` (string, required) Identifier of the underlying appointment record, if modeled separately. Example: "123e4567-e89b-12d3-a456-426614174000" - `appointmentType` (object, required) Type of appointment as a coded concept. - `appointmentType.code` (string, required) Code value - `appointmentType.system` (string, required) Code system URI - `appointmentType.display` (string) Human-readable display - `contactId` (string, required) Identifier of the primary contact (e.g., owner) for this booking. Example: "123e4567-e89b-12d3-a456-426614174000" - `description` (string, required) Free-text description or reason for the appointment. - `durationMinutes` (number, required) Scheduled duration in minutes. - `extensions` (object, required) Vendor- or practice-specific extensions. - `providerId` (string, required) Identifier of the primary provider/resource for this booking. Example: "123e4567-e89b-12d3-a456-426614174000" - `startsAt` (string, required) Appointment start time in RFC 3339 format with timezone offset. Example: "2025-01-01T00:00:00.000Z" - `status` (string, required) Current booking status. Enum: "no_status", "confirmed", "unconfirmed" ## Response 200 fields (application/json): - `additionalResourceIds` (array, required) Identifiers of additional resources associated with this booking. - `animalId` (string, required) Identifier of the animal for this booking. Example: "123e4567-e89b-12d3-a456-426614174000" - `appointmentId` (string, required) Identifier of the underlying appointment record, if modeled separately. Example: "123e4567-e89b-12d3-a456-426614174000" - `appointmentType` (object, required) Type of appointment as a coded concept. - `appointmentType.code` (string, required) Code value - `appointmentType.system` (string, required) Code system URI - `appointmentType.display` (string) Human-readable display - `bookingId` (string, required) Canonical booking identifier. Example: "123e4567-e89b-12d3-a456-426614174000" - `contactId` (string, required) Identifier of the primary contact (e.g., owner) for this booking. Example: "123e4567-e89b-12d3-a456-426614174000" - `createdAt` (string, required) Timestamp when the booking was created. Example: "2025-01-01T00:00:00.000Z" - `description` (string, required) Free-text description or reason for the appointment. - `durationMinutes` (number, required) Scheduled duration in minutes. - `extensions` (object, required) Vendor- or practice-specific extensions. - `providerId` (string, required) Identifier of the primary provider/resource for this booking. Example: "123e4567-e89b-12d3-a456-426614174000" - `startsAt` (string, required) Appointment start time in RFC 3339 format with timezone offset. Example: "2025-01-01T00:00:00.000Z" - `status` (string, required) Current booking status. Enum: "no_status", "confirmed", "unconfirmed" - `updatedAt` (string, required) Timestamp when the booking was last updated. Example: "2025-01-01T00:00:00.000Z" ## Response 400 fields ## Response 401 fields ## Response 404 fields