Utilising all vehicles

Hi Folks

I would appreciate help with this constraint if you could please.

I have a number of trucks. They are grouped by having specific skills. (crane, fork etc).
I need to make sure that all vehicles are allocated a job before vehicles are allocated 2nd, 3rd jobs etc. This is more important than a distance/time based efficient route. In short - all vehicles need to get a job if possible. “not possible” pretty much means not enough jobs.

I tried to write a state manager but this has failed spectacularly.

The tricky bit, I think, is that when I have a job to insert in the hard constraint, if the candidate truck already has delivery jobs allocated then I need to check to see if other trucks with the same skill (“crane”) etc have all got jobs allocated. If there are other valid trucks without a job then I need to return not_fulfilled.

Tracking this is the trick.

kind regards