전체 얼개를 볼 때 읽는 문서

시스템 구성

화면·서버·저장소가 각각 무엇을 맡는지, 고객 단계를 자동으로 나누는 기준과 알림톡 발송 규칙을 적었습니다.

14,187자 · 시스템이 만든 그대로입니다

온헤어 CRM 시스템 구성 문서

1. 서비스 목표

온헤어의 원장님과 디자이너가 휴대전화 번호로 고객을 찾고, 이전 시술 이력, 염색약 번호, 배합을 한곳에서 확인하는 웹 CRM입니다.

디자이너는 오늘·내일 예약 확인 건을 관리하고, 시술 뒤 시술 기록과 재예약을 남깁니다.
원장님은 전체 고객, 직원·권한, 자료 가져오기·중복 합치기, 알림톡 설정을 관리합니다.

  • 대상: 온헤어 원장님 및 디자이너 2~4명
  • 고객 규모: 100~999명
  • 웹: Next.js 기반 반응형 웹
  • 시간 기준: Asia/Seoul
  • 고객 중복 기준: 같은 가게 안에서 정규화 번호가 같으면 같은 고객

2. 역할과 권한

역할할 수 있는 일데이터 범위
원장님전체 고객·예약 확인 건·시술 기록 조회 및 관리, 직원·권한 설정, 자료 가져오기, 중복 병합·병합 취소, 알림톡 설정, 병합 이력 및 조회·수정·내보내기 기록 확인현재 가게 전체
디자이너자기 담당 고객의 상세 정보 확인, 시술 기록 작성, 예약 확인 건 등록·관리, 다음 예약 등록, 뜸해진 고객 연락 기록 작성자기 담당 고객
시스템예약 안내 발송 일정 계산, 알림톡 발송, 고객 단계 재계산, 뜸해진 고객 분류, 시술 기록 미작성 할 일 생성현재 가게 범위

확인 필요: 대체 시술 시 열람 권한

현재 권한 기준은 “디자이너는 자기 담당 고객만 자세히 본다”입니다.
하지만 담당 디자이너가 쉬는 날 다른 디자이너가 시술 이력과 염색약 번호를 봐야 합니다.

아래 방식 중 운영 방식을 확정해야 합니다.

  1. 다른 디자이너가 임시 열람 요청 → 원장님 승인 후 제한 시간 동안 열람
  2. 원장님이 해당 고객의 담당 디자이너를 변경
  3. 예약 확인 건에 배정된 대체 디자이너에게 해당 방문에 필요한 시술 이력만 열람 허용

어느 방식을 선택하더라도 열람한 직원, 시각, 고객, 사유를 기록합니다.


3. 화면별 구현 명세

3.1 로그인

항목내용
목적직원 계정으로 로그인하고 가게 소속 및 역할을 확인합니다.
진입서비스 접속, 로그아웃 후, 로그인 만료 후
주요 기능로그인, 계정 활성 상태 확인, 가게 소속 확인, 역할별 첫 화면 이동
완료 조건활성화된 직원만 자신의 가게 범위에서 오늘·내일 예약 확인 화면으로 이동합니다.
예외 처리차단된 계정, 가게 소속이 없는 계정, 로그인 실패 시 접근을 막고 안내합니다.

3.2 오늘·내일 예약 확인

항목내용
목적오늘·내일 예약 확인 건을 확인하고, 알림톡 발송·방문 결과·수동 연락 결과를 관리합니다.
주요 사용자원장님, 디자이너
진입로그인 후 첫 화면, 주 메뉴
주요 목록방문 예정 일시, 고객명, 예약 연락처 스냅샷, 담당 디자이너, 예정 시술, 유입 접점, 고객 확인 상태, 알림톡 발송 상태, 방문 결과
주요 행동예약 확인 건 직접 등록, 고객 찾기, 예약 수정, 방문 결과 입력, 수동 연락 결과 입력, 시술 기록 작성 화면 이동
완료 조건오늘·내일 대상 예약 확인 건의 발송 상태와 방문 결과를 확인하거나 수정할 수 있습니다.

