방문예약시스템방문예약

사용 시나리오

네 사람이 하나의 방문을 각자의 자리에서 겪는 사흘입니다. 지금 동작하는 화면과 경로를 그대로 따라갑니다. 무엇을 어떻게 하는지 찾아보시려면 매뉴얼을, 같은 흐름을 실제 화면으로 넘겨 보시려면 둘러보기를 보세요.

배경

고객사 오이사공, 사업장 판교 R&D센터, 방문 유형 협력사 작업. 호스트 1단계 승인, 승인 처리 기한 24시간(초과하면 대체 승인자에게 이관), 증표는 QR, 전자서명 요구, 동반자는 각자 등록(상한 4명), 최대 체류시간 8시간, 방문 2시간 전 안내, 일정 변경 2회·전날 18시 마감, 보안요원 운영.

8/24 관리자가 설정을 손본다 → 8/25 호스트가 부르고 방문자가 신청하고 승인이 난다 → 8/26 현장에서 입실하고 퇴실한다.

사흘의 흐름 한눈에 보기

  1. 8/24 (월) · 관리자판을 깔다방문 유형·신청서·동의문·계정을 미리 갖춘다
  2. 8/25 (화) · 호스트부르고 승인하다초대 링크를 보내고, 올라온 신청을 승인한다
  3. 8/25 (화) · 방문자계정 없이 신청하다링크로 신청하고 동반자를 적고 방문증을 받는다
  4. 8/26 (수) · 보안요원입구에서QR을 확인하고 입실, 저녁에 퇴실까지 맞춘다
  5. 변형 넷잘 안 풀리는 날현장 등록·예외 요청·일정 변경·인터넷 끊김

8/24 (월) · 고객사 관리자 김서연

판을 깔다

이번 분기부터 협력사 작업 방문이 늘었다. 승인이 며칠씩 묵는 일이 있어 기한을 걸고, 반입 장비를 미리 받아 두기로 한다. 여기서 정해 두는 값이 나머지 세 사람의 화면을 결정한다.

1방문 유형 설정을 손본다/admin/settings

협력사 작업 유형을 열어 승인 처리 기한 24시간, 기한 초과 시 대체 승인자에게 이관, 증표 QR, 동반 인원 상한 4명으로 맞춘다. 이관을 고르자 "대체 승인자를 지정해 둔 호스트가 없으면 만료됩니다"라는 경고가 뜬다. 막지는 않는다 — 호스트가 나중에 지정하면 그때부터 동작한다는 뜻이다.

매뉴얼 · 사업장과 방문 유형 설정 →

여기서 정한 값이 방문자·호스트·보안요원 세 화면을 모두 바꿉니다.

이때 시스템이 하는 일

  • 바뀐 값은 이후 접수되는 신청부터 적용된다. 이미 들어와 있는 건의 규칙은 그대로다.
  • 누가 무엇을 바꿨는지 감사 기록에 남는다.

2신청서에 「반입 장비」 칸을 만든다/admin/forms

초안 만들기로 지금 양식을 복사한 뒤 「반입 장비」 텍스트 칸을 넣는다. 정리하는 김에 이메일 칸을 꺼 보려다 막힌다 —이메일은 승인 결과 통지·본인 확인·중복 판정에 쓰이므로 끌 수 없다고 화면이 이유까지 알려 준다. 미리보기로 방문자 화면을 확인하고 게시한다.

매뉴얼 · 신청 양식 편집 →

이때 시스템이 하는 일

  • 이전 양식 버전은 내려가고, 이미 접수된 신청은 제출 당시 양식을 그대로 가리킨다.
  • 새 칸은 그 뒤로 열리는 신청 화면에 바로 나타난다.

3보안서약 문구를 새 버전으로 올린다/admin/consents

법무에서 문장 하나를 고쳐 왔다. 게시된 문안을 열어 수정하고 저장하니 버전이 v2로 올라간다. 지난달 방문자들이 서명한 기록은 여전히 v1을 가리키고, 관리자 상세에는 "서명은 당시 문구 기준"으로 표시된다.

매뉴얼 · 동의문과 서명 문구 →

