Give someone a fair window to pay without losing the slot forever. Describe your hold policy and Taskade Genesis builds an app that marks a time as Held the moment you offer it, sends the payment link, counts down, and releases the hold automatically if the money does not arrive.
The Quick Apps Booking is a live Taskade Genesis app on this page. It walks a customer through booking a time, which is the half you keep; press "Use this app" to clone it in about ten seconds, then add the Held status, the expiry timestamp, and the release logic described below.
Every business that takes deposits runs into the same standoff. The customer wants the time reserved before they pay. You cannot reserve it indefinitely for someone who may never pay. A hold with a visible expiry resolves it: the slot is genuinely theirs for 24 or 48 hours, the terms are stated in the message, and the release happens on a timer rather than in an awkward phone call.
What the build gives you: a Held status with an expiry timestamp on every booking, a countdown visible to your team, an automatic payment link at the moment of the hold, a warning message before expiry, an automatic release that returns the slot to available, and a log of who held what and whether it converted.
The same bookings render in the views you need:
- Board view to see Held, Paid, Released, and Confirmed as columns with counts
- Calendar view to see which days are cluttered with unconverted holds
- Table view for hold expiry times sorted by soonest
- Plus List, Mind Map, Gantt, and Org Chart across the rest of the 7 project views
Automations enforce the policy so you do not have to. Setting status to Held triggers the Stripe Checkout Session action and emails the link. A delay action waits until four hours before expiry and sends a courtesy warning. At expiry, a filter checks payment status and, if still unpaid, sets the record to Released and notifies your team in Slack. Across 100+ bidirectional integrations, Stripe pulls payment events in while email, SMS, and Slack push out. Automations run on paid plans; the Free plan includes 10 flow runs in total.
The AI agents in the app carry 34 built-in tools including persistent memory. The Holds agent writes the offer message with the deadline stated plainly, and it flags customers who repeatedly hold and never pay so you can ask for payment up front next time.
Holds also give you a number most booking systems never surface: your hold conversion rate. If four in five holds turn into paid bookings, your window is well judged. If it is closer to one in three, you are either holding too long, quoting a deposit that is too high for the commitment being asked, or offering holds to enquiries that were never close to buying. That single ratio tells you which of the three to change.
Clone the app, invite your team, and the hold window is a number you control. Twenty-four hours for busy weekends, a week for high-value bookings.
Learn delays in Learn, payment links in Learn, and filters in Learn. Browse live builds in the Community Gallery. Pair this with the deposit collection flow for the payment side, and the waitlist backfill app so a released hold is offered to the next person in line within minutes.
Frequently Asked Questions
Is this a real lock on a shared calendar?
It is a status on your booking record with an expiry, and your team sees it in every view. It is not a lock on an external calendar system, so treat the record as the source of truth and sync your calendar from it rather than the other way around.
How long should a hold last?
Match it to how fast the slot could otherwise be sold. Twenty-four hours is a fair default for a busy week, forty-eight for a quieter one, and longer for high-value bookings where the customer needs internal approval to pay.
Does the customer see the countdown?
They see the deadline in the offer message and again in the warning message before expiry. Stating the time and date plainly, rather than "soon", is what makes a hold feel fair rather than pushy.
What happens at expiry?
The automation checks payment status. If it is still unpaid, the record moves to Released, the slot is free again, and your team gets a notification. If payment arrived, the record moves to Confirmed and the normal confirmation flow runs.
Can I extend a hold manually?
Yes. Push the expiry timestamp out on the record and the countdown and the warning message follow it. That flexibility is why the expiry lives on the record instead of being buried in the automation.
Can two customers hold the same slot?
Only if you let them. Because a human or an automation sets the Held status, you can add a check that refuses a second hold on a slot that already has one, and the Calendar view makes any overlap obvious.
Does a released hold tell the waitlist?
It can. Point the release step at your waitlist and the next person receives an offer message immediately, which is the whole reason to run holds and a waitlist in the same app.
What does this look like for a service with no deposit?
Use the same hold mechanic with a confirmation reply instead of a payment. The customer has 24 hours to reply yes, and the release logic is identical.
