Order Line Service Charge Removal and Service Charge on Ticket Tag (Dine/To Go)

This type of flow is in my opinion fairly complex.

I put together something similar to handle Customer VIP Discounts and Happy Hour Discounts using Ticket States, Order States, and Order Tags. It allows Order-line level discounting and removal based on Ticket State, Order State, and applies or removes discounts via Order Tags, based on Custom Product Tags and Customer VIP level data.

Although it isn’t exactly what you’re looking for, I believe the theory and flow are what you probably need to accomplish your task.

You need to keep in mind that you are trying to mix Order level and Ticket level discounts, which can be very difficult to handle, that is, they don’t really mix well natively. You should try to stick to Order-level calculations only in your case, IMO. The implementation I show above does not use Ticket-level calculations; it only uses Order-level calculations.