When a client send a direct request, the request only goes to the chosen trainer "accepts" the session within a certain timeframe (30min after the requests has been sent), the booking is "booked and confirmed". So no more waiting around for the client to accept your proposal.
If the selected trainer cannot do the direct request, he or she will still be able to "propose an alternative time" or "decline the request". This will enhance the user experience and reduce confusion and frustrations on both sides.
If the selected trainer declines the request, it will then get fired out to all other trainers who then can propose for this session.
If the selected trainer does not respond within this timeframe, the proposal gets fired out to all other available trainers. We are aware that 30min window might be a difficult to respond at times, maybe you are already in a session or otherwise occupied or just not close to your phone, but you can still respond at a later time and it will still "book and confirm" the session. The 30min window mainly serves to keep the client informed of what the status of their booking.