RoomKitFrontend
useModifyBooking
Modify an existing booking with optimistic concurrency
Overview
useModifyBooking is a mutation hook that modifies an existing booking. It calls PUT {apiUrl}/bookings/{bookingId}.
import { useModifyBooking } from '@roomkit/react';Usage
function EditBooking({ bookingId }: { bookingId: string }) {
const { mutate, isLoading, error } = useModifyBooking({
bookingId,
onSuccess: (booking) => {
console.log('Updated:', booking.id);
},
});
const handleReschedule = () => {
mutate({
startsAt: '2026-03-03T14:00:00Z',
endsAt: '2026-03-03T15:00:00Z',
});
};
return (
<button onClick={handleReschedule} disabled={isLoading}>
Reschedule
</button>
);
}ModifyBookingInput
interface ModifyBookingInput {
roomId?: string;
title?: string;
description?: string | null;
startsAt?: string;
endsAt?: string;
priority?: number;
purposeType?: string;
onBehalfOfId?: string | null;
metadata?: string | null;
}All fields are optional — only provide the fields you want to change.
UseModifyBookingOptions
interface UseModifyBookingOptions {
bookingId: string;
onSuccess?: (data: Booking) => void;
onError?: (error: Error) => void;
}Return Value
| Field | Type | Description |
|---|---|---|
mutate | (input: ModifyBookingInput) => Promise<Booking> | Trigger the modification |
data | Booking | null | The updated booking |
isLoading | boolean | true while the request is in flight |
error | Error | null | The error if the request failed |
API Endpoint
PUT {apiUrl}/bookings/{bookingId}