Adrianna DeAndrea paid $40 for Luisa Jose to cover a showing at 305 William Street in Scotch Plains on Saturday. Two days later the money is still sitting with Tour Dash, because the only thing that releases it is Adrianna tapping "Mark complete", and nothing in the product asks her to. This page shows what each of them sees right now, where it stalls, and the flow that would carry it through to Luisa getting paid.
Three lanes: the agent who posted and paid, the platform in the middle holding the money, and the agent covering the showing. All times Eastern.
Neither of them has opened a single one of the four in-app notices. Each one went out by email as well, so the booking itself reached both of them. What neither has been told is the step after it.
The real app at phone width, running the demo with this booking rebuilt inside it: same names, street, price, times and notices. Nothing was done to either live account.
Posted jobs, her wallet, the bell
My opportunities, her wallet, the bell
One real gap, and one that turned out not to be. The first version of this page had the second one wrong; it is corrected below.
| Gap | What happens |
|---|---|
| Nobody is told the next step | The reminder sweep only looks at showings that haven't started. Once the start time passes, no notice, email or text goes to either side. The daily payouts nudge is only about setting up payouts. The page itself is the only prompt. |
| Paying before Sep 16 is fine | Corrected. The transfer is tied to the original charge (source_transaction), and Stripe's docs say that kind of transfer "returns success regardless of your available balance if the related charge hasn't settled yet". So an early tap pays Luisa straight away, and the money becomes available in her Stripe account when Adrianna's payment clears. The broken path only ran for a payment with no charge id, and every live payment has one. It has been fixed anyway. |
| Whether it happened is unknown | Adrianna paid two hours after the showing time, and Luisa's application asked for the buyer's name and gave her number. They most likely sorted it out by phone. Tour Dash can't tell whether the showing happened, and only Adrianna can confirm it. |
A morning-after check that goes to both sides, and one follow-up. The payout itself needed no change, because a tap sends it straight away. This is now built; see section 05.
The morning after the showing, both of them hear what happens next. Adrianna is asked one question, and Luisa is told what her pay is waiting on.
Bell, and the same message by email
Job card and bell
The tap sends Luisa's $31 at once. The only new thing on Adrianna's screen is the toast, which says who was paid and how much instead of "Their pay is on its way".
Posted jobs, after the tap
Job card and bell
The notice and its email already existed. What's new is the card line naming the amount that was sent.
Nothing to do
Job card, wallet, bell
Built and shipped on 14 September, commit 410fac0 on main. The sweep is live in the database and runs every fifteen minutes; it was switched on at 2:56 PM ET. The app, stripe-release (v5) and send-notification (v7) followed the same afternoon, and main was moved up to the same commit. The first two notices, at 3:00 PM ET, went out before the email templates were live, so they used the plain fallback format; every check since uses the new layouts.
| Piece | Status | Detail |
|---|---|---|
| Morning-after check | Live | send_completion_checks() is in the live database. At 9:00 AM the day after a paid showing, the agent is asked whether it happened and the cover is told whose tap releases their pay. A dry run inside a rolled-back transaction picked up exactly one booking, this one, and wrote the two notices shown above. A second tick wrote nothing. |
| Follow-up | Live | Once, to the agent, two days after the first. Tested the same way. |
| Two emails | Live | completion_check_poster ("Did your showing at 305 William Street happen?", with an "It didn't happen? Tell us" link to info@tourdash.io) and completion_check_provider ("Your $31 for 305 William Street is waiting on Adrianna"). Live in send-notification v7. |
| Luisa's card | Live | "$31.00 waiting on Adrianna to mark it complete", then "Completed, $31.00 sent to you". |
| Toast | Live | "Luisa has been sent $31.00. It reaches their bank on their usual Stripe schedule." Errors from the function now show its own sentence instead of "non-2xx status code". |
stripe-release | Live | Recovers a missing charge id from the payment intent, and no longer marks a job complete when Stripe refuses the transfer. |
| Command center | Live | The existing held-payment row says "asked Sep 15" or "not asked yet". |
Still open: what happens when the answer is no. The email sends that to a person, because the cancellation policy pays the cover for anything called off after the start time, which is right for a buyer who never came and wrong for a cover who never went.