방문 결과

방문 결과는 아래 네 가지로 기록합니다.

  • 시술 완료
  • 노쇼
  • 고객 취소
  • 매장 취소

시술 완료 처리 후 연결된 시술 기록이 없으면 담당 디자이너에게 내부 할 일을 생성합니다.


3.3 고객 목록

항목내용
목적휴대전화 번호, 이름, 담당 디자이너로 고객을 찾습니다.
주요 사용자원장님, 디자이너
주요 기능휴대전화 번호 검색, 이름 검색, 담당 디자이너 필터, 고객 단계 필터, 중복 의심 고객 확인
목록 항목고객명, 화면 표시 번호, 담당 디자이너, 고객 단계, 마지막 방문일, 다음 예약 일시, 마케팅 수신동의 상태
권한원장님은 전체 고객을 봅니다. 디자이너는 자기 담당 고객을 자세히 봅니다.
완료 조건사용자가 고객 상세로 이동하거나 새 고객 등록·중복 병합 검토를 시작할 수 있습니다.

휴대전화 번호 검색은 공백, 하이픈, 점, 괄호가 있어도 같은 정규화 번호로 검색합니다.


3.4 고객 상세

항목내용
목적고객 정보, 이전 시술 이력, 염색약 번호, 배합, 다음 예약을 한곳에서 봅니다.
주요 사용자원장님, 권한이 있는 디자이너
주요 영역고객 기본 정보, 담당 디자이너, 개인정보 동의, 마케팅 수신동의, 고객 단계, 시술 이력, 예약 확인 건, 다음 예약, 뜸해짐 연락 기록, 병합 이력
주요 행동고객 정보 수정, 시술 기록 작성, 다음 예약 등록, 예약 확인 건 등록, 중복 고객 병합 검토 이동
완료 조건이전 시술 이력과 다음 시술에 필요한 염색약 번호·배합을 확인하고 필요한 후속 작업을 시작할 수 있습니다.

고객의 현재 연락처가 바뀌어도 과거 예약 확인 건의 예약 연락처 스냅샷은 변경하지 않습니다.


3.5 시술 기록 작성

항목내용
목적실제 시술 내용을 남기고 다음 시술에 필요한 정보를 보관합니다.
주요 입력시술 일시, 실제 담당 디자이너, 시술 종류, 시술 메모, 염색약 번호, 배합
선택 입력시술 사진, 다음 예약 일시
연결 정보고객, 예약 확인 건, 작성자, 작성일, 수정일
완료 조건시술 종류와 시술 메모가 저장된 시술 기록이 고객 시술 이력에 표시됩니다.

시술 완료 예약 확인 건에서 시작한 경우, 시술 기록을 저장하면 연결된 내부 할 일을 자동 완료합니다.


3.6 뜸해진 고객

항목내용
목적마지막 시술 후 달력 기준 2개월이 지났고 미래 예약이 없는 고객을 찾아 연락 관리를 합니다.
주요 사용자원장님, 디자이너
목록 항목고객명, 담당 디자이너, 마지막 시술일, 경과 기간, 다음 예약 여부, 마케팅 수신동의 상태, 최근 연락 결과
주요 행동고객 상세 보기, 담당 디자이너 필터, 연락 기록 추가
연락 기록연락 일시, 연락 채널, 연락 결과, 작성자
완료 조건연락 필요 고객을 확인하고 실제 연락 결과를 남길 수 있습니다.

연락 채널은 카카오톡 채널, 개인 카카오톡, 전화, 네이버 톡톡, 인스타그램·SNS, 매장·현장 방문 등을 선택할 수 있게 구성합니다.


3.7 자료 가져오기·중복 합치기

