Parking Lot Search
What this skill does
유저가 알려준 현재 위치를 기준으로 근처 공영주차장 을 찾는다.
- 위치는 자동 추정하지 않는다.
- 반드시 먼저 현재 위치를 질문한다.
- 기본값은
공영주차장만 보여준다. - 공식
전국주차장정보표준데이터Open API를 사용한다. - 위치 문자열은 Kakao Map anchor 검색으로 좌표를 잡은 뒤, 공식 주차장 데이터에서 거리순으로 정리한다.
- 실시간 만차/잔여면/예약 여부는 공식 표준데이터에 없으므로 확정해서 말하지 않는다.
When to use
- "근처 주차장 찾아줘"
- "광화문 주변 공영주차장 어디 있어?"
- "서울역 근처 무료 주차장 있어?"
- "지금 여기서 가까운 공영주차장 지도 링크 줘"
Mandatory first question
위치 정보 없이 바로 검색하지 말고 반드시 먼저 물어본다.
권장 질문:
현재 위치를 알려주세요. 동네/역명/랜드마크/위도·경도 중 편한 형식으로 보내주시면 근처 공영주차장을 찾아볼게요.
위치가 애매하면:
가까운 역명이나 동 이름으로 한 번만 더 알려주세요.
Official surfaces
- 표준데이터 안내:
https://www.data.go.kr/data/15012896/standard.do - Open API 안내:
https://www.data.go.kr/data/15012896/openapi.do - Open API endpoint:
https://api.data.go.kr/openapi/tn_pubr_prkplce_info_api - k-skill proxy:
/v1/parking-lots/search - Kakao Map 모바일 검색:
https://m.map.kakao.com/actions/searchView?q=<query> - Kakao Map 장소 패널 JSON:
https://place-api.map.kakao.com/places/panel3/<confirmId>
Workflow
- 유저에게 반드시 현재 위치를 묻는다.
- 위치 문자열을 받으면 Kakao Map으로 anchor 후보를 고르고 좌표를 확보한다.
- anchor 주소에서
시도 + 시군구address hint를 만든다. - k-skill-proxy
/v1/parking-lots/search또는parking-lot-search패키지로 공식 주차장 데이터를 조회한다. - 보통 3~5개만 짧게 정리하고, 지도 링크를 같이 준다.
- 요금/운영시간은 데이터 기준일자와 함께 안내하고, 실시간 현황이 아님을 밝힌다.
Responding
결과는 보통 아래 필드를 포함해 짧게 정리한다.
- 주차장명
- 거리
- 공영/민영 및 노상/노외/부설 유형
- 주소
- 운영요일/운영시간
- 요금정보, 기본요금, 추가요금
- 주차구획수
- 전화번호/관리기관
- 데이터기준일자
- 지도 링크
Node.js example
const { searchNearbyParkingLotsByLocationQuery } = require("parking-lot-search");
async function main() {
const result = await searchNearbyParkingLotsByLocationQuery("광화문", {
limit: 3,
radius: 1500
});
console.log(result.anchor);
console.log(result.items);
}
main().catch((error) => {
console.error(error);
process.exitCode = 1;
});
모두의주차장 status
Issue #135에서 모두의주차장 연동 가능성을 언급했지만, v1은 공식 공공데이터 기반으로 시작한다. 승인된 공식/파트너 API 계약이 확인되기 전에는 모두의주차장 비공식 API 호출이나 scraping을 하지 않는다.
Done when
- 유저의 현재 위치를 먼저 확인했다.
- 공식 데이터 기반으로 최소 1개 이상 nearby parking lot을 찾았거나, 못 찾은 이유와 다음 질문을 제시했다.
- 가장 가까운 결과를 3~5개 이내로 정리했다.
- 실시간 잔여면/예약 가능 여부가 아님을 필요한 경우 명확히 했다.