When to take payment

Hi, I’m wondering if anyone could help with a little bit of workflow logic (rather than technically how to do something!).

My app is a marketplace where users can book time with other users. When a user schedules a timeslot, the workflow reserves that timeslot and sends a booking request to the other user. The other user can then accept or reject the booking. I take card details at the point the booking is reserved.

So, the question is - when do you think the best time to take payment is?

I’ve thought about it a lot in my head and there are so many pros and cons for each. Ideally, the payment is immediately taken after the session has taken place but it’s hard to track that. Anyone else take payment at a later stage and how do you trigger that?

Thanks :slight_smile:

I think that, if the appointment needs to be confirmed by the “Teacher” (lets call this way), the payment should occur only if (and when) the teacher confirm it.

But I think that the right way to do it is…

If the teacher let his timeslot available to be scheduled, you can assume that he intends to accept. It is his responsibility to menage the availability.

Thinking this way, the payment should be collected right after booking and IF the teacher could not participate (for any reason), than the app should reverse the payment.