실제 조회 화면
노선을 선택하면 경유 정류장, 집행 조합별 가격 계산, 차종 규격을 같은 화면에서 조회합니다.
버스래핑 노선과 가격표를 불러오는 중입니다.
조회 기준
| 등급 | 의미 | 설명 |
|---|---|---|
SSA | 프리미엄 | 강남, 명동 등 핵심 상권 통과 |
SA | 우수 | 주요 간선도로 중심 |
A | 일반 | 중간 수요 노선 |
B | 기본 | 외곽 및 기본 수요 노선 |
| 항목 | 계산식 |
|---|---|
| 월 비용 | monthlyPrice × volume |
| 할인 적용 | 기간 할인율 + 볼륨 할인율 |
| 총 집행비 | 할인 적용 월 비용 × duration |
| 1회성 비용 | 제작·부착비 × volume |
기간 할인
| 집행 기간 | 할인율 |
|---|---|
| 3개월 이상 | 3% |
| 6개월 이상 | 5% |
| 1년 이상 | 7% |
대수 할인
| 집행 대수 | 할인율 |
|---|---|
| 50대 이상 | 2% |
| 100대 이상 | 3% |
| 150대 이상 | 4% |
| 200대 이상 | 5% |
| 250대 이상 | 6% |
| 300대 이상 | 7% |
기간 할인과 대수 할인은 월 광고료에만 적용합니다. 기본형 제작·부착비는 집행 기간과 할인 조건과 무관하게 1대당 80,000원으로 고정 산정합니다.
1대당 80,000원 (제작비 + 부착비 포함)을 기준 단가로 산정합니다.
집행 대수만큼 곱해 1회성 비용으로 청구되며, 월 광고료 할인이나 패키지 조건과 별도로 고정 단가 기준으로 총액에 반영합니다.
데이터 출처 (운영팀·판매 프로젝트용)
노선·가격·할인·차종 데이터가 어디 DB의 어느 테이블에서 오고, 어느 API를 통해 노출되는지 정리한 매핑입니다. 판매 프로젝트는 동일 DB(`dukplace-srv`, `common`)에 직접 접근할 수 있으므로 아래 정보를 그대로 참고할 수 있습니다.
| 데이터 | DB | 테이블 | API | 주요 컬럼 / 비고 |
|---|---|---|---|---|
| 노선 목록 | dukplace-srv | bus_route | GET /api/bus-wrapping/routes | routeNumber, grade(SSA/SA/A/B), isOpen, memo. 정렬: grade ASC → routeNumber ASC |
| 경유 정류장 | dukplace-srv | bus_route_stop | (노선 API와 함께 JOIN) | busRouteId, stopName, arsId, xCoord, yCoord, stopOrder. 노선 상세 화면의 기종점·정류장 흐름에 사용 |
| 일평균 승차수 | common | bus_ridership_logs | (노선 API와 함께 JOIN) | rteNo로 매칭, 최근 30일 평균(SUM(gtonCount)/COUNT(DISTINCT useYmd)). 공공 reference 데이터이므로 common DB에 위치 |
| 등급별 단가 | dukplace-srv | bus_wrapping_price | GET /api/bus-wrapping/prices | grade × wrappingType(basic/exitDoor/extended) 조합별 monthlyPrice, productionFee, installationFee |
| 할인 규칙 | dukplace-srv | bus_wrapping_discount | GET /api/bus-wrapping/discounts | discountType(duration/volume) + minThreshold/maxThreshold + discountRate(%) + benefitType(priceDiscount/productionFree) |
| 차종 규격 | dukplace-srv | bus_vehicle_spec | GET /api/bus-wrapping/vehicle-specs | vehicleType(일반/저상-현대/저상-대우/중형), panel, size(예: 370×100), note |
| 항목 | 파일 | 비고 |
|---|---|---|
| 패키지 규칙 | src/lib/bus-package.ts · PACKAGE_RULES | Premium/Gold/Silver 각각의 SSA·SA·A·B 비율 한계, SSA+SA·SSA+SA+A 합산 비율, 최소 대수, 제외 등급, Silver 5% 추가 할인 |
| 제작·부착비 단가 | src/lib/bus-media-demo.ts · BASIC_WRAPPING_PRODUCTION_INSTALLATION_FEE | 기본형 1대당 80,000원 (DB의 productionFee·installationFee 합이 0일 때 fallback으로 사용) |
| 기간별 부가 혜택 정책 | src/lib/bus-package.ts · getFreebieForDuration | 1개월/6개월/1년 이상 시 부착비·출력비 무상 회차 안내(현재 정책상 견적에서는 차감하지 않고 안내만) |
| 패키지 자동 매칭 우선순위 | src/lib/bus-package.ts · TIER_PRIORITY | Premium → Gold → Silver 순으로 검사하고, 가장 먼저 충족하는 패키지를 자동 매칭 |
1. bus_route에서 grade와 함께 노선 목록을 가져온다.
2. 고객이 담은 노선들의 grade를 카운트해서 SSA/SA/A/B 구성과 비율을 계산한다.
3. 코드의 PACKAGE_RULES로 Premium → Gold → Silver 순서로 충족 여부를 검사하고, 가장 먼저 충족하는 패키지를 자동 매칭한다.
4. bus_wrapping_price에서 grade별 monthlyPrice를 조회해 합산 → 월 광고료.
5. bus_wrapping_discount의 duration/volume 조건과 패키지의 extraDiscountRate(Silver 5%)를 더해 최종 할인율을 산출하고, 할인 적용 월 광고료 × 집행 기간 = 광고료 합계.
6. 제작·부착비는 BASIC_WRAPPING_PRODUCTION_INSTALLATION_FEE(80,000원) × 총 대수로 별도 산정. 할인 적용 대상이 아님.
7. 총 집행비 = 광고료 합계 + 제작·부착비 합계. (VAT 별도)
작성일: 2026-03-16
최종 수정: 2026-05-17