Edit or cancel a booking

Adjust dates and occupancy on direct bookings, or cancel in two clicks with automatic refund of paid extras.

This page covers two flows: editing an existing booking and cancelling it.

Edit dates or occupancy

On the detail page, the Overview card is editable inline:

  • Date range.
  • Arrival and departure times.
  • Number of adults / children / infants.
  • Notes.

Edits are saved live. A success notification confirms "Booking updated successfully"; on error, you see the server message.

Limits to know about

Editing dates and occupancy is open only for bookings coming from your direct booking site or manually created in ZenHost. For bookings from Airbnb, Booking.com, or any other external channel, those fields are read-only on ZenHost — edits must happen on the source platform, which then syncs back to ZenHost. A cancelled booking is also locked from edits.

Cancel a booking — in two clicks

Cancellation is a 2-clicks in-app flow, with no form to fill, no justification to enter.

Click 1 — Start the cancellation

On the booking page, open the action menu (three-dot icon in the header) and click Cancel booking.

Click 2 — Confirm

A Cancel Booking dialog opens. It contains:

  • The reminder: "You are about to cancel this booking. This action cannot be undone."
  • An OTA-specific warning: "⚠️ Important: If this booking was made through an OTA or external channel, it's recommended to ask the guest to cancel the booking directly on the OTA platform instead of using this cancellation button. This ensures proper handling of refunds and prevents booking conflicts."
  • If extras have been purchased: an "Extras to refund" section listing each paid extra with its amount, plus applicable non-inclusive taxes, and automatically computing the refund total. If part of the extras was charged on a separate Stripe account (e.g. a dedicated extras account), the screen flags it with "These extras were charged on a separate Stripe account and must be refunded separately."
  • A "Cancelled extras" section listing extras still pending (unpaid) that will simply be cancelled with no refund.
  • The question: "Do you still want to proceed with cancelling this booking?"
  • Two buttons: Cancel (to close the dialog) and Cancel booking (red, to confirm).

Clicking Cancel booking finalizes.

What happens next

ZenHost automatically triggers:

  • Booking statusCancelled (red badge).
  • Paid extras on the same Stripe account as the booking: automatic refund through Stripe (you have nothing to enter — ZenHost computes and executes).
  • Unpaid extras: marked cancelled, no refund needed.
  • Paid extras on a separate Stripe account: ZenHost cannot refund from another account. You see the warning and process the refund yourself from that Stripe account.
  • Calendar: the booking's range is freed automatically, becoming available for new bookings again.
  • Access codes (if smart locks): removed or disabled.

When to use this flow and when not to

  • Use it for: a direct booking, a website booking, a guest who calls to cancel, a typo on a manually created booking.
  • Avoid it for OTA bookings: prefer asking the guest to cancel on Airbnb / Booking.com directly. The sync will pull the cancellation back into ZenHost and the platform will apply its own refund rules (Airbnb cancellation policy, Booking.com terms), avoiding any conflict.

Payment statuses after cancellation

On the cancelled booking's Pricing card, payments keep a clear trace of their final state:

  • Refunded — refund succeeded.
  • Partially Refunded — an amount lower than the original payment was refunded.
  • Failed — the refund attempt did not go through on Stripe's side.
  • Pending — the operation is in progress.
  • Completed — payment completed (this status remains for payments prior to the refund, which appear separately).