Is it possible to bypass the confirmation email if we want to temporarily hold a time slot for a client? Alternatively, is there a way to book an event with a “PENDING” status? Our goal is to allow a client to book a time with the organizer of the event, hold that time for about 10 minutes, and then release it if payment isn’t received. Do you have any suggestions or current methods within the software to achieve this?
Yes, we offer pre-build bookings, this is outlined in this documentation.
There is also a workaround, which you can use following these instructions:
Nylas Scheduler v3 has a built-in solution for this exact use case through the organizer-confirmation
booking type.PENDING Status Bookings
When you set the booking_type
to organizer-confirmation
, Nylas creates an event marked “Pending” in the organizer’s calendar and sends a confirmation request email to the organizer. The booking entry is created with the pending
status.
json
{
"event_booking": {
"booking_type": "organizer-confirmation"
}
}
How the Flow Works
The booking flow for organizer-confirmation
performs these steps:
- Validates the provided session ID and uses it to retrieve the related Configuration object
- Confirms if the selected time slot is still available
- Retrieves the booking participant’s
grant_id
, using the list of participants’ email addresses in the Configuration object - Creates a placeholder event in the organizer’s calendar
- Creates a booking entry with the
pending
status - Nylas creates a booking reference based on the configuration ID and the booking ID
- Emits a pending booking (
booking.pending
) webhook
Managing Pending Bookings
You can use the PUT /v3/scheduling/bookings/{booking_id}
request to allow the organizer to confirm or cancel a pending booking. This gives you programmatic control over finalizing or releasing the time slot.
Bypassing Confirmation Emails
If you want to bypass confirmation emails entirely, you can set disable_emails
to true
in your configuration:
json
{
"event_booking": {
"disable_emails": true
}
}
This approach with organizer-confirmation
booking type gives you the temporary hold functionality you’re looking for, with the ability to programmatically confirm or cancel based on your payment processing workflow.
Additional documentation:
Thanks for the quick reply. The the flow you have outlined doesn’t work because when I set
{
"event_booking": {
"booking_type": "organizer-confirmation"
}
}
The configuration for the scheduler requires the organizer confirmation url.
I don’t want the organizer to have to confirm the pending booking. I want to be able to just confirm it automatically when a payment is received.
I still want the confirmation and reschedule emails to be sent to the participants when the booking is actually booked so I don’t want to set disable emails.
When you receive a notification that the payment is successful, can you make the PUT call to confirm it? I believe that may meet your use case, considering you do not want the organizer to have to confirm the pending booking, you should be able to use this API:
Confirm a booking
Would the organizer still get an email to confirm? I know I can confirm through the API, I guess the question is, does the organizer have to get an email to ask them to confirm because according to the docs they do, here: Customizing Scheduler booking flows | Docs