Scope
라이더-차량 계약 등록 시 백엔드(Slice D)가 자동 발급한 보험 결과(`autoIssuedRiderInsuranceId` / `autoInsuranceSkipReason`)를 운영자가 어드민 화면에서 확인할 수 있게 한다.
Included:
- ServiceOpsRiderBikeContract / 변환 함수 (`toRiderContract`) 에 `autoIssuedRiderInsuranceId` + `autoInsuranceSkipReason` 매핑.
- frontend RiderContract 도메인 타입 확장.
- 계약 생성 server action (`createRiderBikeContractAction`) 이 응답에서 결과를 추출 → query param 으로 다음 페이지에 전달.
- 계약 등록 후 redirect 도착 페이지(라이더 상세 또는 계약 상세) 에서:
- 자동 발급 성공 시 `success` flash + RiderInsurance ID 노출.
- SKIP 토큰별 한글 안내 메시지 표시 (TEMPLATE_NOT_OPTED_IN / DEFAULT_INSURANCE_ITEM_MISSING / NOT_FOUND / DELETED / DISABLED / ALREADY_LINKED / DUPLICATE_ON_INSERT).
- 계약 단건 상세 페이지 (`/contracts/{id}`) 에 자동 발급 보험 정보 row 노출.
Excluded:
- 자동 발급된 보험을 별도 화면에서 편집/해지하는 흐름 (이미 라이더 보험 흐름으로 처리 가능).
- 계약 종료 시 자동 보험 해지 (별도 슬라이스).
- 계약 폼의 보험 입력 자체 (백엔드가 contract template 기반으로 자동 처리).
Acceptance criteria
- 등록 응답에 `autoIssuedRiderInsuranceId` 가 있으면 어드민 화면이 그 결과를 안내한다.
- SKIP 토큰별로 운영자가 이해할 수 있는 한글 메시지가 노출된다.
- 계약 단건 상세 페이지에서도 자동 발급 보험 정보를 확인 가능.
- 기존 계약 등록 흐름 회귀 없음.
- `npm run lint` / `npx tsc --noEmit` / `npm run test:service-ops` / `npm run build` 통과.
Trace
Concurrent work gate
Decision: allowed-with-non-overlap
Evidence:
- Open target issues: none.
- Open target PRs: none.
- Active branches: dev, main.
Reason: front-admin-web 만 변경.
Scope
라이더-차량 계약 등록 시 백엔드(Slice D)가 자동 발급한 보험 결과(`autoIssuedRiderInsuranceId` / `autoInsuranceSkipReason`)를 운영자가 어드민 화면에서 확인할 수 있게 한다.
Included:
Excluded:
Acceptance criteria
Trace
Concurrent work gate
Decision: allowed-with-non-overlap
Evidence:
Reason: front-admin-web 만 변경.