기능
대안
한 장소의 대기 시간이 길면 Waity는 대기 시간이 더 짧은 근처의 같은 종류 장소를 제시하고, 얼마나 더 짧고 얼마나 더 먼지 알려 줍니다.
무엇인가
한 장소에 대한 응답(GET /v1/places/{id} 또는 get_wait 도구)에는 instead가 담깁니다: 최대 세 개의 대안이 좋은 순서대로 있으며, 각각 다른 장소와 같은 형태입니다. 에이전트는 다시 검색하지 않고도 “다리는 55분, Ysleta는 7분”이라고 말할 수 있습니다.
대안 요청
instead는 전체 보기에 있습니다: REST에는 view=full을 보내고, 기본값이 minimal인 get_wait에는 "view": "full"을 보내세요. 두 보기 모두 같은 장소들을 조회하는 목록 호출인 links.alternatives를 담고 있습니다.
curl "https://api.waity.ai/v1/places/pl_6e3znhb7h9?view=full" \
-H "X-Api-Key: $WAITY_API_KEY"
선택 방식
- 같은 종류의 장소: 같은 카테고리에서 25km 이내, 그다음 40km, 60km 순으로 찾습니다. 공항 레인은 같은 공항의 다른 레인과 비교하고, 국경 레인은 근처 검문소의 같은 레인 유형과도 비교합니다.
- 사용할 수 있는 실시간 대기만:
now.usable이 false이거나 1시간 안에 문을 닫는 장소는 제외됩니다. - 더 짧게, 절대 더 길지 않게: 대안의 대기 시간은 요청한 장소보다 짧거나, 같으면서 더 가깝습니다.
- 운전할 가치: 줄어드는 시간이 직선 거리로 추정한 추가 운전 시간보다 커야 합니다. 대안은 운전 시간과 대기 시간의 합으로 순위를 매기며, 운전 시간 추정치는 반환하지 않습니다.
- 응급실의 대안 뒤에 긴급 진료소가 최대 두 곳 올 수 있습니다. 긴급 진료소만 단독으로 오는 일은 없으며, 그 대기 시간을 응급실과 비교하지 않습니다.
- 문을 닫은 장소에는 지금 열려 있고 실시간 대기가 있는 대안을 제시합니다.
date를 보내면 각 대안에 그날 가장 한산한 시간이best_on_day로 담깁니다.
요청한 장소와 비교
각 대안에는 vs_requested가 있습니다:
wait_diff_min: 요청한 장소의 대기 시간에서 이 장소의 대기 시간을 뺀 값. 양수면 이 장소가 더 짧습니다. 두 값을 비교할 수 없으면 null입니다.extra_km: 이 장소가 직선 거리로 몇 km 더 먼지.note:wait_diff_min가 null인 이유, 또는 독립형 응급실처럼 이 장소에 대해 알아야 할 점. 그대로 전달하세요.
instead 항목 하나
{
"place": {
"id": "pl_nvk0wkb3ps",
"name": "Ysleta Passenger Vehicles, Standard",
"category": "border",
"parent": {
"id": "pl_q4znr9abbj",
"name": "Ysleta-Zaragoza Bridge"
},
"open_now": true,
"opens_at": null,
"closes_at": null,
"timezone": "America/Denver",
"sample": false,
"facility": null,
"audience": "all",
"lane": "standard",
"url": "https://waity.ai/places/ysleta-passenger-vehicles-standard-kb3ps",
"api_url": "https://api.waity.ai/v1/places/pl_nvk0wkb3ps"
},
"summary": "About 7 min to enter the US, estimated by the border agency, updated 2 min ago.",
"now": {
"status": "live",
"usable": true,
절대 하지 않는 것
- 모든 연령이 이용하는 장소에 있는 사람에게 어린이 전용 응급실이나 긴급 진료소를 제시하지 않습니다. 어린이 응급실에는 다른 어린이 응급실을 먼저, 그다음 병원 응급실을 제시하며, 독립형 응급실은 제시하지 않습니다.
- 요청한 레인보다 더 많은 조건이 필요한 레인은 제시하지 않습니다: 일반 또는 표준 레인에 있는 사람에게 SENTRI, NEXUS, Ready Lane을, Ready Lane에 있는 사람에게 SENTRI나 NEXUS를 제시하지 않으며, 공항에서는 PreCheck나 CLEAR를 제시하지 않습니다.
- 다르게 측정한 시간은 비교하지 않습니다. 응급실이나 긴급 진료소는 두 대기 시간의 출처가 같을 때만 더 짧다고 제시합니다. 그렇지 않으면 시간을 비교하지 않고,
vs_requested.note가 그렇게 알려 줍니다. - 독립형 응급실임을 숨기지 않습니다:
place.facility: "freestanding_ed"가 그렇게 표시하고, 병원 응급실 뒤에 오며, 안내에는 입원 병상과 수술 시설이 없어 중증 환자는 병원으로 이송된다고 적혀 있습니다. - 대기 시간을 모른다는 이유로 응급실이나 긴급 진료소를 떠나라고 권하지 않습니다.
- 사람이 넘을 수 없는 경계는 넘지 않습니다: 보안 검색 후 연결되지 않은 공항 터미널, 또는 다른 나라를 거쳐야만 갈 수 있는 장소.
응급실 안전
모든 응급실 응답은 warnings[0]와 notes에 이 내용을 담고 있습니다. 어떤 대안보다도 먼저 사용자에게 읽어 주세요.
비어 있을 때
조건에 맞는 곳이 없으면 instead는 빈 목록이고, diagnostics가 이유를 알려 줍니다: 운전 시간을 더하면 더 짧은 곳이 없거나, 근처 대기 시간이 다르게 측정하는 출처에서 왔거나, 이 줄에 선 사람이 이용할 수 있는 다른 장소가 근처에 없는 경우입니다.
관련 문서
응답 읽기에서 대안의 모든 필드를 설명합니다. 파라미터는 REST API와 MCP에, 모든 필드는 API 레퍼런스에 있습니다.