Salmonbus · Contract Portal
영어 필드보다 먼저,
버스가 어떻게 보이는지.
API 응답 한 덩어리가 실제 정류장의 차량 위치, 현재 좌석, 도착 시 좌석 예보, 현재 대기열 추정과 탑승 안내로 어떻게 바뀌는지 먼저 확인합니다.
프론트엔드는 아래 장면과 01 Client API만 구현 기준으로 사용
GET /api/v1/routes/gg-3330/board
범계역에서 3330번을 기다린다면
상황을 바꾸면 서버 응답과 사용자가 보는 안내가 함께 바뀝니다.
안양역 방면 · DOWN
도촌동
판교역
범계역 · 탑승
안양역
현재 줄 약 8~19명 · 실험
3330
현재 12석
3330
도착하면 7석 예상
한 석 이상 남을 확률 86%
지금 차량 좌석
vehicles[].seat
12석
GBIS가 준 정확한 좌석 정보
범계역 도착 예상
stops[].nextArrival
7석 예상
정류장 사이 승하차를 반영
사용자에게 보여줄 말
verdict
여유
여기서 기다리세요
현재 대기열 추정
stops[].queueEstimate
약 8~19명
실측이 아닌 실험적 추정
EXACT → FORECAST
현재 12석을 관측하고, 범계역 도착 시 7석으로 계산한 응답입니다.
이 장면을 만드는 실제 응답 조각 보기
전체 계약 문서
화면 구현은 Client API만, 수집·처리·운영 담당자는 자신의 경계 문서까지 확인합니다.
Client API
노선 목록과 좌석·대기열 예보 보드. 프론트엔드 타입 생성의 유일한 기준입니다.
Frontend source of truth 02 · COLLECTGBIS Upstream
노선 검색, 정류장 순서, 차량 위치·잔여 좌석을 수집하는 외부 공공 API 계약입니다.
Server only 03 · PROCESSData Pipeline
PostgreSQL 테이블과 잡 계약, 공개 JSON에서 분리한 Board·모델·대기열 provenance를 정리합니다.
Not an HTTP API 04 · OPERATEOperations API
Actuator health, liveness, readiness와 내부 Prometheus scrape 계약입니다.
Internal network