항목내용
목적기존 엑셀·구글시트 CSV 자료와 수첩 자료를 안전하게 고객 및 시술 이력으로 옮깁니다.
주요 사용자원장님
처리 대상고객 정보, 방문 이력, 시술 기록, 염색약 번호, 배합, 시술 메모
주요 단계파일 업로드 → 열 연결 → 형식 검증 → 오류 확인 → 중복 검토 → 반영 결과 확인
완료 조건정상 행은 고객·시술 기록으로 반영되고 오류 행은 검토 필요 상태로 남습니다.

CSV 가져오기 규칙

  • CSV 원본 파일은 운영 데이터에 바로 반영하지 않습니다.
  • 임시 저장 영역에서 열 연결과 형식 검증을 마친 뒤 반영합니다.
  • 같은 파일을 다시 처리해도 고객과 시술 기록이 중복 생성되지 않도록 가져오기 작업 식별값을 사용합니다.
  • 전화번호, 날짜, 담당자 연결 오류가 있는 행은 삭제하지 않습니다.
  • 오류 행에는 원본 행 번호와 오류 이유를 저장합니다.
  • 원장님은 오류 값을 고친 뒤 해당 행만 재처리할 수 있습니다.
  • 현재 직원 계정과 연결되지 않는 CSV 담당자 이름은 이전 담당자 텍스트로 보관합니다.

3.8 중복 고객 병합 검토

항목내용
목적같은 정규화 번호를 가진 고객을 비교하고 대표 고객을 선택해 시술 이력과 예약 확인 건을 통합합니다.
주요 사용자원장님
진입자료 가져오기·중복 합치기, 고객 목록, 고객 상세, 예약 직접 등록 중 기존 고객 검색
비교 항목이름, 정규화 번호, 최근 방문일, 시술 기록 수, 담당 디자이너, 개인정보 동의, 마케팅 수신동의, 미래 예약, 알림톡 발송 상태
완료 조건대표 고객, 충돌 처리 방법, 미래 예약 처리, 병합 사유를 모두 확정한 뒤 병합 이력이 저장됩니다.

병합 규칙

  • 병합 뒤 활성 상태로 유지되는 고객은 대표 고객입니다.
  • 기록이 이동되는 원본 고객은 통합 대상 고객입니다.
  • 통합 대상 고객은 삭제하지 않고 병합됨 상태로 보관합니다.
  • 시술 기록, 시술 사진, 예약 확인 건은 대표 고객에 연결합니다.
  • 각 기록에는 원래 고객 식별값과 병합 이력 식별값을 남깁니다.
  • 시술 기록의 작성자, 작성일, 실제 담당 디자이너는 병합으로 변경하지 않습니다.
  • 이름이 다르면 원장님이 대표 이름을 선택하고, 선택하지 않은 이름은 이전 이름·별칭으로 보관합니다.
  • 담당 디자이너가 다르면 대표 담당 디자이너는 별도로 선택합니다.
  • 마케팅 수신동의가 충돌하면 한쪽이라도 수신 거부인 경우 수신 거부를 기본 제안합니다.
  • 병합이 새로운 동의를 만들거나 기존 수신 거부를 동의로 바꾸면 안 됩니다.
  • 병합 중 오류가 나면 전체 작업을 되돌려 일부 기록만 이동하지 않게 합니다.

3.9 고객 병합 이력

항목내용
목적병합 실행 내역을 확인하고, 필요한 경우 병합 작업 단위로 취소합니다.
주요 사용자원장님
표시 항목병합 이력 식별값, 대표 고객, 통합 대상 고객, 실행자, 실행 시각, 병합 사유, 충돌 선택값, 이동한 시술 기록·예약 확인 건
주요 행동병합 상세 확인, 병합 취소
완료 조건병합 취소 시 병합 당시 이동한 기록을 원래 고객에 되돌리고 취소 이력을 남깁니다.

병합 후 새로 생성된 기록은 자동으로 분리하지 않습니다. 해당 기록은 검토 필요로 표시합니다.


3.10 직원·권한 설정