이때 시스템이 하는 일

  • 게시본을 고치면 v2가 새로 생기고 v1은 내려간다. 이미 받아 둔 서명은 v1을 그대로 가리킨다.
  • 서명 기록에는 그때 문구의 원문 해시가 함께 박혀 있어, 나중에 문구가 바뀌어도 무엇에 서명했는지가 남는다.

4새 보안요원 계정을 만든다/admin/accounts

이번 주부터 합류하는 오세훈의 계정을 만들며 담당 사업장을 판교 R&D센터로 지정한다. 비밀번호를 대신 정해 주는 칸은 없다 — 초대 링크만 나간다.

매뉴얼 · 계정 관리 →

이때 시스템이 하는 일

  • 초대 메일이 나가고 링크는 72시간 유효하다. 비밀번호는 본인이 정한다.
  • 담당 사업장이 없으면 입구 화면 자체가 열리지 않는다.

5사흘 뒤, 방문 당일 아침/admin

현황 화면에서 오늘 예정 12건, 입실 3건, 미퇴실 0건을 확인한다. 박지훈 일행 세 건이 예정 묶음에 나란히 있다. 입실·퇴실 단추는 그의 화면에 없다 — 그건 입구의 오세훈이 한다. 김서연이 할 수 있는 건 퇴실이 안 된 채 남은 건을 종결하는 것뿐이다.

매뉴얼 · 현황과 방문 목록 →

8/25 (화) · 호스트 정민아 책임

부르고, 승인하고, 자리를 비우다

내일 설비 점검이 잡혀 있다. 협력사 엔지니어를 부르고, 신청이 오면 승인하고, 다음 날 오전 출장에 대비해 대리 승인자를 세워 둔다.

1초대 링크를 만들어 보낸다/host/invite

판교 R&D센터 · 협력사 작업으로 유효기간 3일 · 1회용 링크를 만들고 메모에 "8/26 설비 점검"이라 적는다.문자로 보내기를 누르니 문자 앱이 열린다 — 시스템이 대신 보내 주지는 않아서, 보내기는 직접 누른다.

매뉴얼 · 방문자를 부르는 두 가지 방법 →

이때 시스템이 하는 일

  • 링크에 호스트가 박혀 있어, 방문자는 호스트 코드를 묻지 않고 바로 신청서를 연다.
  • 토큰은 해시로만 저장된다. 회수하면 그 링크는 즉시 닫힌다.

2승인 요청이 온다/host

한 시간 뒤 메일이 온다. 처리할 건 목록에 박지훈의 신청이 올라와 있고, 같은 묶음의 동료 두 명 건이 뒤이어 들어온다. 세 건은 각각 독립된 방문이라 따로 승인해야 한다.

이때 시스템이 하는 일

  • 승인 요청 메일이 나가고, 그 순간부터 24시간 기한이 돌기 시작한다.

3첨부를 열어 보고 승인한다/host/[id]

상세에서 방문 목적과 반입 장비, 서명 여부를 확인한다. 첨부한 안전교육 이수증은 내려받기 링크로 열리는데 5분이면 만료되는 주소라 새로 눌러야 한다. 내용이 맞아 승인을 누른다. 동료 두 명 건도 같은 방식으로 처리한다.

매뉴얼 · 승인·반려·보완 요청 →

이때 시스템이 하는 일

  • 마지막 승인 단계가 끝나므로 방문증(QR)이 발급되고 방문자에게 메일이 나간다.
  • 두 사람이 동시에 눌러도 한 번만 반영되고, 나중 사람에게는 이미 처리되었다고 알려 준다.

4내일 오전 출장에 대비한다/host

맨 위 상자에서 부재 기간 8/26 오전과 대리 승인자 이과장을 지정한다. 기간 없이 대리 승인자만 세워 둘 수도 있다는 안내가 보인다 — 그렇게 두면 평소에는 아무 일도 없다가 승인 기한을 넘겼을 때만 넘어간다. 반대로 기간만 넣고 사람을 비우면 저장이 거절된다. 넘겨받을 사람이 없으면 승인이 그대로 멈추기 때문이다.

매뉴얼 · 부재와 대리 승인자 →

