{"openapi":"3.1.0","info":{"title":"Greta Pupkute AI Registration Tool","version":"1.0.0"},"servers":[{"url":"https://www.gretapupkute.lt"}],"paths":{"/ai/availability.json":{"get":{"operationId":"listAvailability","summary":"List Lithuanian calendar times for AI registration","description":"Returns available Lithuanian appointment slots. Use symptoms only to choose the default registration path and complaint text; ne diagnozuoti.","parameters":[{"name":"procedure_identifier","in":"query","required":false,"schema":{"type":"string"}},{"name":"date","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"weeks_from_now","in":"query","required":false,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"Available procedures and slots"}}}},"/ai/registrations.json":{"post":{"operationId":"createRegistration","summary":"Create a Lithuanian registration event","description":"Book only after conversational patient confirmation. Required contact fields: name, email, phone. Symptoms can be saved as complaint text; ne diagnozuoti.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["slot_id","idempotency_key","name","email","phone"],"properties":{"slot_id":{"type":"string"},"idempotency_key":{"type":"string","maxLength":128,"description":"Unique key per intended booking; reuse only for retry."},"name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"},"comment":{"type":"string"},"new_patient":{"type":"string","enum":["yes","no","\"\""]},"eager_for_earlier_schedule":{"type":"boolean"}}}}}},"responses":{"201":{"description":"Registration created"},"200":{"description":"Idempotent replay"},"422":{"description":"Validation error"},"415":{"description":"JSON request body required"},"429":{"description":"Daily IP registration cap reached"}}}}}}