귀사 배송의 업무를 함께 살펴보고 무엇부터 자동화할지 알려 드립니다
지금 배송기사가 작업을 어떻게 받는지, 상태는 누가 관리하는지, 전달은 무엇으로 확인하는지, 여러분의 주문이 이미 어떤 프로그램에 들어 있는지.
배송기사가 둘일 때는 배송이 전화와 메신저로 굴러갑니다: 주소는 메신저로 가고, 방문 순서는 말로 정해지며, «주문이 어디 있나»에는 배송기사와 먼저 통화한 사람이 답합니다. 배송이 늘면 그 방식은 멈춥니다 — 작업이 사라지고, 상태가 현실보다 뒤처지며, «가져왔나 아닌가» 다툼을 풀 근거가 없습니다. 배송기사 프로그램은 이 방식을 걷어냅니다: 작업이 담당자의 앱으로 오고, 상태는 싣고 다니는 사람이 동작하는 순간에 표시하며, 전달 사실이 시각과 작성자와 함께 기록됩니다. 아래에는 주문의 배정에서 근무조의 마감까지가 어떻게 이뤄지는지 정리되어 있습니다.
배송기사를 위한 프로그램 — 담당자의 업무 도구입니다: 배송기사에게 근무조의 작업을 가져다주고, 주소와 주문 구성을 보여 주고, 지점에서 지점으로 이끌며, 각 지점에서 무슨 일이 있었는지 기록합니다. 회사 쪽에서 보면 이것은 배송 관리입니다: 관제 담당이 근무조에 전화를 돌리지 않고도 누가 어디에 있고 무엇이 끝났는지 봅니다.
차이는 한 가지 예로 드러납니다. 프로그램이 없으면 배송기사는 주소를 메신저로 받고, 출입구를 확인하려고 고객에게 전화하며, 저녁에 관제 담당에게 무엇을 배송했는지 불러 줍니다. 관제 담당이 그것을 표에 옮깁니다 — 기억한다면, 그리고 배송기사가 헷갈리지 않았다면. 하루가 끝날 무렵 특정 주문의 정확한 전달 시각을 아무도 말하지 못합니다.
프로그램에서는 같은 것이 모두 기록입니다. 배송에는 카드가 있고, 카드에는 주소, 구성, 시간대, 현재 상태가 있으며, 변화마다 시각과 작성자가 있습니다. «주문이 어디 있고 무슨 일이 있었나»에 대한 답은 몇 초면 나오고 배송기사가 전화를 받았는지에 좌우되지 않습니다.
예. 아침에 창고에서 주문을 모아 배송기사에게 배정했습니다 — 주소와 배송 시간대와 함께 그의 앱에 작업이 나타났습니다. 배송기사가 화물을 받아 수령을 표시하고 지점을 돌며 지점마다 상태를 바꿨습니다. 세 번째 주소에서 고객이 집에 없었고 — 배송기사가 사유를 적자 배송은 «사라진» 것이 아니라 관제 담당의 확인 대기로 들어갔습니다. 저녁에 매니저는 배송기사의 기억이 아니라 시스템의 기록을 보고 고객에게 답했습니다.
배송 자동화 는 세 가지 질문의 답이 관제 담당의 머릿속에 더는 들어가지 않는 지점에서 시작합니다: 이 주문이 누구에게 배정됐는가, 지금 어떤 상태인가, 전달됐다는 것은 무엇으로 확인되는가.
이것은 프로그램 화면의 목록이 아니라 배송 하나의 여정입니다. 전환은 하나하나 사람이, 동작하는 순간에 수행합니다: 배정은 관제 담당이, 수령과 전달의 표시는 배송기사가 합니다. 그래서 시스템은 계획한 사람의 의도가 아니라 배송의 상태를 보여 줍니다.

프로그램은 주문을 나르지도, 배송기사를 대신하지도 않습니다. 동작을 둘러싼 수작업을 걷어낼 뿐입니다: 전화 없이 작업을 가져다주고, 메모가 붙은 주소를 보관하고, 결과 없이 배송을 닫지 못하게 하며, 모든 변화를 기록합니다. 배송을 미룰지 주문을 되돌릴지에 대한 결정은 사람이 내립니다 — 다만 구두 합의가 아니라 기록을 보고 내립니다.
마찬가지로 시스템이 배송기사를 스스로 «보는» 것은 아닙니다: 그가 동작으로 표시한 것만 압니다. 그래서 데이터의 질은 기능의 수가 아니라 사건이 일어나는 순간에 표시가 남는지에 달려 있습니다.
가장 먼저 두 가지를 합니다: 상태의 유한한 목록과 배송마다의 필수 결과. 이유는 단순합니다: «진행 중»을 저마다 다르게 이해하고 사유 없이 닫힌 배송이 성공으로 잡히는 동안에는, 앱에 화면이 몇 개든 리포트를 만들 재료가 없습니다.
아래는 기능 목록이 아니라 배송을 자동화하는 여섯 가지 이유입니다. 하나하나가 같은 방식으로 서술됩니다: 프로그램이 없으면 무슨 일이 벌어지고, 있으면 무엇이 달라지는가.
프로그램이 없으면 주소가 메신저로 오고, 일부는 전화로 말로, 일부는 표의 목록으로 옵니다. 배송기사는 자기 하루를 세 출처에서 모으다가 무언가를 빠뜨립니다. 프로그램에서 작업은 번호와 담당자가 붙은 기록입니다: 진행 중이거나 결과와 함께 닫혔거나 둘 중 하나입니다.
관제 담당이 전화로 들은 말로 상태를 관리하는 동안 상태는 현실보다 한 시간 뒤처지고 그의 근무조 절반을 잡아먹습니다. 배송기사가 동작하는 순간에 하는 표시가 실제 시각을 줍니다: 언제 받았고, 언제 도착했고, 언제 전달했는지.
출입구, 층, 공동현관, «안뜰 쪽 입구»가 지난번에 그곳에 갔던 사람의 기억이 아니라 배송 카드에 남아 있습니다. 새 배송기사도 고객에게 두 번, 관제 담당에게 한 번 전화하지 않고 첫 번에 그 주소를 끝냅니다.
누가 주문을 받았고, 언제, 무슨 근거로 받았는지는 기억이 아니라 시스템의 기록입니다. 확인 방식은 프로젝트에 맞춰 고르되 결과는 하나입니다: «가져왔나 아닌가» 다툼이 매니저와 배송기사 사이의 조사가 아니라 카드를 여는 것으로 풀립니다.
관제 담당은 한 화면을 봅니다: 누가 경로에 있고, 몇 개 지점이 닫혔고, 어느 배송이 시간대보다 늦는지. «내 주문이 어디 있나»가 세 사람의 일거리이기를 그치고, 매니저가 직접 고객에게 답합니다.
모든 변화에 작성자와 시각이 서명처럼 붙습니다. 이는 배송기사 감시가 아니라 특정 사례를 확인할 수 있게 하는 것입니다: 배송이 어느 단계에서 멈췄고 왜인지. 덤으로 업무량도 보입니다 — 근무조 동안 누가 몇 개 지점을 닫았는지.
시스템은 모듈로 조립됩니다. 모든 모듈이 모든 회사에 필요하지는 않습니다: 배송기사가 셋이고 주소가 뻔한 업체에는 열 가지 시나리오의 예외 처리가 필요 없고, 음식 배달은 시간대와 고객 알림 없이 굴러가지 않습니다. 구성은 과제가 정하되, 모듈은 나중에 옆에 덧붙이는 것이 아니라 처음부터 서로 맞물려 있습니다.

