In the TV world, the prevailing practice used to be cancelation less than 24 hours out was a full-boat bill. Since they never even bothered with that, I'd say you would have been justified in billing them for the day. Them posting on Facebook doesn't cut it. They should have called, emailed or at least texted. Now if it had been a "good client", that's different. You don't want to bite the hand that feeds you. My main client(125+ days a year) gets a LOT more leeway than someone that just called out of the blue.