I've been using AcuityScheduling for years and it's great! It was bought by Square so the two are essentially the same thing.
You can set it to require a payment or deposit when booking an appt or not. It doesn't necessarily require a credit card unless you'd like it to.
You can have it so clients can only book slots more than (some amount of time) in advance based on whether it's an incall or outcall. You can also set up subscriptions, packages, add-ons, coupons (reverse coupons for erotic 😂) etc.
I think in any situation it's a good idea, even if a client is afraid to link an email address (which is absurd but, they exist) they can at least see the times you're available and message you to request only then.