A foreign company setting up in Thailand asks the same question in the first month, and it always sounds simple. Our plant will be in Rayong and our customer is in Lamphun. How long does the truck take?
Somebody opens a map, gets a distance, divides by a speed and answers in hours. That answer is wrong by a factor of about three, and the error is not in the arithmetic. It is in the belief that a truck's day is made of driving.
What follows is how to build the real number, using only things you can check.
You are not being asked for a transit time
The question that gets asked is "how long does the truck take". The question that has to be answered is "what date can I promise".
Three clocks sit inside that, and they are different lengths.
- Driving time. How long the wheels turn. It is the shortest of the three and the only one a map can estimate.
- Door-to-door time. Gate of origin to gate of destination, including loading, the two urban ends, the driver's legally required breaks, and unloading.
- Order-to-delivery lead time. The customer's clock. It starts when the order is placed, and it includes your order cut-off, your picking, the wait for a vehicle, and the receiving window at the far end.
Only the third one appears in a contract. The gap between what a customer will wait and what your pipeline actually takes is the lead-time gap, and the size of that gap in hours is what decides how much stock you have to hold to cover it. Get the transit number wrong at the setup stage and you will pay for it every month afterwards in inventory, without ever tracing it back to the day somebody divided a distance by a speed.
The map is lying about the road network
The single biggest source of error is that a foreign reader sees the word "highway" and pictures a grade-separated motorway. In Thailand that is almost never what it is.
The Ministry of Transport publishes the road length of every road authority in the country. For B.E. 2568, the most recent year in the series:
| Network | Kilometres |
|---|---|
| National highways, Department of Highways | 51,998.654 |
| Motorways, Department of Highways | 402.420 |
| Concession highways | 20.897 |
| Rural roads, Department of Rural Roads | 52,348.599 |
| Expressways, Expressway Authority of Thailand | 224.600 |
| Local roads, Department of Local Administration | 597,666.880 |
| Local roads, Bangkok Metropolitan Administration | 4,485.358 |
The intercity trunk network, meaning national highways plus motorways, is 52,401 kilometres. Of that, 402 kilometres are motorway. That is 0.77 per cent. Against every road in the country, about 707,000 kilometres, the motorway share is roughly one twentieth of one per cent.
Treat the motorway figure as one that moves with classification rather than with construction: the same series shows 486.547 kilometres for B.E. 2567 and 402.420 for B.E. 2568, which is a reclassification, not a network that shrank. The order of magnitude is what matters, and it does not change.
So the practical meaning is this. Your line haul will run almost entirely on an at-grade national highway. It is often four lanes and it often has a median, and it is still a road with U-turn openings, traffic lights, roadside businesses, motorcycles joining from the shoulder, and towns that the road goes through rather than around. It behaves nothing like the picture the word suggests.
The legal speed is not one number, and it is not the planning speed
The Ministerial Regulation on speed rates, read in Thai, sets the ceiling for a truck whose vehicle weight exceeds 2,200 kilogrammes. There are four different ceilings for the same truck on the same trip:
| Where it is | Ceiling for the truck |
|---|---|
| Bangkok, Pattaya City, a city or town municipality, or a community zone | 60 km/h |
| Outside all of those | 80 km/h |
| Outside all of those, where the road has two or more lanes each way and a physical median | 90 km/h |
| On a frontage road, wherever it is | 60 km/h |
Three details in that table cost people time they did not budget for.
A "community zone" is not a place on a map. The regulation defines it as an area where people live densely or move about in numbers, or where there is a school, a hospital or an area development project, or an activity that brings many people together beside the road, as announced by the chief traffic officer. It follows people, not administrative boundaries, and it is created by announcement. A 400 kilometre run can pass through dozens of them, and in each one the ceiling drops by 20 or 30 km/h.
The median has to be a real one. The 90 km/h rate needs a raised, depressed or barrier median. A painted line does not qualify, however wide it is.
The frontage road takes the 60 km/h rate wherever it is. The last few kilometres into many industrial estates run on exactly that, so the slowest legal stretch of a long trip is often the part closest to your own gate.
And a posted sign always wins where it is lower than the regulation.
None of these are the number you plan with. They are ceilings. A planning speed has to come out of measurement, and the two ends of the trip are where the measurement bites hardest.
What the urban ends actually cost
Bangkok is the only place in Thailand with a continuously measured, published figure, and it is worth reading carefully because it sets the scale for every metropolitan leg in the country.
TomTom's Traffic Index for the 2025 calendar year puts the average trip across the city at 22 minutes 59 seconds per 10 kilometres. That is 26 km/h. Average speed on the fast roads inside the area was 51.7 km/h. In the morning peak the same 10 kilometres took 25 minutes 45 seconds, an average of 23.3 km/h; in the evening peak, 31 minutes 25 seconds, an average of 19.1 km/h.
The worst day of the year was Friday 28 March 2025, when traffic at three in the afternoon covered 2.5 kilometres in 15 minutes. That is 10 km/h.
These are figures from ordinary vehicles, so a loaded truck does no better. Put a 25 kilometre urban leg through them:
| Condition | Time for 25 km |
|---|---|
| Average across the year | 57 minutes |
| Morning peak | 64 minutes |
| Evening peak | 79 minutes |
| Worst afternoon of 2025 | 150 minutes |
The same 25 kilometres is either 57 minutes or two and a half hours, a spread of 2.6 times, and none of it appears on a map.
Then the ban windows take out the hours you would have wanted. On the listed Bangkok expressways, a six-wheel truck is barred between 06:00 and 09:00 and between 16:00 and 20:00; a truck of ten wheels or more, and a trailer, is barred between 06:00 and 09:00 and between 15:00 and 21:00, on any day that is not a public holiday. For the larger vehicle that is nine hours of the day closed, and between 09:00 and 21:00 only six of those twelve hours are open. The windows are set out in more detail, and worked through on a real lane, in the article on the Ayutthaya to Laem Chabang run.
The driving day is capped, and it is the constraint that decides the date
Section 103 bis of the Land Transport Act B.E. 2522, read in Thai, is the rule that turns hours into days.
Within a twenty-four hour cycle, a licensed driver may not drive for more than four consecutive hours from the moment of starting. After a continuous rest of not less than half an hour, he may drive for a further period of not more than four consecutive hours. Section 127 makes a breach a fine of not more than 5,000 baht, and it falls on the driver. The section opens by making itself subject to the labour protection law, which caps the working day around it, and it prescribes no distance at all.
So the Act's own ceiling is eight hours at the wheel, and it takes at least eight and a half hours of clock to spend them. The working day and the ten-hour gap before the next one are covered in the article on waiting time charges, and both apply on top.
That gives a one-driver reach, before anything else in the day is counted:
| Running average | Distance in eight driving hours |
|---|---|
| 50 km/h | 400 km |
| 60 km/h | 480 km |
| 70 km/h | 560 km |
| 80 km/h, the legal ceiling outside towns | 640 km |
Two things fall straight out of it.
Beyond roughly 500 kilometres, one driver cannot do it in a day, and the honest answer to the customer is a second day or a second driver. Nothing about the load or the truck changes that.
An hour lost at a gate is about 60 kilometres off the far end of the day. That is the conversion worth memorising, because it prices your own dock in the only unit that matters here.
A worked lane, hour by hour
Take a 700 kilometre run from a site on the edge of Bangkok to a customer in the north, with one driver. Assume loading takes an hour and a half, the first 25 kilometres are urban, and the truck averages 60 km/h once it is clear of the city. Those three assumptions are yours to replace with your own measurements; everything else below is fixed by law or by published measurement.
Day one
| Clock | What happens | Distance |
|---|---|---|
| 07:00 to 08:30 | Report, checks, loading | |
| 08:30 to 12:30 | First driving block, four hours, the legal maximum. The first 57 minutes are the urban 25 km at the measured Bangkok rate; the remaining 3 hours 3 minutes cover 183 km | 208 km |
| 12:30 to 13:00 | The half-hour rest Section 103 bis requires | |
| 13:00 to 17:00 | Second driving block, four hours, the legal maximum | 240 km |
Day one ends at 17:00 with 448 kilometres behind and 252 to go. The driver has used the whole of the Act's eight hours. The next working day cannot begin until ten hours later, so not before 03:00.
Day two
| Clock | What happens | Distance |
|---|---|---|
| 04:00 to 08:00 | Driving block, four hours | 240 km |
| 08:00 to 08:30 | Required rest | |
| 08:30 to 08:42 | The last 12 kilometres | 12 km |
| 08:42 to 10:12 | Gate, queue, unloading |
Door to door: Monday 07:00 to Tuesday 10:12. Twenty-seven hours and twelve minutes.
Of that, twelve hours and twelve minutes had the wheels turning. Less than half the door-to-door time is driving.
The map answer, 700 kilometres divided by the 80 km/h legal ceiling, is 8 hours 45 minutes. The real answer is 3.1 times longer. And notice where the extra time went: not into traffic, which most people expect, but into the legally required breaks, the second day the law forces, the ten-hour gap between working days, and the loading and unloading at the two ends.
Two drivers do not always buy a day
The obvious response is to put a second driver in the cab and run it straight through. The law allows it, because the four-hour limit binds each licensed driver rather than the vehicle, so the pair swap and the truck barely stops. Do the arithmetic before you pay for it.
Loading still finishes at 08:30. Twelve hours and twelve minutes of driving then puts the truck at the customer's gate at 20:42.
Most receiving docks are shut by then. So the truck waits outside overnight and unloads when the window opens, at 08:00. The single-driver plan reached that same gate at 08:42 and finished unloading at 10:12.
The second driver bought about two hours. It did not buy a day.
This is the rule that catches out most people building their first Thai network: the receiving window rounds arrival forward, so hours saved on the road are only worth money if they carry the truck across an opening time. Check the far gate's hours before you buy speed. Sometimes a second driver moves the delivery a whole day earlier, and sometimes, as here, it moves it by the width of a queue.
Promise the slow number, not the average
A transit time is a distribution, not a figure, and a customer experiences the bad end of it.
Look again at the urban leg. Fifty-seven minutes on an average day, 79 in the evening peak, 150 on the worst afternoon of 2025. If you promise from the average you will be late roughly half the time, and the lateness will cluster in exactly the weeks when your customer is busiest.
Two things follow.
Put the contingency where the variance is. The line haul is the most predictable part of the trip. The urban ends, the gate queue and the unloading are where the spread lives, so that is where the buffer belongs. A flat percentage added to the whole journey puts most of the padding on the part that does not need it.
Promise something close to the ninth-worst run in ten. Once you have data this is a calculation. Before you have data, take the components you can measure, use the slow end of each, and check the answer against the driving day.
You will have data sooner than you think. Every regulated vehicle already carries a journey data recorder, so the arrival and release times for the lanes you run exist as records rather than as opinions. After eight weeks of real running, rebuild the table from your own figures and stop using the assumptions.
What to do with this
- Build a lane time table with the components separated, not a single transit figure per lane. Loading, urban egress, line haul, required breaks, urban ingress, gate queue, unloading. A single number cannot be argued with or improved.
- Convert every lane into driver-days before you promise anything. Above roughly 500 road kilometres, assume the answer is a second day unless somebody has shown you otherwise.
- Check the receiving window at the far end before paying for speed. If the gate opens at 08:00, arriving at 01:00 and arriving at 07:30 are the same delivery.
- Price your own dock in kilometres. At a 60 km/h running average, every hour a truck waits at your gate is 60 kilometres of reach you have thrown away, and it comes off the far end of the day where the customer is.
- Ask a carrier for the component breakdown, not the total. A quote that says "next day" without saying how the hours were counted is a hope. One that shows the blocks can be checked, and the parts you disagree with can be argued separately.
- Set your order cut-off against the ban windows and the driving day, not against your warehouse's convenience. The rules that decide the cost before a truck moves are in the article on order cut-offs, lead time and minimum order.
- Rebuild the table after eight weeks from the recorder data you already hold.
The distance between two Thai sites is the smallest input to the answer, and it is the only one most people use.
