Salmonbus · Contract Portal

영어 필드보다 먼저,
버스가 어떻게 보이는지.

API 응답 한 덩어리가 실제 정류장의 차량 위치, 현재 좌석, 도착 시 좌석 예보, 현재 대기열 추정과 탑승 안내로 어떻게 바뀌는지 먼저 확인합니다.

프론트엔드는 아래 장면과 01 Client API만 구현 기준으로 사용

GET /api/v1/routes/gg-3330/board

범계역에서 3330번을 기다린다면

상황을 바꾸면 서버 응답과 사용자가 보는 안내가 함께 바뀝니다.

지금 차량 좌석 vehicles[].seat 12석

GBIS가 준 정확한 좌석 정보

범계역 도착 예상 stops[].nextArrival 7석 예상

정류장 사이 승하차를 반영

사용자에게 보여줄 말 verdict 여유

여기서 기다리세요

현재 대기열 추정 stops[].queueEstimate 약 8~19명

실측이 아닌 실험적 추정

EXACT → FORECAST 현재 12석을 관측하고, 범계역 도착 시 7석으로 계산한 응답입니다.
이 장면을 만드는 실제 응답 조각 보기

전체 계약 문서

화면 구현은 Client API만, 수집·처리·운영 담당자는 자신의 경계 문서까지 확인합니다.

01 · PUBLIC

Client API

노선 목록과 좌석·대기열 예보 보드. 프론트엔드 타입 생성의 유일한 기준입니다.

Frontend source of truth
02 · COLLECT

GBIS Upstream

노선 검색, 정류장 순서, 차량 위치·잔여 좌석을 수집하는 외부 공공 API 계약입니다.

Server only
03 · PROCESS

Data Pipeline

PostgreSQL 테이블과 잡 계약, 공개 JSON에서 분리한 Board·모델·대기열 provenance를 정리합니다.

Not an HTTP API
04 · OPERATE

Operations API

Actuator health, liveness, readiness와 내부 Prometheus scrape 계약입니다.

Internal network