Cancel Booking
1. Overview
A booking can be cancelled by either the Guest or the Seller ("Host"). This flow outlines how a Guest can cancel a confirmed booking and view the refund breakdown. The refund is calculated based on the listing’s cancellation policy and how early the cancellation occurs relative to the event date.
Users access this flow from the Booking Detail page by clicking the "Cancel Booking" button.
2. Visual Reference
Booking Detail Page (Booking Confirmed)
Cancellation Page (initiated by User)
Booking Detail Page (cancellation by User)
Booking Detail Page (cancellation by Seller)
Cancellation Summary Page
3. Core Experience
Users can initiate a cancellation from the Booking Detail page via the "Cancel Booking" button.
This redirects Users to the Cancel Booking page, which:
- Requests a reason for cancellation (dropdown)
- Displays a message field to the Host (optional or required, depending on platform config)
- Presents a detailed refund breakdown. Refunds are auto-calculated in real-time based on the cancellation policy associated to the booking.
- Stripe API is called when the Guest confirms the cancellation to initiate refund to the Guest.
Modular by design
The codebase is structured in a modular, component-based way—making it easy for your team to modify, replace, or extend individual flows to fit your unique marketplace model. Whether you’re adjusting pricing logic, onboarding steps, or messaging behavior, customization is straightforward and isolated.
4. Key Elements
4.1 Cancellation Policy Logic
Currently, we implemented a simple cancellation policy logic where:
- If a cancellation is initiated by the User, the User receives refund in full amount of the booking.
- If a cancellation is initiated by the User, the User receives refund in full amount less the processing fee.
❗ Development in-progress
Each booking is tied to a refund policy selected by the Seller during listing creation. This policy determines:
- Refund eligibility based on how soon before the event the User cancels
- Percentage refunded for each fee type (product rate, cleaning, service fee)
The following are the policies that we’ve implemented in the current marketplace (inspired from Peerspace’s):
-
Very Flexible
- Cancel up to 24 hours before event: Full refund (including all fees)
- Cancel less than 24 hours before event: No refund
- Cancel up to 24 hours before event: Full refund (including all fees)
-
Flexible
- Cancel 7+ days before event: Full refund (including all fees)
- Cancel between 7 days and 24 hours before event: 50% refund (excluding fees)
- Cancel less than 24 hours before event: No refund
- Cancel 7+ days before event: Full refund (including all fees)
-
Standard 30 Day
- Cancel 30+ days before event: Full refund (including all fees)
- Cancel between 30 and 7 days before event: 50% refund (excluding fees)
- Cancel less than 7 days before event: No refund
- Bookings made within 30 days of the event: Eligible for 50% refund (excluding fees) only if cancelled 7+ days before; otherwise, non-refundable
- Cancel 30+ days before event: Full refund (including all fees)
-
Standard 90 Day
- Cancel 90+ days before event: Full refund (including all fees)
- Cancel between 90 and 14 days before event: 50% refund (excluding fees)
- Cancel less than 14 days before event: No refund
- Bookings made within 90 days of the event: Eligible for 50% refund (excluding fees) only if cancelled 14+ days before; otherwise, non-refundable
- Cancel 90+ days before event: Full refund (including all fees)
4.2 Post-cancellation Booking Detail Page
Once cancellation is completed, the Guest is redirected to the Booking Detail page. The payment status in the Booking Details Card changes to “Refunded”. User can access the Cancellation Details via the “View cancellation detail” button.
5. Common Platform Customizations
- Cancellation Reasons
- Platforms can provide a predefined list of reasons or allow free-text entry.
- Some platforms require a mandatory message to the Host explaining the cancellation.
- Refund Logic Variations
- Enable partial refunds only for specific fee types (e.g., service fee non-refundable)
- Introduce tiered or seasonal refund models