Update: After playing around a bit I realized the following:
Rather than collect the deposit up front, I can collect the credit card into up front and add verbiage in my service agreement that says if they cancel last minute or are a no show, then I'll charge their card after the fact. I'd just have to replace the line items on the job with one line item called "cancellation fee" then create an invoice, mark as sent, then collect payment.
It would be great if jobber would write a few lines of code to make this easier, but this seems to be a good workaround.
Anyone else have any thoughts?