이때 시스템이 하는 일

  • 부재 기간에 새로 접수되는 방문의 승인 요청이 대리 승인자에게 간다. 이미 접수된 건은 그대로 내 목록에 남는다.
  • 방문 건의 호스트 표기는 바뀌지 않는다. 바뀌는 것은 승인 단계의 담당자뿐이다.
만약 정민아가 승인을 잊었다면기한의 절반이 지난 12시간째에 임박 알림이 한 번 간다(두 번 오지 않는다). 24시간을 넘기면 이 방문 유형은 이관으로 설정되어 있으므로 이과장에게 넘어가고, 지정해 둔 사람이 없었다면 신청은 만료된다.

매뉴얼 · 승인 기한 →

8/25 (화) · 방문자 박지훈

계정 없이, 링크 하나로

문자로 받은 링크를 연다. 5월에도 같은 곳을 다녀갔고 그때 재사용 비밀번호를 정해 뒀다. 이번에는 동료 두 명과 함께 간다.

1링크를 열자 신청서가 바로 열린다/apply/[token]

호스트가 보낸 초대 링크라 호스트 코드를 묻지 않는다. 화면 위에 오이사공 로고와 "정민아 책임"이 이미 적혀 있다. 공개 신청 링크로 왔다면 이 자리에서 8자리 호스트 코드를 먼저 넣어야 했을 것이다.

매뉴얼 · 신청을 시작하는 두 가지 길 →

2이전 정보를 불러온다

이전 정보 불러오기에 이메일과 숫자 네 자리 비밀번호를 넣는다. 이름·휴대전화·소속이 채워지고 각 칸에 불러옴 표시가 붙는다. 소속이 바뀌어 그 칸만 고쳐 쓴다.

이때 시스템이 하는 일

  • 불러오는 값은 이름·휴대전화·소속 셋뿐이다. 방문 일시와 목적은 매번 달라지므로 불러오지 않는다.
  • 비밀번호를 5회 틀리면 30분 잠긴다. 등록되지 않은 주소를 넣어도 같은 안내가 나와, 이 화면으로 남의 방문 여부를 알아낼 수 없다.

3신청서를 채운다

시작 8/26 14:00, 종료 예정 18:00을 넣는다. 8시간을 넘겨 보려 하니 최대 체류시간에 걸려 거절된다. 김서연이 어제 만든 반입 장비 칸에 "노트북 1대"라 적고, 안전교육 이수증 PDF를 올린다. 확장자만 바꾼 파일은 걸린다는 안내가 붙어 있다. 동의문과 금지사항을 펼쳐 확인하고, 마지막으로 화면에 손가락으로 보안서약 서명을 한다. 서명은 제출 전까지 몇 번이든 다시 할 수 있다.

매뉴얼 · 신청서 작성 →

이때 시스템이 하는 일

  • 작성 중인 내용은 이 브라우저에만 24시간 남는다. 서버로는 아무것도 가지 않는다.
  • 동의 체크와 서명, 첨부는 되살리지 않는다 — 확인했다는 기록의 근거가 흐려지지 않게.

4동료 두 명을 적고 제출한다

동반자 칸에 동료 두 명의 연락처를 넣는다. 제3자의 정보를 넘기는 것이라 고지 확인이 필수다. 제출하자 예약번호가 나오고, 동료별 개별 등록 링크가 뜬다. 휴대전화만 적은 한 명에게는 링크를 복사해 직접 보낸다.
주의동료들은 각자 자기 신청을 내고 각자 승인받는다. 박지훈의 승인에 얹어 함께 들어갈 수 없다. 대신 한 명이 반려되어도 나머지 둘의 방문은 그대로다.

매뉴얼 · 여러 명이 함께 갈 때 →

이때 시스템이 하는 일

  • 동반자마다 독립된 등록 링크가 만들어진다. 이메일을 적은 사람에게는 시스템이 메일을 보낸다.
  • 동반자의 연락처는 그 사람이 등록을 마치면 그 자리에서 파기된다.

5승인 메일과 방문증/pass/[token]

한 시간 뒤 승인 메일이 온다. 링크를 누르면 QR과 예약번호, 방문 일시, 사업장 안내가 담긴 방문증이 열린다. 휴대전화에 그대로 열어 두면 된다.

