You’re assuming he could schedule another session at the last minute. First, depending on location, time of day, etc. a provider doesn’t always have a bunch of offers that he can just pick from. Then there’s timing… you cancelled minutes before the session? Unless they are really close to the provider, don’t need to shower first, etc. that’s not enough time to line someone else up and get them there in all but rare cases. Third… a 3 hour session. Most sessions are an hour. Now you expect the client to be able to find someone for a 3 hour session with almost no notice?
Common sense says you let the provider know you’re stuck in traffic and will be 15 minutes late. Ask if starting and ending the session 15 minutes late is a problem. Most (good) providers aren’t stacking one appointment immediately after the first one, or making plans with friends right after. They need time between to get cleaned up, etc. If the later end time is a problem, ask if you can start 15 minutes late but end on time for the same price. 15 minutes is only about 8% of 3 hours, you’re not losing out much, and lesson learned to leave more time for traffic.
Quite frankly, I’m not sure this is the entire story, since I can’t figure out who would 1.) wait until the last minute to cancel, and 2.) wouldn’t think to see if a late arrival was a problem before cancelling. I suspect there’s more to the story.