The structural half, which people skip because it feels like a business decision rather than a time one: what you sell decides how much it can expand.
Some offers are unbounded by nature. Anything custom, anything ongoing, anything where the customer sets the scope. Those will eat whatever time exists, and no amount of scheduling fixes it, because the demand genuinely is larger than your slot.
Some offers are naturally bounded. One narrow thing, defined deliverable, fixed scope, delivered and finished.
If you are in the first category alongside a job, the honest options are to narrow what you sell, put fewer customers on it, or raise the price so fewer people buy and each one is worth the disruption.
Two specific things that helped me:
Say no to the interesting exception. The custom request that is slightly outside what you offer is the one that consumes three weekends. It is also always the most tempting.
Batch the admin. Invoicing, email, bookkeeping in one slot rather than scattered. Scattered admin is what makes ten hours of work feel like thirty.
And be honest about which category you are in before you try harder at scheduling. Discipline cannot fix an offer that has no edges.