이때 시스템이 하는 일

  • 증표는 발급된 값이 서버에 저장되어 대조된다. 취소·반려·일정 변경이 생기면 그 자리에서 무효가 된다.

6전날 저녁, 확인해 본다/status

이메일과 재사용 비밀번호로 상태를 열어 세 건이 모두 승인완료인 것을 본다. 여기서 일정 변경 요청이나 취소도 할 수 있다. 재사용 비밀번호를 정하지 않았다면 이 화면은 열리지 않고, 메일로 온 안내만 쓰게 된다.

매뉴얼 · 내 신청 확인하기 →

7당일 정오, 안내 메일

방문 2시간 전 안내가 도착한다. 관리자가 방문 유형에 "2시간 전"으로 넣어 둔 값이 여기서 나타난다. 찾아오는 길과 사업장 안내문이 함께 담겨 있다.

8/26 (수) · 보안요원 오세훈

입구에서

태블릿 한 대로 하루를 돈다. 오늘 이 사업장의 방문 건만 보이고, 다른 사업장 건은 검색해도 나오지 않는다.

1출근해서 로그인한다/guard/login

공용 태블릿이지만 계정은 본인 것으로 들어간다. 누가 입실 처리를 했는지가 기록에 남아야 하기 때문이다. 김서연이 담당 사업장을 지정해 둔 덕에 입구 화면이 바로 열린다.

매뉴얼 · 로그인과 담당 사업장 →

이때 시스템이 하는 일

  • 입구 계정은 15분 조작이 없으면 자동 로그아웃된다. 로그아웃하면 단말에 담아 둔 방문자 정보도 함께 지워진다.

2오늘 목록을 훑는다/gate

화면은 미퇴실 · 입실 · 예정 · 퇴실·종료 네 묶음이다. 아침에는 예정만 길다. 박지훈 일행 세 건이 14시로 잡혀 있다.

매뉴얼 · 입구 화면 보는 법 →

314시, 박지훈이 도착한다/gate/[id]

휴대전화의 QR을 카메라에 대자 방문 건이 바로 열린다. 이름·소속·방문 일시·호스트를 눈으로 맞춰 보고,징구 항목(신분증 확인, 보안서약 서명 확인)과 반입 제한을 하나씩 체크한 뒤 입실 처리를 누른다.

매뉴얼 · 확인과 입실 처리 →

예외 요청은 확인 항목 아래에 있습니다.

이때 시스템이 하는 일

  • 남은 확인 항목이 하나라도 있으면 입실 처리가 되지 않는다.
  • 입실 시각과 처리한 사람이 현장 기록에 남는다.

4동료 한 명의 QR이 읽히지 않는다

화면이 깨졌는지 카메라가 인식하지 못한다. 아래 검색칸에 연락처 뒷 4자리를 넣자 바로 나온다. QR이 안 되어도 직접 찾기만으로 끝까지 처리할 수 있다 — 방문자를 돌려보낼 일이 아니다.

매뉴얼 · 방문자 찾기 →

518시 30분, 미퇴실 묶음이 붉게 뜬다/gate

박지훈 일행이 예정보다 늦어져 미퇴실 묶음에 올라온다. 잠시 뒤 세 사람이 나오며 인사를 해 퇴실 처리를 누른다. 만약 그냥 갔다면 밤중에 자동 종료로 닫혔을 것이고, 그건 정상 퇴실로 집계되지 않는다.

매뉴얼 · 퇴실 처리와 종결 →

이때 시스템이 하는 일

  • 종료 예정 + 사업장 유예시간이 지나면 미퇴실로 계산된다. 미퇴실은 따로 저장되는 상태가 아니라 그때그때 계산되는 조건이다.
  • 자동 종료와 관리자 종료는 퇴실이 아니어서 퇴실 시각을 만들지 않는다.

6근무를 마치며 로그아웃한다

다음 근무자가 자기 계정으로 들어온다. 로그아웃과 함께 단말에 남아 있던 오늘 자료도 지워진다.

변형 · 네 가지

잘 안 풀리는 날

위 이야기는 순조롭게 흘러간 하루입니다. 실제로 자주 생기는 네 가지 어긋남을, 관련된 두 사람의 시점을 오가며 봅니다.

