That sounds like what Walkable was meant to solve, something like:
{[:user/by-id 1]
:user/username
:user/full-name
{:user/bookings [:booking/created-at
{:booking/rides [:ride/cost
:ride/created-at
{:ride/driver [:user/id
:user/name
:user/full-name]}]}]}}
assumed (part of) the floor-plan:
{:joins {:user/bookings [:booking/created-by :user/id]
:booking/rides [:booking/ride-id :ride/id]
:ride/driver [:ride/driver-id :user/id]}}
Correct me if your table design is completely different.