My App
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

FieldTypeDescription
mutate(input: ModifyBookingInput) => Promise<Booking>Trigger the modification
dataBooking | nullThe updated booking
isLoadingbooleantrue while the request is in flight
errorError | nullThe error if the request failed

API Endpoint

PUT {apiUrl}/bookings/{bookingId}

On this page