항목내용
목적직원 계정, 역할, 가게 소속, 계정 활성 상태를 관리합니다.
주요 사용자원장님
입력·관리 항목직원명, 역할, 로그인 수단, 계정 활성 상태, 담당 고객 범위, 마지막 권한 변경일
주요 행동직원 추가, 역할 변경, 계정 활성화·차단, 담당 고객 확인
완료 조건직원별 역할과 가게 소속이 저장되고 서버 권한 검사에 즉시 적용됩니다.

퇴사하거나 더 이상 접근하면 안 되는 직원 계정은 즉시 차단합니다.


3.11 알림톡 설정

항목내용
목적예약 확인과 당일 예약 안내에 사용할 발신 프로필, 알림톡 템플릿, 연결 상태를 관리합니다.
주요 사용자원장님
표시 항목발신 프로필 상태, 예약 확인 템플릿 상태, 당일 안내 템플릿 상태, API 연결 상태, 최근 발송 결과 수신 상태
완료 조건발신 프로필과 두 알림톡 템플릿이 정상 상태일 때만 자동 발송을 활성화합니다.

연결 또는 템플릿 상태가 유효하지 않으면 자동 발송을 중지하고, 오늘·내일 예약 확인 화면에 수동 연락 대상과 오류 원인을 표시합니다.


4. 핵심 데이터 구조

데이터핵심 필드주요 관계
가게가게 식별값, 가게명, 시간대고객, 직원, 예약 확인 건, 시술 기록의 범위
직원 계정이름, 역할, 로그인 수단, 활성 상태, 가게 식별값가게에 소속, 담당 디자이너가 될 수 있음
고객이름, 원본 휴대전화 번호, 정규화 번호, 화면 표시 번호, 담당 디자이너, 고객 단계, 상태가게에 소속, 예약 확인 건·시술 기록을 가짐
동의 이력동의 종류, 상태, 변경 일시, 경로, 변경자고객에 소속
예약 확인 건방문 예정 일시, 담당 디자이너, 예정 시술, 유입 접점, 고객 확인 상태, 방문 결과고객 및 예약 연락처 스냅샷에 연결
예약 연락처 스냅샷예약 당시 고객명, 예약 당시 휴대전화 번호, 검증 상태, 저장 시각예약 확인 건에 소속
운영 메시지안내 종류, 발송 예정 시각, 발송 상태, 요청 식별값, 결과 식별값예약 확인 건에 소속
시술 기록시술 일시, 실제 담당 디자이너, 시술 종류, 시술 메모, 염색약 번호, 배합, 작성자고객 및 선택적 예약 확인 건에 연결
시술 사진파일 경로, 촬영·보관 동의, 보관기간시술 기록에 소속
시술 기록 미작성 할 일예약 확인 건, 담당 디자이너, 상태, 생성 시각, 완료 시각시술 완료 예약 확인 건에 연결
뜸해진 고객 연락 기록연락 일시, 연락 채널, 연락 결과, 작성자고객에 소속
자료 가져오기 작업파일 정보, 열 연결값, 상태, 실행자, 작업 식별값오류 행 및 반영 결과를 가짐
자료 가져오기 오류 행원본 행 번호, 원본 값, 오류 이유, 재처리 상태자료 가져오기 작업에 소속
병합 이력대표 고객, 통합 대상 고객, 사유, 실행자, 실행 시각, 충돌 선택값고객·시술 기록·예약 확인 건의 연결 변경 근거
감사 기록조회·수정·내보내기·병합·권한 변경 행동, 실행자, 시각, 대상가게 및 직원 계정에 연결

5. 고객 단계 자동 분류 기준

고객 단계는 저장된 표시값만 신뢰하지 않고, 시술 완료 기록·미래 예약·방문 횟수를 기준으로 다시 계산할 수 있어야 합니다.

고객 단계분류 기준
문의 중고객은 등록됐지만 예약 확인 건과 시술 완료 기록이 없는 경우
방문 예약됨취소되지 않은 미래 예약 확인 건이 있는 경우
시술 완료시술 완료 기록은 있으나 다음 예약이 없는 경우
다음 예약 잡힘시술 완료 기록이 있고 취소되지 않은 미래 예약 확인 건이 있는 경우
재방문 고객시술 기록이 2건 이상인 고객
뜸해짐마지막 시술 후 달력 기준 2개월이 지났고 미래 예약이 없는 경우

