Cancel or Modify a Booking

Cancel or change a booking's dates and rooms.

These act only on your own organization's bookings. Cancel and confirming a modification need a sk_live_ key. Previewing a modification is read-only and works with a sk_test_ key too.

Cancel

Cancel with the supplier and mark the booking Cancelled:

curl -X POST "https://services.vacayou.com/api/partner/v1/bookings/7002/cancel" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "cancellation_reason": "Customer requested cancellation." }'
{ "success": "OK!", "id": 7002, "status": "Cancelled" }

Modify

Changing a booking is two steps: preview to quote the change, then confirm to apply it.

Preview

curl -X POST "https://services.vacayou.com/api/partner/v1/bookings/7002/modification/preview" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "changes": {
      "booking": { "dates": { "check_in": "2026-09-12", "check_out": "2026-09-15" } }
    }
  }'
{
  "data": {
    "booking_id": 7002,
    "status": "preview",
    "price_summary": {
      "net_price_diff": 30000,
      "direction": "charge",
      "payment_required": true,
      "payment_amount": 30000,
      "refund_amount": 0
    }
  }
}

To change the room, get a new availability_id from the availability endpoint and pass it:

{ "changes": { "rooms": [{ "action": "update", "availability_id": 90211, "selected_availability_id": 90544 }] } }

Confirm

Send the same changes to apply them:

curl -X POST "https://services.vacayou.com/api/partner/v1/bookings/7002/modification" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "changes": { "booking": { "dates": { "check_in": "2026-09-12", "check_out": "2026-09-15" } } } }'

If the change costs more, you get a payment link to complete it; if it costs less, the difference is refunded automatically:

{ "status": "payment_required", "payment_link": "https://pay.example.com/xyz", "modification_reference": "mod_abc123" }
{ "status": "completed", "booking": { "id": 7002, "status": "Paid" } }

Did this page help you?