Shared cart (guest)
Public, unauthenticated guest view of a cart shared by an agent. Resolved by share token.
📄️ View a shared cart as a guest
Returns only the guest-facing deal details. Always 200: an unknown/archived/empty cart comes back with state INVALID, an elapsed deal with state EXPIRED.
📄️ Poll the payment / booking status
Returns PENDING (no payment yet), PROCESSING (paid, booking in progress), BOOKED (with bookingId), or FAILED. The frontend polls this after checkout/redirect.
📄️ Confirm a gateway payment callback and create the booking
Called by the frontend after checkout completes. Verifies the gateway signature/status, then idempotently creates the booking. Concurrent callback + webhook for the same payment yield a single booking.
📄️ Create a payment order for the cart
Creates a Razorpay/Juspay order for the cart's pay-now amount (server-computed) and returns the order id + public key for the gateway checkout.
📄️ Verify payment with the gateway and create the booking
Server-side confirmation: the backend queries the payment gateway for the cart's latest order status and creates the booking only if the gateway confirms payment. Idempotent — a cart already converted returns its existing booking; returns PENDING if not yet paid. The frontend calls this after checkout/redirect instead of asserting payment itself.