다음 이벤트가 발생하면 고객 단계를 다시 계산합니다.

  • 예약 확인 건 생성, 수정, 취소, 노쇼, 시술 완료 처리
  • 시술 기록 저장 또는 수정
  • 다음 예약 등록 또는 변경
  • 고객 병합 및 병합 취소
  • 매일 실행되는 뜸해짐 확인 작업

고객이 여러 조건에 동시에 해당할 때의 표시 우선순위는 구현 전에 확정해야 합니다. 예를 들어 재방문 고객이면서 다음 예약이 잡힌 고객을 어떤 고객 단계로 먼저 보일지 확인이 필요합니다.


6. 알림톡 자동 발송 규칙

발송 일정

안내 종류발송 시각발송 대상
예약 확인 알림톡방문 전날 오후 6시다음 날 방문 예정이며 취소되지 않은 예약 확인 건
당일 예약 안내 알림톡방문 예정 시각 3시간 전당일 방문 예정이며 방문 시간이 지나지 않은 예약 확인 건

메시지에 포함할 정보

  • 방문 일시
  • 담당 디자이너
  • 예정 시술
  • 변경·취소 안내

예약 확인 및 당일 예약 안내는 예약 이행을 위한 운영 메시지로 관리합니다.
할인, 재방문 권유 등 광고성 내용을 포함하면 마케팅 메시지로 처리하고 마케팅 수신동의를 확인해야 합니다.

발송 제어

  • 시간 계산은 Asia/Seoul 기준입니다.
  • 같은 예약 확인 건과 같은 안내 종류는 한 번만 발송합니다.
  • 중복 방지 키는 예약 확인 건 식별값 + 안내 종류 조합으로 둡니다.
  • 예약 취소, 방문 시간 변경, 고객 병합, 번호 충돌이 생기면 발송 예정 작업을 다시 계산합니다.
  • 이미 성공한 운영 메시지는 자동 재발송하지 않습니다.
  • 발송 요청 식별값과 결과 식별값을 저장합니다.
  • 발송 결과가 중복 수신되어도 최종 상태가 잘못 바뀌지 않게 처리합니다.
  • 예약 연락처 스냅샷이 검토 필요이거나 고객 번호와 충돌하면 자동 발송을 멈추고 수동 연락 대상으로 표시합니다.

수동 연락 대체

알림톡 연결이 불가하거나 발송에 실패한 경우, 직원은 예약 확인 건에 아래 내용을 기록합니다.

  • 연락 일시
  • 연락 채널
  • 연락 결과
  • 처리한 직원

7. 시스템 구성도

그림을 그리는 중…

사용자 화면은 Next.js 웹에서 제공하고, 서버는 권한 검사와 CRM 업무 처리를 담당합니다.
고객·예약 확인 건·시술 기록은 관계형 데이터베이스에 저장하며, 시술 사진과 CSV 원본은 권한이 적용되는 비공개 파일 저장소에 둡니다. 알림톡 발송과 CSV 대량 처리는 작업 큐로 분리해 화면 응답이 늦어지지 않게 합니다.


8. 핵심 기능 흐름도: 시술 완료 후 시술 기록 작성과 다음 예약 등록

그림을 그리는 중…

디자이너가 시술 완료를 먼저 처리하면 시스템은 시술 기록이 있는지 확인합니다. 기록이 없으면 내부 할 일을 만들고, 시술 기록 저장 뒤에는 해당 할 일을 자동 완료합니다. 다음 예약을 함께 입력하면 새 예약 확인 건을 만들고 알림톡 발송 일정을 계산합니다.


9. 주요 요청 데이터 흐름

