HFU Digital Docs
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;
}
FieldTypeRequiredDescription
reasonstringNoReason for cancellation (recorded in audit trail)

UseCancelBookingOptions

interface UseCancelBookingOptions {
    bookingId: string;
    onSuccess?: (data: Booking) => void;
    onError?: (error: Error) => void;
}

Return Value

FieldTypeDescription
mutate(input?: CancelBookingInput) => Promise<Booking>Trigger the cancellation
dataBooking | nullThe cancelled booking
isLoadingbooleantrue while the request is in flight
errorError | nullThe error if the request failed

API Endpoint

POST {apiUrl}/bookings/{bookingId}/cancel

On this page