Telegram Bot for Drivers
Telegram bot for drivers is a system of automatic notifications and voyage management. The driver registers once via SMS link, after which all active orders come to them in Telegram. The bot allows confirming voyages and changing execution statuses directly in the messenger.
Driver Registration in the System
How it works?
When you create a voyage card and add a new driver, the system automatically checks their presence in the database. If the driver doesn’t exist — they receive an SMS with a link to the bot for registration.
Step 1. Add driver to voyage card
- Open the section for creating a new voyage
- Click “Add Transportation”
- Fill in driver data:
- First Name
- Last Name
- Phone Number
- Save the voyage card
Step 2. System checks driver
- ✅ System automatically checks the phone number in the database
- ✅ If driver is already registered — they immediately receive a message about the new voyage
- 📱 If driver is new — an SMS will be sent to their number
Step 3. Driver registers via SMS
- Driver receives SMS with a link to the Telegram bot
- They follow the link and click “Start”
- System saves the driver’s Telegram ID
- ✅ Registration completed — now the driver can receive voyages
Working with Voyages through the Bot
How does the driver receive voyages?
After registration, all active orders automatically come to the driver in Telegram.
Step 1. Receiving message about new voyage
- Driver receives a message: “You have a new voyage”
- The message displays information about route, cargo, time
- Under the message there is a “Confirm” (Approve) button
Step 2. Confirming voyage
- Driver clicks the “Confirm” button
- System records that the driver saw the order
- Bot proceeds to work with voyage statuses
Step 3. Changing voyage statuses
Driver receives buttons to change status:
- 🚗 “Departed for loading”
- 📍 “Arrived at loading”
- ⚖️ “Loaded”
- 🚗 “Departed for unloading”
- 📍 “Arrived at unloading”
- ✅ “Unloaded”
Driver clicks the corresponding button at each stage, and the voyage status automatically updates in the system.
💡 Tips and Possible Errors
Tips:
- ✓ Always check the accuracy of the driver’s phone number — SMS delivery depends on this
- ✓ Warn drivers that they will receive an SMS with a link — so they don’t miss registration
- ✓ Driver can register later — the link in SMS doesn’t expire
- ✓ One phone number = one account. If the driver changed their number, add them as new
⚠️ Possible Errors:
| Problem | Cause | Solution |
|---|---|---|
| SMS didn’t arrive to driver | Number entered incorrectly | Check the +380XXXXXXXXX format, make sure mobile connection is available |
| Driver can’t register | Didn’t follow the link or didn’t click “Start” | Make sure the driver followed the link from SMS and clicked “Start” |
| Driver doesn’t receive voyage messages | Registration not completed or bot blocked | Check registration completion and whether the bot is blocked |
| Status change buttons don’t work | Voyage not confirmed | Make sure the driver clicked “Confirm”, try /start |
🎯 What You’ve Learned
Now you know how the driver registration system and voyage management through Telegram works. The driver registers once via SMS link, after which all voyages and status changes happen automatically through the bot. This saves time and simplifies communication with drivers.
📦 Working with Voyages through Telegram Bot
After registration, the driver receives all voyages through the Telegram bot. They can view voyage details, confirm or reject it, change execution statuses, and enter cargo data directly in the messenger.
Receiving New Voyage
How it works?
When the dispatcher creates a voyage and assigns a driver, they automatically receive a message in Telegram.
Step 1. Receive voyage message
- You will receive a message: “New Voyage”
- Click the “View Voyage” button
Step 2. View voyage information
You will see all details:
- Voyage # — unique number (for example,
f3e228e1...) - Vehicle: license plate (for example,
ВН5903ІС) - Trailers: trailer license plates (for example,
ВН5534ХІ,ВН5535ХІ)
Route:
- 📍 Point A: full loading address (for example, 123 Main Street, Kyiv)
- 📍 Point B: full unloading address (for example, 456 Oak Street, Lviv)
Estimated date: voyage execution period (for example, 2025-03-13 - 2025-03-16 until 12:00:00)
Cargo:
- Loaded: Not specified
- Unloaded: Not specified
Status: Announced
Step 3. Make a decision
At the bottom of the message there are two buttons:
- ✅ Confirm Voyage — you accept the order
- ❌ Reject Voyage — you decline the voyage
Confirming or Rejecting Voyage
✅ Option 1. Confirm Voyage
Step 1. Click the “Confirm Voyage” button
Step 2. You will see confirmation:
✅ Voyage successfully confirmed! Now you can view the current voyage
Step 3. You will see a “Current Voyage” button
- The “New Voyage” button will disappear
- Now the voyage is considered active
❌ Option 2. Reject Voyage
Step 1. Click the “Reject Voyage” button
⚠️ Important:
- Voyage remains in the system
- You can reconsider and accept it later
- Voyage doesn’t disappear and isn’t transferred to another driver
To accept a rejected voyage:
- Click “View Voyage”
- Click “Confirm Voyage”
Working with Current Voyage
How to view active voyage?
After confirming the voyage, you can track its execution and change statuses.
Step 1. Open current voyage
- Click the “Current Voyage” button
- You will see the same voyage information
- Status: now shows
Accepted
Step 2. Start voyage execution
Under the voyage information, a button will appear:
🚗 “Depart for Loading”
Click it when you start moving to the loading point.
⚖️ Entering Cargo Weight
When do you need to enter weight?
After you arrive at loading, you need to enter weighing data: gross (total weight) and tare (vehicle weight).
Step 1. Open current voyage
- Click “Current Voyage”
- Voyage status changed after clicking “Depart for Loading”
Step 2. Enter gross weight
Bot will send a message: “Enter gross weight in tons”
💡 Hint:
- Format:
20.5- Example:
25.5or30.25
- Enter gross weight as a number (for example,
30.2) - Send the message
Step 3. Enter tare weight
After confirming gross, bot will send: “Gross: 30.2 t”
Bot will ask to enter tare: “Now enter tare weight in tons”
💡 Hint:
- Format:
2.5- Example:
2.3or3.15
- Enter tare weight as a number (for example,
10) - Send the message
Step 4. Check data
Bot will show all information:
⚖️ Gross: 30.2 t
⚖️ Tare: 10.5 t
⚖️ Net: 20.20 t (calculated automatically)Bot will ask: “Is this correct?”
You will see two buttons:
- ✅ All correct — data will be saved
- 🔄 Enter again — you can correct the error
Step 5. Confirm or correct
- If everything is correct — click “All correct”
- If you made a mistake — click “Enter again” and repeat the entry
💡 Tips and Possible Errors
Tips:
- ✓ Review all voyage information before confirming
- ✓ If you rejected the voyage by accident — you can accept it later
- ✓ Enter weighing carefully — incorrect data can lead to problems during unloading
- ✓ Always check the final information before clicking “All correct”
- ✓ Use a period, not a comma for decimal numbers (
30.2, not30,2)
⚠️ Possible Errors:
| Problem | Cause | Solution |
|---|---|---|
| New voyages not arriving | Voyage rejected or not assigned | Check “View Voyage”, write to dispatcher |
| ”Current Voyage” button doesn’t appear | Voyage not confirmed | Click “Confirm Voyage”, try /start |
| Bot doesn’t accept weight | Incorrect format | Use only numbers and period: 30.2 ✓ (not 30,2 t ❌) |
| Accidentally entered wrong weight | Confirmed incorrect data | Contact dispatcher for correction |
| Rejected voyage but want to return | Voyage rejected | ”View Voyage” → “Confirm Voyage” |
🎯 What You’ve Learned
Now you know how to work with voyages through the Telegram bot: receive messages about new voyages, view details, confirm or reject orders, change statuses, and enter weighing data. All work with voyages happens in one messenger without calls and paper bureaucracy.
🔄 Complete Voyage Execution Cycle
After entering loading weight, the voyage transitions to “In Transit” status. The driver goes through all stages: travel, arrival, inspection, unloading, and voyage completion with document processing.
🚗 Status “In Transit”
How it works?
After you entered and confirmed gross and tare weight at loading, the system automatically changes the voyage status to “In Transit”.
Step 1. Voyage received “In Transit” status
Click “Current Voyage”
You will see updated information:
⚖️ Cargo:
Loaded:
Gross: 50.0t
Net: 45.0t
Tare: 5.0t
Unloaded: Not specified
📊 Status: In TransitStep 2. Choose action
Under the voyage information, two buttons appear:
- ⏰ “Delayed” — if you won’t arrive on time
- 📍 “Arrived” — when you arrive at the unloading point
⏰ Delay Notification
When to use?
If you realize you won’t make it to the unloading point at the estimated time specified in the voyage, notify about this in advance.
Step 1. Report delay
- Click the “Delayed” button
- System records the delay
- Dispatcher receives notification
Step 2. Continue movement
- Voyage status remains “In Transit”
- When you arrive, click “Arrived”
📍 Arrival at Unloading Point
What happens on arrival?
When you click “Arrived”, the system automatically sends SMS messages to you and to the unloading terminal.
Step 1. Confirm arrival
- After arriving at the unloading address, click “Arrived”
- Status: changes to
Arrived
Step 2. SMS messages
Automatically happens:
- 📱 You receive SMS: “You have arrived at the terminal. Wait for inspection call”
- 📱 Terminal receives SMS: “Driver [your name] has arrived. Vehicle [number]“
Step 3. Wait for call
- Terminal will receive the message and call you for inspection
- Follow announcements or wait for SMS/call from the terminal
🔬 Inspection at Terminal
What is inspection?
Inspection is a cargo verification procedure: grain samples are taken and control weighing is conducted. Whether the cargo will be accepted for unloading depends on the results.
Step 1. You will be called for inspection
- Terminal will call you (SMS, announcement, or in person)
- Go to the inspection point according to terminal instructions
Step 2. Status “At Inspection”
When you are at the inspection point, status automatically updates:
Status: At Inspection
Terminal specialists:
- 🧪 Will take grain samples for analysis
- ⚖️ May conduct control weighing
- ✅ Will check cargo quality
Step 3. Wait for analysis results
If analyses are good:
- ✅ You will be directed to unloading
- Status changes to “At Unloading”
If analyses don’t meet requirements:
- ❌ They may refuse to accept the cargo
- 📞 Contact dispatcher for further instructions
📦 Unloading Cargo
How it works?
After successful inspection, you go to unloading. After unloading, you need to enter weighing data and attach a photo of the TTN.
Step 1. Status “At Unloading”
- After inspection Status: changes to
At Unloading - Go to the specified unloading point
- Unload cargo according to terminal instructions
Step 2. Enter weight after unloading
- After unloading, click “Current Voyage”
- Bot will send: “⚖️ Enter gross weight after unloading in tons”
- Enter gross weight (for example,
5.2) - Bot will send: “⚖️ Now enter tare weight in tons”
- Enter tare weight (for example,
5.0)
Step 3. Check unloading data
Bot will show calculation:
⚖️ Gross: 5.2 t
⚖️ Tare: 5.0 t
⚖️ Net: 0.2 t (how much remains after unloading)Question: “Is this correct?”
- ✅ All correct — data will be saved
- 🔄 Enter again — correct the error
Step 4. Photograph TTN
- After confirming weight, bot will ask: “Attach TTN photo”
- Photograph the consignment note
- Send the photo in the bot chat
📸 Make sure the photo clearly shows:
- TTN number
- Date
- Weight
- Signatures and stamps
Step 5. Voyage completion
✅ After attaching TTN photo
Status: automatically changes to Unloaded
🎉 Voyage completed successfully!
📋 Complete Information about Completed Voyage
After completing the voyage, you can view all information:
🚛 Voyage # f3e228e1...
🚗 Vehicle: ВН5903ІС12212131
🚚 Trailers: ВН5534ХІ, ВН5535ХІ
📍 Route:
123 Main Street, Kyiv
↓
456 Oak Street, Lviv
📅 Estimated date:
2025-03-13 - 2025-03-16 (until 12:00:00)
⚖️ Cargo:
Loaded:
Gross: 50.0t
Net: 45.0t
Tare: 5.0t
Unloaded:
Gross: 5.2t
Net: 0.2t
Tare: 5.0t
📊 Status: Unloaded ✅🔄 All Voyage Statuses Diagram (Happy Flow)
| Status | Description |
|---|---|
| 1. Announced | Voyage created, awaiting confirmation |
| 2. Accepted | You confirmed the voyage |
| 3. Departed for loading | Driving to loading point |
| 4. At loading | Loading and entering weight |
| 5. In Transit | Driving to unloading point |
| 6. Arrived | Arrived at terminal |
| 7. At Inspection | Undergoing quality check |
| 8. At Unloading | Unloading cargo |
| 9. Unloaded ✅ | Voyage completed |
💡 Tips and Possible Errors
Tips:
- ✓ Report delays in advance — this helps the terminal adjust the schedule
- ✓ During inspection, have cargo documents with you
- ✓ Photograph TTN in good lighting — the document must be readable
- ✓ Keep the original TTN until the voyage is fully completed
- ✓ Check weighing data before confirming — it’s difficult to correct an error after completion
⚠️ Possible Errors:
| Problem | Cause | Solution |
|---|---|---|
| SMS didn’t arrive about arrival | Didn’t click “Arrived” or no connection | Check if you clicked the button, contact dispatcher |
| Can’t proceed to inspection | Waiting for terminal call | Make sure you clicked “Arrived”, contact the checkpoint |
| Analyses didn’t pass inspection | Cargo quality doesn’t meet requirements | Immediately contact dispatcher, follow terminal instructions |
| Bot doesn’t accept TTN photo | Incorrect format or file size | Send photo (not file) in JPEG/PNG format, up to 20 MB |
| Accidentally entered wrong weight | Confirmed incorrect data | If not confirmed — “Enter again”, if confirmed — urgently contact dispatcher |
| Forgot to photograph TTN | Can’t complete voyage without photo | Return to terminal for a copy, contact dispatcher |
🎯 What You’ve Learned
Now you know the complete voyage execution cycle from confirmation to completion. You can:
✅ Report delays
✅ Pass inspection
✅ Enter weighing data
✅ Process voyage completion with TTN
All work happens through the Telegram bot without unnecessary calls and paper bureaucracy! 🚛📱