9.1 고객 휴대전화 번호 검색 및 중복 방지

  1. 직원이 휴대전화 번호를 입력합니다.
  2. 서버가 공백, 하이픈, 점, 괄호를 제거합니다.
  3. +82, 0082, 82로 시작하는 한국 휴대전화 번호는 국내 형식으로 해석해 정규화 번호를 만듭니다.
  4. 기존 011, 016, 017, 018, 019 번호는 임의로 010으로 바꾸지 않습니다.
  5. 서버는 가게 식별값 + 정규화 번호 조합으로 기존 고객을 찾습니다.
  6. 기존 고객이 있으면 새 고객을 바로 만들지 않고 기존 고객 선택 또는 병합 검토로 안내합니다.
  7. 번호가 없거나 검증에 실패하면 고객 또는 CSV 행을 삭제하지 않고 검토 필요 또는 미연결 상태로 보관합니다.

9.2 예약 확인 알림톡 발송

  1. 작업 큐가 예약 확인 건의 방문 예정 시각을 Asia/Seoul 기준으로 확인합니다.
  2. 전날 오후 6시 또는 방문 3시간 전 대상인지 계산합니다.
  3. 취소 상태, 방문 시간 경과 여부, 발신 프로필 상태, 템플릿 상태, 예약 연락처 스냅샷 검증 상태를 확인합니다.
  4. 발송 가능한 경우 카카오 알림톡 API로 메시지를 요청합니다.
  5. 요청 식별값을 운영 메시지에 저장합니다.
  6. 카카오 결과를 수신하면 성공, 실패, 처리 중 상태를 예약 확인 건에 반영합니다.
  7. 실패 또는 연결 불가 시 수동 연락 대상 목록에 표시합니다.

9.3 CSV 자료 가져오기

  1. 원장님이 CSV 파일을 업로드합니다.
  2. 파일은 비공개 파일 저장소와 임시 저장 영역에 보관합니다.
  3. 원장님이 원본 열을 고객·시술 기록 항목에 연결합니다.
  4. 서버가 전화번호, 날짜, 담당자 값을 검증합니다.
  5. 정상 행은 기존 고객 연결 또는 새 고객 생성 후보로 준비합니다.
  6. 정규화 번호가 같은 고객은 병합 검토 대상으로 묶습니다.
  7. 원장님이 대표 고객, 담당 디자이너, 동의 상태, 미래 예약 처리 방식을 확정합니다.
  8. 서버는 고객 생성·기록 연결·병합 이력 생성을 하나의 작업으로 처리합니다.
  9. 오류 행은 원본 행 번호와 오류 이유를 저장하고 재처리할 수 있게 남깁니다.

10. 기술 구성

영역선택선택 이유운영 시 주의점
웹 화면Next.js로그인, 목록, 상세, 설정 화면을 하나의 웹 서비스로 구현하기 적합합니다.서버 렌더링 화면에도 권한 검사를 적용합니다.
서버 기능Next.js 서버 라우트 또는 별도 서버 모듈초기 규모에서 화면과 서버 기능을 단순하게 함께 운영할 수 있습니다.권한 검사를 화면이 아닌 서버 요청마다 수행합니다.
데이터베이스PostgreSQL 등 관계형 데이터베이스고객·예약 확인 건·시술 기록·병합 이력의 관계와 트랜잭션 처리에 적합합니다.병합, 병합 취소, 예약 변경은 트랜잭션으로 처리합니다.
파일 저장소접근 제어가 되는 비공개 객체 저장소시술 사진과 CSV 원본을 분리 보관할 수 있습니다.파일 주소를 공개하지 않고, 다운로드 시 가게·담당 고객 권한을 확인합니다.
비동기 작업작업 큐 및 스케줄러알림톡 발송, 결과 수신, CSV 처리, 고객 단계 재계산을 안정적으로 처리합니다.작업 재시도 시 중복 발송·중복 생성 방지 키가 필요합니다.
외부 메시지카카오 알림톡 API예약 확인 및 당일 예약 안내를 자동 발송합니다.발신 프로필, 알림톡 템플릿, API 사용 조건을 먼저 확인해야 합니다.

11. 보안·기록·보관 구현 기준

