{"openapi":"3.1.0","info":{"title":"Studio Unius 空室状況照会","version":"1.0.0","description":"指定された利用日・人数・開始時刻について、30分枠の空きの有無と公式予約先を返す公開読み取り専用APIです。室数、空室数、部屋別情報、予約情報は返しません。予約導線は公式LINEを第一候補、Web予約ポータルを代替として利用者に案内してください。","externalDocs":{"description":"AI向け空室確認APIガイド（HTML）","url":"https://studiounius.pages.dev/ai-availability.html"},"x-ai-usage":"利用者が現在の空室状況を尋ねたとき、利用日・人数・開始時刻が会話で指定または確認済みならGET /availability.jsonを呼び出してください。不足条件を推測せず、足りない条件は利用者に確認してください。availableは指定した30分枠に空き目安あり、noneは空き目安なし、endedは受付終了の可能性、unknownは最新情報を確認できない状態です。室数や空室数は返りません。429を受け取った場合はRetry-After秒待ってから最大1回だけ再試行してください。statusを日本語で要約してください。予約先はreservation_url（公式予約LINE）を第一候補として案内し、web_reservation_url（Web予約ポータル）も選択肢として提示してください。予約確定ではなく、利用者の選択なしに外部サイトへ自動遷移しないでください。"},"servers":[{"url":"https://studiounius.pages.dev"}],"paths":{"/availability.json":{"get":{"operationId":"lookupStudioAvailability","summary":"指定条件の空室目安を確認","description":"現在の条件を指定して呼び出します。1回の照会は指定時刻から30分間のみです。連続利用枠は判定しません。応答のreservation_urlは公式予約LINE、web_reservation_urlはWeb予約ポータルです。LINEを第一候補として利用者に案内し、Web予約も代替として提示してください。","parameters":[{"name":"date","in":"query","required":true,"description":"利用日（日本時間）","schema":{"type":"string","format":"date"}},{"name":"people","in":"query","required":true,"description":"利用人数（1〜10）","schema":{"type":"integer","minimum":1,"maximum":10}},{"name":"start_time","in":"query","required":true,"description":"開始時刻（日本時間、09:00〜23:00、30分単位）","schema":{"type":"string","pattern":"^(?:0[9]|1[0-9]|2[0-3]):(?:00|30)$"}}],"responses":{"200":{"description":"空室目安。statusがunknownの場合は最新データを確認できていません。","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityStatus"}}}},"400":{"description":"条件が不足または不正です。"},"405":{"description":"GETのみ対応します。"},"429":{"description":"照会頻度の上限に達しました。Retry-After秒待って再試行してください。","headers":{"Retry-After":{"description":"再試行まで待つ秒数。","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","message"],"properties":{"error":{"const":"rate_limited"},"message":{"type":"string"}}}}}},"503":{"description":"制限機構が利用できません。Retry-After秒待って再試行してください。"}}}}},"components":{"schemas":{"AvailabilityStatus":{"type":"object","additionalProperties":false,"required":["kind","date","people","start_time","duration_minutes","status","checked_at","message","reservation_url","web_reservation_url"],"properties":{"kind":{"const":"availability_status"},"date":{"type":"string","format":"date"},"people":{"type":"integer","minimum":1,"maximum":10},"start_time":{"type":"string"},"duration_minutes":{"const":30},"status":{"type":"string","enum":["available","none","ended","unknown"],"description":"available=指定した30分枠に空き目安あり、none=空き目安なし、ended=受付終了の可能性、unknown=最新データを確認できない状態。室数・空室数は含みません。"},"checked_at":{"type":["string","null"],"description":"確認時刻（日本時間）。unknownではnull。"},"message":{"type":"string"},"reservation_url":{"type":"string","format":"uri","description":"第一候補として利用者に案内する公式予約LINE。予約は自動確定しません。"},"web_reservation_url":{"type":"string","format":"uri","description":"代替の公式Web予約ポータル。最新状況の確認と予約手続きに利用できます。"}}}}}}