RoomKitFrontend
useCancelBooking
Cancel an existing booking
Overview
useCancelBooking is a mutation hook that cancels a booking. It calls POST {apiUrl}/bookings/{bookingId}/cancel.
import { useCancelBooking } from '@hfu.digital/roomkit-react';Usage
function CancelButton({ bookingId }: { bookingId: string }) {
const { mutate, isLoading, error } = useCancelBooking({
bookingId,
onSuccess: (booking) => {
console.log('Cancelled:', booking.id);
},
});
return (
<button
onClick={() => mutate({ reason: 'No longer needed' })}
disabled={isLoading}
>
{isLoading ? 'Cancelling...' : 'Cancel Booking'}
</button>
);
}CancelBookingInput
interface CancelBookingInput {
reason?: string;
}| Field | Type | Required | Description |
|---|---|---|---|
reason | string | No | Reason for cancellation (recorded in audit trail) |
UseCancelBookingOptions
interface UseCancelBookingOptions {
bookingId: string;
onSuccess?: (data: Booking) => void;
onError?: (error: Error) => void;
}Return Value
| Field | Type | Description |
|---|---|---|
mutate | (input?: CancelBookingInput) => Promise<Booking> | Trigger the cancellation |
data | Booking | null | The cancelled booking |
isLoading | boolean | true while the request is in flight |
error | Error | null | The error if the request failed |
API Endpoint
POST {apiUrl}/bookings/{bookingId}/cancel