배송기사의 하루를 한 화면에: 근무조에 무엇이 배정됐고, 어떤 순서이고, 무엇이 이미 닫혔고 무엇이 남았는지. 프로그램의 입구이며, 배송기사는 여기에서 하루를 시작하고 지점마다 이곳으로 돌아옵니다.
주문 하나에 대한 모든 것: 구성과 개수, 메모가 붙은 주소, 시간대, 수령인, 결제, 현재 상태. 작업을 수행하는 데 필요한 만큼만입니다 — 회사의 목록과 리포트는 없습니다.
근무조의 주소를 지도와 목록으로, 방문 순서, 현재 지점에서 다음 지점으로의 이동. 경로도 작업과 마찬가지로 회계 객체입니다: 날짜, 담당자, 하루 동안의 변경 이력이 있습니다.
상태의 유한한 집합과 그 사이의 전환 규칙. 배송기사는 긴 목록에서 고르는 것이 아니라 한 번의 동작으로 상태를 바꿉니다: 배정됨, 수령함, 이동 중, 도착, 배송함.
지점에서의 결과 기록: 상태 변경과 프로젝트에 맞춰 고른 확인 방식. 결과 없이는 작업이 닫히지 않습니다 — «아마 배송했을 것»은 배송의 상태가 아닙니다.
창고나 출발 지점에서의 주문 수령 표시. 이때부터 화물의 책임은 배송기사에게 있고, 시스템에서는 주문이 이미 창고가 아니라 이동 중임이 보입니다.
배송기사와 수령인에게 가는 메시지: 새 주문 배정됨, 작업 변경됨, 시간대가 가까워짐, 배송 취소됨. 발송 채널은 도입 단계에서 고르고 연동으로 붙입니다.
배송기사가 하루, 한 주, 한 달 동안 무엇을 했는지: 닫은 배송, 수행 시간, 문제가 있던 지점. 같은 기록에서 그의 처리량도 모입니다 — 이를 위한 별도의 관리가 필요하지 않습니다.
휴대폰에서 번호를 찾지 않고 작업 카드에서 바로 관제 담당에게 문의하기. 관제 담당은 어느 배송에 대한 질문인지 보고 그것에 답합니다, 어느 주소 이야기인지 다시 묻지 않고.
지하실, 엘리베이터, 단독주택 지역처럼 전파가 닿지 않는 곳에서 한 표시는 기기에 저장됐다가 연결이 되면 마저 전송됩니다. 다시 보내도 두 번째 배송이 생기지 않습니다.
회사의 업무 공간: 근무 중인 배송기사, 배정된 주문, 상태, 완료된 배송과 문제가 있는 배송, 직원의 업무량. 브라우저에서 열리며 설치할 것이 없습니다.
시스템의 외부 인터페이스: 배송 만들기, 담당자 배정, 상태 조회, 확인 자료와 로그 가져오기. 이를 통해 온라인 상점, 창고, 물류, 회계 시스템이 연결됩니다.
배송이 만들어지면 주문은 특정 배송기사에게 배정됩니다. 배정은 대화방의 메시지가 아니라 작업입니다: 배송에 담당자가 생기고, 담당자에게는 번호와 발행 시각과 현재 상태를 가진 작업이 생깁니다.
작업은 전화나 주소 전달 없이 곧바로 배송기사의 앱으로 옵니다. 배송기사는 목록을 열어 자기 근무조를 통째로 봅니다: 몇 개 지점이 배정됐고, 무엇이 이미 닫혔고, 다음 배송은 무엇인지.
누가 배정하는가. 보통 관제 담당이 손으로, 또는 회사가 정한 규칙으로 합니다: 도시의 구역별로, 주문 유형별로, 배송기사의 여유 시간별로. 자동 배분은 구현할 수 있습니다 특정 업체의 프로세스에 맞춰서; 준비된 기능으로 미리 선언하지는 않습니다 — 배분 규칙은 회사마다 다르고, 그것을 대신 지어낼 수는 없습니다.
배송기사가 작업으로 할 수 있는 일:
작업에 있어서는 안 되는 것은 군더더기입니다. 배송기사에게는 주문의 원가도, 고객의 이력도, 회사의 리포트도 필요 없습니다: 화면에는 실어다 전달하는 데 필요한 것만 남습니다. 나머지는 작은 글씨가 아니라 접근 권한으로 닫혀 있습니다.

