
A patient says: “I need a Spanish-speaking virtual therapist who accepts Sanitas and is available Tuesday afternoon.”Here's what Orita does.
Without a resolution layer, your AI agent guesses — or worse, books with a provider who doesn't accept the patient's insurance or doesn't speak their language. Orita enforces eligibility before any slot is offered.
Language + insurance + specialty + modality + time preference: that's 5 simultaneous filters. Passing a provider list into an LLM prompt doesn't scale. A structured resolution API returns a ranked, eligible match in milliseconds.
When your AI presents a slot and the patient confirms, another booking may already have claimed it. Orita's hold→confirm flow locks the slot for 10 minutes while the patient decides, then atomically confirms the booking.
Your AI receptionist receives an unstructured request. Orita's resolution API accepts structured constraints — language, specialty, insurance, modality — and returns a ranked list of eligible providers with available slots.
Call holdOption() to reserve a slot while the patient confirms. Call confirmResolution() to commit. The slot is atomic — no two patients can book the same slot. Your booking.created webhook fires on confirmation.
Whether your telehealth network has 5 providers or 500, Orita indexes each provider's languages, specialties, insurance panels, and modalities. Resolution always runs against the latest state — no stale cache.
Pass the constraints extracted from the patient request. Orita resolves the provider, holds the slot, and confirms — your endpoint receives the webhook.
const resolution = await orita.resolutions.resolve({
constraints: {
language: "es",
specialty: "therapy",
insurance: "sanitas",
modality: "virtual"
},
preference: "afternoon",
dateRange: { from: "2026-08-05", to: "2026-08-06" }
});
const held = await orita.resolutions.hold(resolution.options[0].id);
await orita.resolutions.confirm(held.holdId);
// → booking.created webhook fires to your endpointResponse includes booking_id, provider, and slot with timezone-adjusted times.