Hi HivePress team,
We have run into this a few times and want to confirm the correct approach.
Context / flow on our platform:
-
Customer selects a listing, registers, books, and checks out.
-
We use Direct payments + commission model – customer pays only the platform commission (deposit) to confirm the booking.
-
After checkout, the order and the booking point to the selected vendor/listing.
Operational need:
Sometimes the original vendor is unresponsive or not available. We want to keep the same WooCommerce order and HivePress booking, but reassign them to another vendor (and usually another listing by that vendor). This avoids refunding the deposit and asking the client to create a new order.
What we are trying to do:
-
Keep the same
order_idandbooking_id. -
Change the associations so the booking/order point to a new listing and its vendor.
-
Preserve the date/time, status, and payment state.
-
Ensure availability calendars, notifications, commission accounting, and future reviews work with the new vendor/listing.
Questions:
-
Is there a built-in / supported way (UI or API) to reassign a booking to a different listing/vendor while keeping the same order?
-
If not built-in, what’s the recommended programmatic approach?
-
Which meta/relations must be updated on the booking (e.g.,
hp_listing, vendor relation) and on the order (line items/meta) so that:-
availability blocks and calendars reflect the new listing,
-
vendor notifications and booking history point to the new vendor,
-
commission logic continues to work correctly,
-
the review target becomes the new vendor/listing?
-
-
-
Are there any hooks we should fire manually after reassignment (e.g., to re-sync availability or trigger the “booking updated” emails)? For example, specific actions like
hivepress/v1/models/booking/update,.../save, or others you recommend. -
Any gotchas with Direct payments + commission deposits when the booking’s listing/vendor changes (e.g., fee items, order meta, payout stats)?
What we already know:
-
From WP Admin we can safely edit start/end time of a booking, but we do not see a native control to swap its listing/vendor.
-
We want to avoid creating a second order and refunding the first deposit where possible.
If there is a preferred snippet or a documented sequence of updates (booking meta + order meta + actions to run), we would really appreciate guidance.
Thanks a lot!