배송기사가 아프거나, 늦거나, 근무에 나오지 않는 것은 장애가 아니라 흔한 상황입니다. 관제 담당이 작업을 회수해 다른 담당자에게 배정하고, 배송의 이력에는 마지막 것만이 아니라 두 번의 배정이 모두 시각과 함께 남습니다.
이것은 실무에서 중요합니다: 재배정 기록이 없으면 «주문이 왜 늦었나»의 확인이, 시간대가 끝나기 한 시간 전에 그것을 받은 현재 배송기사만 보여 주는 시스템 앞에서 막힙니다.
수령인의 전화번호는 작업 수행에 필요할 때, 그리고 그 배송을 싣고 가는 사람에게만 보여 줍니다. 개인정보 접근은 «직원»이라는 공통 묶음이 아니라 별도의 권한입니다: 회사의 전체 고객 목록은 배송기사에게 열리지 않습니다.
연락처를 정확히 어떻게 보여 줄지 — 전부인지, 일부인지, 안심번호를 통한 통화인지 — 는 사전 진단에서 정합니다: 회사가 어떤 데이터를 다루고 무엇을 보호해야 하는지에 달려 있습니다.
| № | 시간대 | 주소 | 개수 | 결제 | 상태 |
|---|---|---|---|---|---|
| 1 | 10:00—12:00 | 아훈바예바 97, 입구 2 | 1 | 결제됨 | 배송함 |
| 2 | 11:00—14:00 | 톡토굴라 125, 사무실 4 | 3 | 결제됨 | 배송함 |
| 3 | 12:00—15:00 | 바이틱 바아티라 53 | 1 | 2 400 솜 | 도착 |
| 4 | 14:00—17:00 | 추이 219, 안뜰 쪽 입구 | 2 | 결제됨 | 이동 중 |
| 5 | 16:00—19:00 | 이브라이모바 42, 7 층 | 1 | 1 150 솜 | 배정됨 |
목록은 배정된 시각이 아니라 시간대 순으로 정렬됩니다: 배송기사에게 중요한 것은 관제 담당이 주문을 나눠 준 순서가 아니라 하루의 순서입니다. 결제 열이 주소 옆에 있는 것도 우연이 아닙니다 — 받을 금액은 배송기사가 7층까지 올라가기 전에 보여야 합니다.
배송기사 앱 — 은 관제 패널의 축소판이 아니라 담당자의 근무 조건에 맞춘 별도의 화면입니다: 한 손에 휴대폰, 다른 손에 상자, 햇빛 아래의 화면, 끊겼다 이어지는 통신, 저녁이면 바닥나는 배터리.
실질적인 의미는 하나입니다: 모든 업무 정보가 한곳에. 배송기사는 대화방 셋과 주소가 담긴 표와 통화 기록을 열어 둘 필요가 없습니다 — 작업, 주소, 주문 구성, 상태, 관제 담당과의 연락이 하나의 화면에 있습니다.
화면은 «현재 지점과 다음 지점»의 원칙으로 만듭니다. 지금 필요 없는 것은 모두 안쪽으로 넣습니다: 지난 날짜의 목록, 각종 목록, 전달에 영향을 주지 않는 세부 사항. 화면의 요소가 적을수록 근무조의 실수가 줄고 새 사람의 교육이 짧아집니다.
기능의 개수보다 중요한 요구:
한곳에 모으는 것이 시간을 얼마나 아껴 주는지 계산하는 것은 무의미합니다 — 지금 배송기사의 일이 어떤 모습인지에 달려 있기 때문입니다. 다른 효과는 눈에 보입니다: 새 주소가 다른 대화방으로 와서 어제 메시지의 주소로 배송하는 부류의 오류가 통째로 사라집니다.

