Prevent multiple/duplicate bookings by the same person by limiting by email address

We would like a setting to prevent bookers from making multiple/duplicate bookings – we would only like bookers to be able to have 1 upcoming booking at a given time.

I was thinking that the booker email address would be the unique identifier that we’d want the setting to be based on. If a booker tries to make a second booking with email address when there is already an existing upcoming booking with email address, the booking should not go through, and the booker should instead see a message like “you already have an upcoming booking. you must cancel or reschedule your existing booking instead.”