
A client says: "I want a productivity coach for a 60-minute deep work session this week, evenings preferred."
Your client doesn't say 'I want Coach Sarah Chen.' They say 'I want a productivity coach for a deep work session.' Orita translates that description into a matched provider β no browse, no filter, no choice paralysis.
A coach who had Thursday 7 PM free at 10 AM may have it booked by noon. Orita resolves availability at request time, holds the slot atomically, and only confirms once the client commits. No stale cache, no double bookings.
Not every coach offers every session length. A 90-minute intensive requires a different coach configuration than a 30-minute check-in. Orita filters on session_length and session_type as hard constraints β you never offer what a coach can't deliver.
Index your coaches with their specialties β productivity, executive coaching, career transitions, leadership. When a client describes what they need, your app passes structured constraints and Orita returns the best match with available slots.
Each coach in your network defines which session formats they offer: intro calls, deep work sessions, intensives. Orita only surfaces coaches who can actually deliver the requested format β saving you from a bad booking experience.
Pass coach attributes like rating, session count, and specialization depth into Orita's index. Resolution ranking respects these signals β so your highest-quality coaches surface first when multiple options match.
Pass specialty, session length, and time preference. Orita returns matched coaches ranked by availability and quality signals.
const resolution = await orita.resolutions.resolve({
constraints: {
specialty: "productivity-coaching",
sessionLength: 60
},
preference: "evening",
dateRange: { from: "2026-08-04", to: "2026-08-09" }
});
// resolution.options[0] β Coach Sarah Chen, Thu Aug 7 at 7:00 PM
// resolution.options[0].coach.rating β 4.9
// resolution.options[0].coach.sessionsCompleted β 150
const held = await orita.resolutions.hold(resolution.options[0].id);
await orita.resolutions.confirm(held.holdId);
// β booking.created webhook fires
// β send Zoom link + pre-session questionnairecoach.rating and coach.sessionsCompleted are available on each option β use them to surface social proof in your UI before the client confirms.