구현 형태는 과제에 맞춰 고릅니다: Android와 iOS용 모바일 앱일 수도 있고, 휴대폰 브라우저에서 열리는 맞춤 웹 페이지일 수도 있습니다.
두 번째가 더 싸고 빠르게 시작할 수 있고, 첫 번째는 네트워크 없는 동작, 푸시 알림, 카메라 접근이 중요한 곳에 필요합니다. 특정 회사에 무엇이 알맞은지는 미리 고르는 것이 아니라 사전 진단에서 정합니다.
통신은 예측 가능하게 끊깁니다: 지하실, 엘리베이터, 단독주택 지역, 지하 주차장. 그런 순간에 표시가 지나가지 않으면 배송기사는 서서 기다리거나 아예 표시하지 않게 됩니다 — 그러면 상태가 다시 전화 통화 속에서 살아갑니다.
그래서 표시는 기기에 저장됐다가 연결이 돌아오면 마저 전송됩니다. 이때 다시 보내도 두 번째 배송이 생기지 않습니다: 표시마다 키가 있고 시스템은 그것을 한 번만 받습니다. 외부 시스템과의 교환이 따르는 것과 같은 규칙입니다.
«프로젝트에 따라»라는 표시는 가능 여부가 외부 서비스의 연결이나 특정 업체의 근무 조건에 달린 곳에 붙어 있습니다. 나머지는 업무의 최소한입니다: 그것이 없으면 담당자의 화면은 메신저를 대신하는 것이 아니라 작업이 오는 열 번째 출처로 덧붙을 뿐입니다.
배송 지점 — 하나의 배송이 있는 하나의 주소입니다. 배송기사의 근무조는 지점으로 이뤄지고, 앱은 그것을 두 가지 방식으로 함께 보여 줍니다: 방문 순서대로의 목록과 지도 위의 표시. 목록은 «다음에 무엇을 할까»에, 지도는 «여기에서 먼가»에 답합니다.
순서 는 미리 정해지고 배송기사에게 보입니다: 어느 지점이 현재이고, 어느 것이 닫혔고, 어느 것이 앞에 남았는지. 지점을 닫으면 다음 지점이 현재가 됩니다 — 배송기사가 목록에서 그것을 찾거나 어디로 갈지 매번 다시 정하지 않습니다.
순서는 하루 중에 바꿀 수 있습니다. 관제 담당이 지점을 옮기고, 급한 배송을 넣고, 취소된 것을 뺍니다 — 변경은 배송기사에게 전달되고, 경로의 이력에는 무엇이 언제 바뀌었는지가 남습니다. 시스템이 계획을 조용히 다른 것으로 바꿔치기해서는 안 됩니다: 변경을 나중에야 아는 배송기사는 하루를 다시 짜야 합니다.
최적의 방문 순서 자동 계산 — 은 가능성이며 구현하거나 연동으로 붙일 수 있습니다 지도 서비스와. 준비된 기능으로 선언하지는 않습니다: 그런 최적화의 품질은 교통 데이터와 특정 업체의 제약 — 수령인의 시간대, 구역, 가방이나 차량의 수용량 — 에 달려 있습니다.
실무에서는 많은 업체에 손으로 정한 순서로 충분합니다: 관제 담당이 알고리즘보다 도시를 잘 알고, 수령인의 시간대가 어차피 하루의 뼈대를 단단히 정해 줍니다.

배송기사가 잃는 시간의 절반은 길이 아니라 입구를 찾는 데 들어갑니다. 그래서 지점에는 메모가 있습니다: 출입구, 층, 공동현관 번호, «안뜰 쪽 입구», «차단기, 경비실에 전화», «두 번째 동, 회색 문».
메모는 배송하고 나서 배송기사가 직접 채우고 주소 카드에 남습니다. 다음에 그곳으로 가는 사람은 같은 것을 다시 알아내지 않습니다 — 도시에 대한 지식을 근무조의 머릿속이 아니라 시스템에 쌓는 유일한 방법입니다.
상태는 하루 끝에 몰아서가 아니라 지점마다 동작하는 순간에 바뀝니다. 주소에 도착하면 «도착», 전달하면 «배송함», 수령인을 만나지 못하면 사유와 연기. 이 표시에서 실제 배송 시각과 지점에 머문 시간이 나옵니다; 그러지 않으면 두 지표 모두 기억으로 복원해야 하고, 즉 복원되지 않습니다.
| 순서 | 주소 | 시간대 | 무엇을 싣는가 | 지점 메모 | 상태 |
|---|---|---|---|---|---|
| 1 | 바이틱 바아티라 53 | 12:00—15:00 | 1개 | 차단기, 경비실에 전화 | 닫힘 |
| 2 | 추이 219 | 14:00—17:00 | 2개 | 안뜰 쪽 입구, 회색 문 | 현재 |
| 3 | 이브라이모바 42 | 16:00—19:00 | 1개 | 7층, 엘리베이터는 6층까지 | 앞에 남음 |
| 4 | 모스콥스카야 180 | 17:00—20:00 | 3개 | 사무실, 안내데스크에서 출입증 | 앞에 남음 |
| 5 | 아훈바예바 97 | 20:00까지 | 1개 | 반품: 수령인이 거부 | 추가됨 |
다섯 번째 지점은 하루 중에 경로에 추가된 것입니다 — 되돌려 가져와야 하는 수령 거부 반품입니다. 반품도 «내일 갖다 놔»라는 구두 합의가 아니라 주소와 상태를 가진 똑같은 지점으로 갑니다: 그러지 않으면 아무도 책임지지 않게 되는 바로 그 순간에 주문이 장부에서 빠집니다.
상태는 화면의 문구가 아니라 허용되는 동작이 뒤따르는 상태입니다. 집합은 유한하고 짧습니다: 그것을 명시적으로 정하지 않으면 직원마다 «진행 중»을 다르게 이해하고, 비슷한 상태가 열 개쯤 되면 배송기사는 아무렇게나 찍기 시작합니다.

