Advice on queueing/shaping clients on brand new WISP network

I’m building a new WISP network… Here are some considerations.

Uplink provider gives us a 100 Mbps Down/Up line.

We have two types of customers: “Basic” and “Premiums”. The difference between them is that Premium customers must have their bandwidth guaranteed, no matter when in the day, they would test their connection speed or just transfer data.

And each client should have its own download/upload bandwidth limited depending on their subscribed plan:
Symmetrical BW
Asymmetrical BW

The total amount of premium-based contracts sums up to 140 Mbps Up/Down.

We want to give premium users a 2:1 relation between available bandwidth and subscribed/contracted bandwidth.

For basic customers I don’t care about the relation that they would obtain.

So, here are my doubts:

  1. Should I create 2 Main/Parent Queues?

“Basic Clients Queue” with total limit of 30 Mbps Down/Up (???). So TOTAL amount of BW used for all basics wouldn’t exceed a 30 Mbps Down/Up LIMIT. (And add a child queue for each client)

“Premium Clients Queue” but with a max limit of 70 Mbps Down/Up (???)

  1. If above is incorrect which way is best for shaping/queuing on this scenario. And HOW should I implement it?
  2. Should I have multiple vlans for each “type” of customer? So I can “catch them” easier or simply create an address list to each type? (VLAN 10 BASIC CUSTOMERS; VLAN 20 PREMIUM CUSTOMERS)

As for now I have created each PCQ queue type for each client plan/contract. And added a simple queue, targeting each customer ip with their respective Queue Type.

But the problem is that “basic clients” are using more bandwidth that they should, and are compromising “premium clients”.

Any help would be highly appreciated

EDIT: Changed Premium users cumulative bandwidth and relation.

Shape your customers as early and as often as you can to sensible limits. If it was me. I’d limit my clients at least at the edge of the network. If you are constraining your premium customers at their ingress into your network they cumulatively cannot be exceeding your 70 mbps figure cumulatively as their traffic exits your network upstream. You can bundle this into a second more generic queue at your edge router as well as a fail-safe but likely not needed for traffic originating at the client. Then you have to worry about traffic going to them. You’ll want to protect each client’s traffic at your edge as heads into and through your network to the clients CPE.

Once you’ve done that you will then have 30 mbps of traffic un-protected that the default queue can fight over. If you choose you can replicate the detailed into and through policy for each regular client to a generic sense and again limit them to some number at the CPE so that a single customer doesn’t use the entire 30 mbps all the time. Maybe a 5 or 10 mbps number. Whatever your business logic has worked out.

I already shape them on the CPE, but for now how should I create a 70Mbps Queue and a 30 Mbps Queue on my edge router?

Edit: Considering “premium” users should be treated on a 2:1 relation (i.e cumulative bw=140Mbps available bw=70Mbps)