접근 제어

  • 모든 고객, 예약 확인 건, 시술 기록, 사진, CSV 원본, 병합 이력은 가게 범위를 먼저 검사합니다.
  • 디자이너의 고객 상세 조회와 시술 사진 접근은 담당 고객 범위를 함께 검사합니다.
  • 화면에서 버튼을 숨기는 것만으로 권한을 처리하지 않습니다.
  • 서버의 조회, 생성, 수정, 삭제, 내보내기 요청마다 권한을 검사합니다.

감사 기록

아래 행동은 감사 기록으로 남깁니다.

  • 고객 조회
  • 고객 정보 수정
  • 시술 기록 생성·수정
  • 예약 확인 건 생성·수정·방문 결과 변경
  • CSV 가져오기
  • 고객 병합 및 병합 취소
  • 직원 역할·권한 변경
  • 파일 다운로드
  • 고객 데이터 내보내기

동의 및 사진 관리

  • 개인정보 동의와 마케팅 수신동의는 분리해 저장합니다.
  • 현재 상태뿐 아니라 변경 일시, 경로, 변경자를 이력으로 보관합니다.
  • 기존 자료에서 동의 사실을 확인할 수 없으면 동의 미확인으로 표시합니다.
  • 시술 사진은 선택 첨부입니다.
  • 시술 사진은 촬영·보관 동의와 보관기간을 별도로 관리합니다.
  • 피부 상태, 알레르기 같은 민감한 항목은 기본 입력 항목으로 만들지 않습니다.

보유기간 관리

  • 고객의 보유기간 만료 예정 여부를 확인할 수 있어야 합니다.
  • 삭제 요청 또는 보유기간 경과 시 고객 정보를 삭제하거나 알아볼 수 없게 처리하는 작업 흐름이 필요합니다.
  • 실제 보유기간 값과 삭제·비식별 처리 기준은 온헤어 운영 기준으로 확정이 필요합니다.

12. 첫 개발 완료 기준

첫 개발은 아래 항목이 모두 동작하면 완료입니다.

  1. 원장님이 가게와 직원 계정을 관리하고 원장님·디자이너 권한을 적용할 수 있습니다.
  2. 고객을 휴대전화 번호로 검색하고, 같은 가게 안의 같은 정규화 번호 고객을 찾을 수 있습니다.
  3. 고객 상세에서 이전 시술 이력, 염색약 번호, 배합, 다음 예약을 확인할 수 있습니다.
  4. 디자이너가 시술 기록을 작성하고 필요 시 시술 사진과 다음 예약을 등록할 수 있습니다.
  5. 오늘·내일 예약 확인 건을 직접 등록하고 방문 결과를 시술 완료, 노쇼, 고객 취소, 매장 취소로 기록할 수 있습니다.
  6. 전날 오후 6시와 방문 3시간 전에 알림톡 발송 작업이 실행되고 결과가 예약 확인 건에 남습니다.
  7. 알림톡 발송 불가 또는 실패 시 수동 연락 대상과 연락 결과를 관리할 수 있습니다.
  8. 시술 완료인데 시술 기록이 없으면 담당 디자이너에게 내부 할 일이 표시되고 기록 저장 시 완료됩니다.
  9. 마지막 시술 후 달력 기준 2개월이 지나고 미래 예약이 없는 고객이 뜸해진 고객 목록에 표시됩니다.
  10. 뜸해진 고객별로 연락 일시, 연락 채널, 연락 결과를 저장할 수 있습니다.
  11. CSV 자료를 임시 검증 후 가져오고 오류 행을 보관·수정·재처리할 수 있습니다.
  12. 같은 번호의 고객을 대표 고객과 통합 대상 고객 구조로 병합하고, 병합 이력 확인 및 병합 취소를 할 수 있습니다.
  13. 고객 단계는 예약 확인 건과 시술 기록 변화에 따라 다시 계산됩니다.
시스템 구성 — 동네 헤어샵의 시술 이력과 예약 확인 | Prometheon