다섯 가지 상태는 전체 목록이 아니라 업무의 최소한입니다. 중간 상태(«분류로 인계됨», «다른 배송기사에게 인계됨»)는 회사의 프로세스에 맞춰 더하되, 집합은 유한하고 명시적으로 남습니다: 상태마다 배송기사가 다음에 무엇을 해도 되는지에 답해야 합니다.
| 무슨 일이 있었는가 | 시스템이 하는 일 | 상태 |
|---|---|---|
| 고객과 닿지 않음: 문을 열지 않고 전화도 받지 않음 | 사유와 배송기사의 메모와 함께 실패한 시도를 기록하고, 주문은 그에게 남긴 채 재배송 여부를 묻습니다 | 확인 필요 |
| 수령인의 요청으로 배송이 연기됨 | 새 날짜나 시간대를, 누가 언제 연기에 합의했는지와 함께 기록합니다; 지점은 오늘의 경로에서 빠집니다 | 정상 |
| 수령인이 주문을 거부함 | 거부 사유와 함께 배송을 닫고 되돌아가는 지점을 만듭니다 — 주문을 창고나 출발 지점으로 되가져오기 위해 | 확인 필요 |
| 수령인이 주문을 일부만 받음 | 배송을 나눕니다: 받은 개체는 닫히고, 거부된 개체는 함께 처리되지 않고 별도의 기록으로 반품으로 갑니다 | 확인 필요 |
| 주소 문제: 건물이 없거나 입구를 찾지 못함 | 배송기사의 메모와 함께 이벤트를 열고, 배송을 완료로 닫지 않은 채 지점을 관제 담당에게 확인하도록 넘깁니다 | 확인 필요 |
| 배송기사가 이미 이동 중일 때 주문이 취소됨 | 경로에서 지점을 빼고 배송을 반품으로 옮깁니다: 주문은 «녹아» 사라지지 않고 여전히 누군가 책임집니다 | 정상 |
| 배송기사가 근무에 나오지 않음 | 그의 작업을 재배정할 수 있게 풀고, 영향을 받은 모든 배송을 하나의 목록으로 관제 담당에게 보여 줍니다 | 경고 |
공통 원칙: 실패한 결과는 사라지지도, 성공으로 바뀌지도 않습니다. 배송은 열린 채로 확인 대기열에 들어갑니다 — 적을 곳이 없어서 문제가 하나도 없는 리포트보다 싸게 먹힙니다.
어떤 예외가 회사에 필요한지는 사전 진단에서 정합니다. 음식 배달에는 짧은 시간대와 빠른 연기가, 가전 배송에는 부분 거부와 반품이, 서류 배송에는 수령인 본인 확인이 필요합니다. 구성은 설정하되 규칙은 공통입니다: 모든 배송의 종료에는 사유가 있고, 그 사유는 리포트에 실립니다.
배송에는 책임자가 바뀌는 두 지점이 있고 둘 다 기록됩니다. 첫 번째는 배송기사의 화물 수령입니다: 주문이 창고를 떠나고 이때부터 담당자가 책임집니다. 두 번째는 수령인에게의 전달입니다: 배송이 닫히고 회사의 약속이 이행됩니다.
이 두 순간의 기록이 없으면 어떤 분실이든 근무조를 상대로 한 탐문이 됩니다: 창고는 내줬다고 하고, 배송기사는 자기가 싣지 않았다고 하며, 매니저는 고객에게 «확인 중»이라고 설명합니다. 표시에는 몇 초가 들고, 그것 없는 확인에는 하루의 일과 고객의 신뢰가 듭니다.
전달할 때 시스템이 기록하는 것:
확인 방식은 프로젝트에 맞춰 고릅니다. 아래에 가능한 방법을 적었습니다 — 준비된 기능의 목록도, 이 모두가 이미 구현돼 있다는 약속도 아닙니다. 특정 업체에 무엇이 알맞은지는 무엇을 누구에게 배송하는지와 회사 자신이 요구하는 바에 달려 있습니다.

이 규칙이 확인 방식 자체보다 중요합니다. 결과가 기록되지 않는 한 배송은 열린 채로 남아 관제 담당에게 보입니다. 그러지 않으면 월말에는 모든 배송이 완료된 것으로 나오고, 다툼은 여전히 전화로 확인해야 합니다.
주문을 현장에서 결제하는 곳에서는 배송의 확인과 결제의 확인이 서로 다른 두 기록입니다. 받을 금액은 작업과 함께 오고, 수납 사실은 따로 표시합니다: 그러지 않으면 근무조가 끝날 때 배송기사 손에 현금이 얼마 있는지 맞출 수 없습니다.
카드나 이체로의 결제 수납은 연동으로 가능합니다 결제 서비스나 담당자의 단말기와 — 구성은 대행사에 달려 있고 사전 진단에서 확인합니다.
전달하지 못한 주문은 그가 반납할 때까지 배송기사 앞으로 남습니다: 창고로, 출발 지점으로, 또는 다른 담당자에게. 반납은 수령과 마찬가지로 두 쪽으로 처리합니다. 그전까지 미배송은 근무조 통계에 녹아들지 않고 별도의 목록으로 보입니다.
어느 방식도 필수가 아니고, 어느 것도 이미 준비돼 있다고 선언하지 않습니다: 구성은 사전 진단에서 정합니다 — 무엇을 배송하는지, 어떤 다툼이 가장 자주 생기는지, 회사 자신이 무엇을 요구하는지에 따라. 확인이 엄격할수록 배송기사가 지점에 오래 머물므로, 다툼이 실제로 있는 곳에서만 강화할 가치가 있습니다.
창고와 배송은 단체 대화방을 공유하는 두 부서가 아니라 한 프로세스의 두 구간입니다. «모였지만 인계되지 않은» 주문과 «인계됐지만 표시되지 않은» 주문은 서로 다른 상태이고, 그것을 혼동하면 비쌉니다: 앞의 것은 창고에서 찾고, 뒤의 것은 배송기사에게서 찾습니다.
접점은 단순합니다: 창고 담당자가 인계를, 배송기사가 수령을 표시합니다. 두 표시가 다 붙기 전까지 주문은 중간 상태로 잡히고 양쪽 모두에게 보입니다. 그래야 사라진 개체마다 그것이 없어진 구간이 있고, 확인이 근무조를 상대로 한 탐문이 되지 않습니다.
완전한 창고 관리 — 입고, 로케이션 보관, 재고, 피킹, 재고 조사 — 는 별도의 페이지에서 다룹니다 «창고를 위한». 여기에서는 접점만 설명합니다: 창고가 배송기사에게 무엇을 넘기고 그에게서 무엇을 돌려받는지.
창고가 다른 프로그램에서 돌아간다면 — 흔한 상황입니다: 창고 관리는 이미 있는 시스템에서 이뤄지고 아무도 그것을 바꿀 생각이 없습니다. 그러면 접점은 교환으로 만듭니다: 배송기사 프로그램이 주문의 준비 상태와 개체 구성을 받고, 상태와 확인과 반품을 돌려줍니다.
교환의 구성은 외부 시스템이 무엇을 내줄 수 있는지가 정하며 사전 진단에서 확인합니다. 완성된 연동을 미리 선언하는 것은 남의 제품을 두고 하는 약속이 될 것입니다.
같은 원칙이 반대 방향 — 반품에도 적용됩니다. 반납 표시가 없으면 전달하지 못한 주문은 다음 근무조까지 배송기사의 트렁크에 살고, 아무도 책임지지 않게 되는 바로 그 순간에 장부에서 사라집니다.

