접수부터 수리 완료까지 관리하는 현장 수리 앱 개발하기
현장 수리 앱 개발과 CRM 개발을 연결하는 방법을 설명합니다. 같은 접수번호를 사용하는 고객·기사 화면, 담당자 수정 권한, 오프라인 사진 재전송, 고객 완료 확인의 개발 범위와 검수 기준을 정리합니다.
핵심 요약
1. 고객접수부터 기사배정, 현장사진, 완료 확인까지 같은 접수번호로 연결합니다. 2. Flutter의 오프라인 우선 설계, Django 인증, FastAPI 파일 수신 기능을 업무에 맞게 활용합니다. 3. 담당자별 수정 제한, 사진 재전송과 중복 방지, 고객 확인 절차는 직접 개발합니다.
현장 수리 앱 개발과 CRM 개발을 함께 추진할 때는 고객과 기사가 같은 수리 건을 확인할 수 있어야 합니다. 상담원이 받은 주소와 기사가 방문할 주소가 다르거나, 사진만 올라오고 고객 확인이 빠지는 일을 막아야 하기 때문입니다. 이를 위해 접수 연결과 권한, 사진 처리, 완료 조건을 업체의 업무에 맞춰 구현합니다.
고객접수와 CRM을 묶는 하나의 접수번호
고객이 이름, 연락처, 방문 주소, 수리 대상, 증상을 입력하면 서버에서 접수번호를 발급하도록 만듭니다. 전화로 들어온 요청도 상담원이 CRM 접수 화면에 같은 항목으로 등록합니다. 이후 기사배정과 사진, 수리 결과를 이 번호에 연결해 고객 화면과 기사 화면이 같은 접수 내용을 읽게 합니다.
고객 화면에는 방문 예정일과 진행 내용을, 기사 화면에는 방문 주소와 증상을 보여줍니다. 두 화면에 필요한 정보가 달라도 접수의 기준은 하나로 유지합니다. 접수 버튼을 연속으로 눌렀을 때 중복 등록을 막는 처리도 직접 구현하며, 검수에서는 고객 화면의 번호와 CRM 목록의 번호가 일치하는지 확인합니다.

Django 인증과 담당자별 수정 권한
Django authentication은 사용자·그룹·권한을 다루는 인증 체계를 제공합니다. 이를 바탕으로 상담원, 배정 담당자, 기사, 고객의 역할을 구분하고, 각 접수의 현재 담당자를 확인하는 업무 규칙을 추가합니다. 배정 담당자가 기사와 방문 일정을 입력하면 해당 기사의 작업 목록에 접수가 나타나도록 연결합니다.
수리 내용 수정은 현재 배정된 기사에게, 배정 변경은 지정된 운영 담당자에게 허용합니다. 버튼을 숨기는 것에 더해 서버가 저장 요청마다 로그인 사용자와 담당자를 비교하도록 직접 구현합니다. 담당 기사가 바뀐 뒤 이전 기사가 열어 둔 화면에서 저장을 눌러도 변경이 반영되지 않는지 검수합니다.
Flutter로 이어가는 오프라인 사진 등록
Flutter 공식 문서는 로컬 데이터와 원격 API를 함께 다루는 오프라인 우선 설계 예시를 제공합니다. 통신이 끊기는 현장에서는 촬영한 사진 파일과 접수번호를 기기에 보관하는 기능을 별도로 만듭니다. 기사 화면에는 사진 미리보기와 ‘사진 전송 대기’를 표시해 촬영과 서버 저장을 구분합니다.

연결이 복구된 뒤 앱을 열면 보관한 사진을 다시 보내고, 서버의 저장 확인을 받은 사진만 전송 완료로 표시합니다. 같은 사진을 다시 보내도 한 장으로 처리하는 중복 방지 규칙도 필요합니다. 서버에는 사진이 저장됐지만 응답을 받기 전에 통신이 끊긴 상황을 재현해, 재전송 후에도 해당 접수에 사진 한 장만 남는지 확인합니다.
FastAPI UploadFile과 현장사진 검증
FastAPI의 UploadFile은 업로드 파일을 받는 기능을 제공합니다. 현장사진을 받는 요청에는 접수번호와 수리 전·후 구분을 함께 전달하도록 만듭니다. 파일을 받는 서버에서도 현재 담당자인지 확인하며, 사진 형식과 용량, 실제로 읽을 수 있는 파일인지 검사하는 처리는 직접 개발합니다.
검사를 통과한 사진만 해당 접수에 연결하고, 고객 화면에서 열람할 때도 본인의 접수인지 확인하게 합니다. 저장에 실패한 사진은 전송 완료로 표시하지 않고 다시 보내기 버튼을 제공합니다. 검수에서는 다른 접수의 사진이 섞이지 않는지, 손상된 파일이 거절되는지, 기기에서 전송을 마친 사진이 CRM에서도 열리는지 확인합니다.

수리완료 요청과 고객 확인 분리
기사가 수리 내용과 작업 후 사진을 등록하면 ‘고객 확인 요청’ 버튼을 누르도록 만듭니다. 필수 사진이 아직 전송되지 않았다면 요청을 보류하고, 먼저 전송해야 할 사진을 화면에 표시합니다. 기사 작업이 끝났다는 기록과 고객이 결과를 확인했다는 기록을 나눠 관리하는 절차는 자체 개발할 범위입니다.
고객은 본인 접수 화면에서 수리 내용과 사진을 보고 ‘수리 결과 확인’ 또는 ‘다시 확인 요청’을 선택합니다. 다시 확인을 요청하면 사유가 담당자에게 보이고, 수정한 내용을 고객이 재확인할 수 있게 합니다. CRM의 완료 처리는 고객 확인까지 충족했을 때만 허용하며, 확인 시각과 대상 수리 내용을 함께 남겨 무엇에 동의했는지 검수합니다.
개인정보를 가린 접수대장 예시와 기사별 담당 지역·방문 가능 일정이 담긴 배정표를 준비해, 담당자 수정 권한·오프라인 사진 재전송·고객 완료 확인을 포함한 현장 수리 앱과 CRM 개발을 문의해 주세요. 트램스 AI 제작 문의 (https://trams.co.kr/ai-si/contact/#inquiry)
참고 자료
비슷한 AI 서비스를
사업에 적용하고 싶으신가요?
아이디어와 필요한 기능을 알려주시면 제작 범위와 방법을 검토합니다.