1예약 없이 온 사람/gate/new

오세훈 — 검색해도 나오지 않는다. "오늘 이 사업장에서 찾은 예약이 없습니다."예약 없이 오신 분 등록으로 들어가 방문자 정보와 시각을 넣고, 만나실 분의 호스트 코드를 받아 적는다. 동의문 확인과 서명은 태블릿을 방문자에게 건네 본인이 하게 한다. 같은 분의 신청이 이미 있다는 안내가 떠서 사유를 적고 넘어간다.
정민아 — 승인 요청 메일을 받고 바로 승인한다. 오세훈이 화면을 새로고침하니 입실 처리 단추가 살아난다.

매뉴얼 · 예약 없이 오신 분 →

이때 시스템이 하는 일

  • 현장 등록도 방문자가 낸 신청과 같은 경로를 탄다. 등록만으로는 입실되지 않는다.
  • 중복을 넘긴 사실은 사유와 함께 기록에 남는다.

2신분증을 두고 왔다/admin/exceptions

오세훈 — 징구 항목의 신분증 확인을 채울 수 없다. 사유를 적어 예외 요청을 올린다. 스스로 허용할 수는 없다.
김서연 — 예외 요청 화면에서 사유를 보고 허용한다. 나중에 통계 탭을 열어 보니 "신분증 미소지"가 이번 달에만 아홉 번이다. 같은 사유가 묶여 보이니 정책을 손볼 자리라는 게 드러난다.

매뉴얼 · 예외 요청 처리와 통계 →

요청 사유와 처리 사유는 방문 상세에 함께 남습니다.

이때 시스템이 하는 일

  • 허용된 항목은 체크 없이 통과하고, 요청 사유와 처리 사유가 모두 기록에 남는다.

3전날 저녁, 일정이 밀렸다/status/reschedule/[id]

박지훈 — 작업이 하루 밀렸다. 상태 조회에서 일정 변경 요청에 사유를 적어 보낸다. 마감은 전날 18시라 아슬아슬하게 걸렸다. 묶음이라 동료 두 명도 함께 옮겨진다는 안내가 붙는다.
정민아 — 변경 전 일시가 취소선으로, 변경 후가 굵게 표시된 화면에서 승인한다. 곧바로 세 사람에게 새 방문증이 나가고, 함께 갈 수 없게 된 한 명은 안내 메일에서 묶음에서 빠지기를 골라 자기 일정만 남긴다.

매뉴얼 · 일정을 바꿔야 할 때 →

이때 시스템이 하는 일

  • 요청만으로는 아무것도 바뀌지 않는다 — 일시도 상태도 증표도 그대로다.
  • 실제로 옮겨지면 승인대기로 돌아가고 이전 증표는 무효가 된다. 재승인은 새 회차로 남아 이력이 지워지지 않는다.

4입구 인터넷이 끊겼다/gate

오세훈 — 화면 위에 오프라인 띠가 뜬다. 단말 저장분에서 찾기로 방문자를 찾아 확인 항목을 체크하고 입실 처리를 계속한다. 예외 요청과 현장 등록만 막히고, 왜 막혔는지가 그 자리에 적혀 있다. 20분 뒤 연결이 돌아오자 쌓아 둔 처리가 자동으로 올라간다.
주의이 동안 새로고침을 누르면 화면이 뜨지 않는다. 끊긴 사이에는 열려 있는 화면을 그대로 써야 한다 — 오세훈이 반드시 알고 있어야 하는 한 가지다.

매뉴얼 · 인터넷이 끊겼을 때 →

이때 시스템이 하는 일

  • 단말에는 최소 정보만 담긴다 — 연락처는 뒷 4자리뿐이고 이메일과 전체 번호는 없다.
  • 연결이 돌아오면 서버가 차단 항목을 다시 판정한다. 오프라인이라고 봐주지 않는다.

이 시나리오를 실제로 태운 결과 보기 →

인물과 고객사는 설명을 위해 지어낸 것입니다. 설정값(승인 기한·증표·체류시간 등)은 고객사와 사업장마다 다르게 정할 수 있습니다. 매뉴얼