되돌아오는 흐름도 그만큼 중요합니다: 전달하지 못한 주문, 거부, 부분 반품이 돌아온 사유와 함께 되돌아옵니다. 창고는 그것을 납품을 받듯 작업으로 접수하고, 주문은 다시 창고의 책임이 됩니다.
세 번째 전환은 주문의 책임자가 바뀌는 유일한 지점이고, 그래서 두 쪽으로 처리합니다: 창고가 넘기고 배송기사가 받습니다. 이 단계를 건너뛰면 개체가 사라졌을 때 어느 구간인지 말할 수 없고, 책임은 확인 자리에서 목소리 큰 순서로 나뉩니다.
배송기사 앱
경로와 지점
배송 확인
관제 패널
관제 패널 — 시스템의 나머지 절반입니다: 배송기사가 앱에서 일하는 동안 회사가 보는 것입니다. 그 과제는 «모든 데이터를 보여 주는 것»이 아니라, 지금 결정이 필요한 것을 한 화면에 모으고 나머지는 안쪽으로 넣는 것입니다.
여기에서의 핵심은 하나입니다: 회사가 배송기사마다 계속 전화하지 않고도 배송에 무슨 일이 벌어지는지 압니다. 관제 담당은 누가 어느 주소를 닫았는지 알아내려고 다섯 명에게 차례로 전화하는 대신 화면을 봅니다.
패널에 보이는 것:
접근 권한 가 패널을 역할별로 나눕니다: 배송기사는 오늘 자기 작업만, 관제 담당은 자기 근무조나 구역을, 책임자는 모든 방면과 리포트를 봅니다. 수령인 연락처 접근과 배송 취소는 «직원»이라는 공통 묶음이 아니라 각각의 권한입니다.

시스템 화면 이미지이며 숫자는 예시입니다. 타일의 순서는 우연이 아닙니다: 근무조의 물량이 먼저 오고, 그다음 결정이 필요한 것이 옵니다. 배분되지 않은 주문이 마지막에 놓인 것은, 그것이 관제 담당이 스스로 끝까지 닫는 유일한 타일이기 때문입니다.
문의는 배송에 묶인 채로 관제 담당에게 옵니다: 어느 주소에 대한 질문이고 그것이 어떤 상태인지 보입니다. 이것이 대화의 절반 — 어느 주문 이야기인지 알아내는 부분 — 을 없애 줍니다.
반대 방향도 마찬가지입니다: 관제 담당의 메시지는 배송기사가 6층과 7층 사이 계단에서 받게 될 별도의 전화가 아니라 작업 카드로 옵니다.
구분은 사람마다의 개별 권한이 아니라 역할로 정합니다. 그러지 않으면 반년 뒤 새 직원의 접근 권한이 «이바노프와 똑같이» 설정되고, 그에게 정확히 무엇이 열려 있는지 아무도 말하지 못하게 됩니다.
물류 시스템은 배송 프로세스 전체를 관리합니다: 요청, 화물, 차량, 하루의 계획, 업무의 배분. 배송기사 프로그램은 그 프로세스 안에서 담당자가 쓰는 업무 도구입니다. 경쟁하는 두 제품이 아니라 한 과제의 서로 다른 층위입니다: 하나는 «배송을 어떻게 조직할까»에, 다른 하나는 «그것을 어떻게 수행하고 기록할까»에 답합니다.

