Swimlanes.io is a free webapp for making sequence diagrams. You simply edit the text on the left and the diagram is updated in real time. You can download your sequence diagrams as images or distribute with a link.
Title: Riparide booking workflow =: **Booking requested** Customer -> Riparide: Send booking request Riparide ->> Host: {far-envelope} New booking request Customer <<- Riparide: {far-envelope} Booking request submitted Host -> Riparide: Accept booking Riparide -> Stripe: Charge if: Payment succeeded Riparide <-- Stripe: Charge succeeded Stripe ->> Customer: {far-envelope} Payment receipt Riparide -> Riparide: Booking confirmed Riparide ->> Host: {far-envelope} Booking accepted Customer <<- Riparide: {far-envelope} Booking accepted ...: {fas-spinner} 7 days before start date Riparide -> Stripe: Transfer payout Stripe -> Connected Account: Funds in pending balance (held on behalf of host) ...: {fas-spinner} 1 day after start date Riparide -> Stripe: Payout host Connected Account -> Host: Payout to bank account else: Payment failed Riparide <-- Stripe: Charge failed Customer <<- Riparide: {far-envelope} Payment failed Riparide ->> Host: {far-envelope} Payment failed Customer -> Riparide: Retry payment ...: {fas-spinner} 12 hours if: Payment expires Riparide -> Riparide: Booking cancelled Riparide ->> Host: {far-envelope} Booking cancelled Riparide ->> Customer: {far-envelope} Booking cancelled end end =: **Booking cancelled** Customer -> Riparide: Cancel booking Riparide -> Riparide: Booking cancelled Riparide -> Stripe: Create refund Stripe -> Customer: Charge refunded Stripe ->> Customer: {far-envelope} Refund receipt if: Before payout Riparide -> Stripe: Reverse transfer Connected account -> Stripe: Transfer reversed else: After payout Riparide -> Host: Create payout recovery penalty ...: {fas-spinner} Host -> Riparide: Deduct penalty from future payout end Riparide ->> Host: {far-envelope} Booking cancelled Riparide ->> Customer: {far-envelope} Booking cancelled