The 26-year-old runs a post office, but felt awful when he realised he'd forgotten to put a customer's passport in the post.
The document had to arrive in Sussex by 9am the next day so that Hugh Monro could go to Amsterdam.
Driving 50 miles from his home in Cornwall to Exeter, David then hopped on an overnight train to Paddington – pulling into London at 5.30am.
Next, he got a on a tube to St Pancras and then another train to Ashford, Kent. Changing there, he caught a train to Rye just in time to hand-deliver the passport to the customer's sister.
In total, the journey cost him £150.
He told the Mirror: "It was long journey but was all worth it to keep my customers happy.
"I'm really glad I did it. It was my mistake in the first place that the passport didn't go to the postman."
We need more David Shepherds in the world!
For exclusive competitions and amazing prizes visit Reveal's Facebook page NOW!