창고는 주문이 모이고 인계되는 것을 책임집니다. 물류는 그것이 누구에게 어느 날로 배정되는지를 책임집니다. 배송기사는 주문이 도착해 전달되는 것을 책임집니다. 고객이 수령으로 사슬을 닫습니다. 어느 두 고리 사이가 끊기든 모습은 같습니다: 주문이 한 시스템에는 있고 다른 시스템에는 없으며, 그것을 먼저 전화를 받은 사람이 책임집니다.
주소, 시간대, 주문 구성, 수령인이 담긴 완성된 배송, 그리고 배정 — 어느 배송기사에게 어느 날로 주어졌는지. 하루의 계획과 업무의 배분은 물류 시스템 쪽에 남습니다.
담당자에게 작업을 가져다주고, 지점을 따라 이끌고, 상태와 전달 확인을 기록합니다. 배송에 대한 실제 데이터의 유일한 출처입니다: 나머지는 사실이 아니라 계획입니다.
시각이 붙은 실제 상태, 지점마다의 결과, 실패한 배송의 사유, 반품, 배송기사의 메모. 이것으로 물류가 기간 리포트를 만들고, 매니저는 담당자에게 전화하지 않고 고객에게 답합니다.
배송기사 프로그램은 API로 기존 시스템에 연결된 별도의 앱으로 작동할 수 있습니다: 작업을 받고 상태와 확인을 돌려줍니다. 물류 회로를 바꿀 계획이 없는 곳에 필요한 방식입니다.
물류 쪽에 대한 자세한 설명 — 운송 요청, 화물 목록, 경로 계획, 차량 관리 — 은 다음 페이지에 있습니다 물류 소프트웨어. 여기에서 중요한 것은 다른 점입니다: 배송기사의 표시가 실제 상태의 유일한 출처이므로, 그의 업무 공간은 마지막이 아니라 가장 먼저 설계합니다.
알림은 그것이 없으면 전화해야 하는 곳에 필요합니다. 알림은 많지 않고 구체적입니다: 하나하나가 사람이 무언가를 해야 하는 사건을 알립니다. 나머지는 작업 목록에 남아 계단에서 배송기사의 주의를 빼앗지 않습니다.
배송기사에게 작업이 왔습니다: 주소, 시간대, 구성. 그는 현재 배송이 끝난 뒤가 아니라 곧바로 그것을 보고 — 도시 반대편으로 떠나기 전에 지점을 방문 순서에 끼워 넣을 수 있습니다.
관제 담당이 지점을 옮기거나, 급한 배송을 넣거나, 취소된 것을 뺐습니다. 알림이 없으면 배송기사는 옛 주소에 도착해서야 그것을 알게 되고 — 되돌아오는 데 한 시간을 씁니다.
시간대가 곧 끝나는 지점에 대한 알림입니다. 기한이 지난 순간이 아니라 미리 옵니다: 지연을 기록하는 것이 아니라 지연이 없게 하는 것이 목적입니다.
취소는 배송기사가 7층까지 올라가기 전에 그에게 닿습니다. 주문이 이미 그의 손에 있다면 알림과 함께 다음에 무엇을 할지도 옵니다: 창고로 되돌릴지 다른 담당자에게 넘길지.
작업이 표시 없이 걸려 있거나, 배송이 결과로 닫히지 않았거나, 관제 담당이 지점에 대해 물었습니다. 감시를 위한 감시가 아닙니다: 닫히지 않은 배송은 저녁이면 다음 날의 확인 거리가 됩니다.
고객에게도 할 말이 있습니다: 주문이 배송기사에게 넘어감, 배송기사 출발, 배송 연기. 이것이 회사로 걸려 오는 전화의 일부를 없앱니다 — 상태를 아는 사람은 그것을 물으려고 전화하지 않습니다.
발송 채널 — 앱 안의 메시지, SMS, 메신저, 이메일 — 은 도입 단계에서 고르고 연동으로 붙입니다. 특정 서비스와의 준비된 연결을 미리 선언하지 않습니다: 구성은 회사의 고객이 무엇을 쓰는지와 그 나라에서 무엇이 가능한지에 달려 있습니다.
이력은 «혹시 몰라» 두는 보관함이 아니라 확인을 위한 도구입니다. 기록은 수정하지 않습니다: 정정은 사유가 붙은 새 이벤트로 남깁니다. 그래서 «주문이 왜 저녁 일곱 시에 도착했나»에는 여러 버전이 아니라 하나의 답이 있습니다.
담당자, 배정 시각, 작성자 — 그리고 작업이 하루 중에 한 배송기사에서 다른 배송기사로 넘어갔다면 그 재배정까지 모두.
양쪽에서 확인한 화물 인계 사실: 누가 넘겼고, 누가 받았고, 언제, 몇 개인지. 이때부터 주문의 책임이 담당자에게 있습니다.
전환 하나하나를 정확한 시각과 작성자와 함께: 출발, 지점 도착, 전달. 이 표시들로 실제 배송 소요 시간이 모입니다.
배송의 결과와 확인 방식, 이뤄지지 않았다면 사유와 배송기사의 메모와 그다음에 무엇으로 정해졌는지.
| 시각 | 이벤트 | 누가 | 무엇이 기록됐는가 |
|---|---|---|---|
| 09:12 | 배정됨 | 관제 담당 | 담당자 — 배송기사 아자마트, 시간대 12:00—15:00 |
| 10:05 | 배송기사가 수령함 | 창고 + 배송기사 | 1개, 포장 멀쩡, 인계가 양쪽에서 확인됨 |
| 12:41 | 도착 | 배송기사 | 바이틱 바아티라 53 주소에 도착 |
| 12:58 | 시도 실패 | 배송기사 | 수령인이 응답하지 않음; 메모: «차단기가 닫혀 있고 경비가 들여보내지 않음» |
| 13:20 | 연기됨 | 관제 담당 | 수령인과 같은 날 17:00—19:00으로 합의 |
| 17:34 | 배송됨 | 배송기사 | 확인 코드 접수, 결제 2 400 솜을 현금으로 수령 |
이 기록에서는 주문이 배송됐다는 사실만이 아니라 왜 시간대보다 다섯 시간 늦게 도착했는지도 보입니다. 확인할 가치가 있는 것이 바로 이런 사슬입니다: 프로세스의 어느 단계가 시스템을 비껴가는지 드러나기 때문입니다 — 이 경우에는 그 주소에 경비를 통과하는 방법이 적혀 있지 않았습니다.
리포트는 배송기사가 근무조 동안 남기는 바로 그 기록에서 모입니다 — 분석을 위한 별도의 데이터 입력이 필요 없습니다. 지표는 많지 않고, 하나하나가 결정을 내리는 질문에 답합니다: 내일 배송기사가 몇 명 필요한가, 프로세스가 어디에서 가장 자주 깨지는가, 누구의 부담을 덜어 줘야 하는가.
하루, 한 주, 한 달 동안 몇 건이 배정됐는지 — 회사별, 구역별, 배송기사별로. 나머지 모두가 여기에서 계산되는 기본 수치입니다.
몇 건이 결과와 함께 닫혔고 그중 몇 퍼센트가 합의된 시간대를 지켰는지. 두 번째가 첫 번째보다 중요합니다: 늦게 배송한 것은 배송한 것과 같지 않습니다.
몇 건이 되돌아왔고 사유가 무엇인지: 수령인의 거부, 회사의 취소, 미배송. 사유는 필수입니다 — 그것이 없으면 숫자가 아무것도 설명해 주지 않습니다.
화물 수령에서 전달까지 배송에 걸리는 시간과 지점 자체에 걸리는 시간. 이 두 숫자로 시간이 어디에서 새는지 보입니다: 길에서인지 현장에서인지.
한 사람에게 몇 개 지점이 돌아가고 실제로 몇 개를 닫는지. 배송기사가 한 명 더 필요한지, 아니면 업무 배분의 문제인지에 대한 답이 여기에서 나옵니다.
확인이 필요했던 배송의 목록을 사유와 함께. 월말에는 «별일이 다 있다»가 아니라 반복되는 문제의 구체적인 목록이 보입니다.
기간 동안 직원별·방면별 처리량. 닫힌 작업에서 모이므로 이를 위한 별도의 근태 관리가 필요하지 않습니다.
리포트는 파일로 내려받고, 일정에 따라 만들거나, API로 외부 시스템이 가져갈 수도 있습니다 — 회사의 통합 리포트가 다른 프로그램에서 만들어진다면.
막대는 전체 주문 수가 아니라 첫 줄에 대한 비율을 보여 줍니다: 평균이 아니라 정상적인 결과와 비교하는 것이 의미가 있습니다. 이런 표에서 뜯어봐야 하는 것은 두 번째 줄입니다 — 한 주에 일흔네 건의 지연은 «일정이 빡빡해서»가 아니라 근무조가 감당하지 못하는 구체적인 주소와 시간대입니다.
배송이 홀로 서 있는 경우는 드뭅니다: 주문은 한 프로그램에서 오고, 고객은 두 번째에서, 창고는 세 번째에서 관리됩니다. 아래는 교환이 가장 자주 이뤄지는 방향입니다. 구체적인 구성은 외부 시스템이 무엇을 내줄 수 있는지가 정하며 사전 진단에서 확인합니다 — 준비된 커넥터를 미리 약속하지 않습니다.
작성된 주문이 자동으로 배송으로 전달되고, 상태가 구매자의 개인 계정으로 돌아갈 수 있습니다. 스토어프론트와 주문 관리 자체가 어떻게 이뤄지는지는 다음 페이지에서 설명합니다 이커머스.
주문의 준비 상태와 개체 구성이 창고에서 오고, 배송기사에게의 인계 사실과 반품이 돌아갑니다. 창고 회로는 다음 페이지에서 자세히 설명합니다 «창고를 위한».
물류 시스템과 함께 작동할 수 있습니다: 물류가 하루를 계획하고 주문을 배분하며, 배송기사 프로그램은 실제 상태를 돌려줍니다. 자세한 내용은 다음 페이지에 물류 시스템.
고객 목록, 거래 이력과의 연동이 가능합니다: 고객 카드에서 배송이 만들어지고 그 결과가 매니저에게 돌아갑니다. 연락처의 중복을 늘리지 않도록 교환은 고객 식별자로 이뤄집니다.
회사의 회계 회로와 함께 작동할 수 있습니다: 주문, 거래명세서, 채권채무, 수령 시 결제. 교환의 방향은 어떤 회계를 주된 것으로 보는지가 정합니다.
지도, 주소의 지오코딩, 지점 사이의 경로 계산은 외부 서비스와의 연동으로 붙입니다. 어떤 서비스인지는 필요한 도시의 커버리지와 이용 조건에 따라 고릅니다.
배송기사와 수령인에게 가는 메시지, 수령 시 결제를 위한 결제 서비스, 협력 운송사. 연결은 하나하나가 설정의 체크박스가 아니라 별도의 교환 모듈입니다.
시스템 자체의 인터페이스: 배송 만들기, 담당자 배정, 상태와 확인 자료 받기, 이벤트 로그 가져오기. 별도의 모듈이 없는 모든 것이 이를 통해 연결됩니다.
교환의 규칙은 어디서나 같습니다: 모든 작업에 키가 있어 다시 전달해도 두 번째 배송이 생기지 않고; 실패한 결과는 사라지지 않고 확인 대기열로 들어가며; 보낸 것과 받은 답이 하나하나 교환 로그에 기록됩니다. 이 세 가지 규칙이 없으면 연동은 첫 통신 두절까지만 작동합니다.
배송을 하루 만에 통째로 시스템으로 옮기지는 않습니다: 일부 작업이 프로그램을 비껴가는 동안에는 그 상태가 아무 의미도 없습니다. 그래서 구간별로 시작하고, 다음 구간은 앞 구간이 돌아가는 것을 딛고 섭니다.
지금 배송기사가 작업을 어떻게 받는지, 상태는 누가 관리하는지, 전달은 무엇으로 확인하는지, 어떤 예외가 가장 자주 생기는지, 어떤 프로그램이 이미 있는지. 결과물은 프로세스의 서술과 가장 먼저 자동화할 것들의 목록입니다.
상태의 유한한 목록, 그 사이의 전환 규칙, 그리고 배송마다의 필수 결과. 가장 과소평가되는 단계입니다: 이것이 없으면 앱은 메시지를 주고받는 또 하나의 장소가 됩니다.
한 구역, 한 근무조, 또는 두세 명의 담당자가 실제 배송에서 한 바퀴를 온전히 돕니다: 배정, 화물 수령, 경로, 상태, 확인, 문제가 있는 지점의 처리.
검증된 방식대로 나머지 배송기사를, 역할과 권한을, 연동은 별도의 교환 모듈로. 그다음에는 이력이 쌓이고 기간별 리포트와 근무조 계획을 위한 데이터가 생깁니다.
배송기사가 몇 명 일하고 하루에 몇 건이 나가는지, 지금 작업을 어떻게 나눠 주는지, 전달은 무엇으로 확인하는지, 주문과 고객이 어떤 프로그램에 들어 있는지 적어 주세요. 무엇부터 자동화할지, 무엇을 기존 시스템에 연결할 수 있는지, 파일럿을 무엇부터 시작하는 것이 합리적인지 답해 드리겠습니다.