Yakuza's Cabaret Czar

Hi all,
first of all, sorry if this is the wrong section for this type of post, I didn’t find anything that looked more suitable.

I’m a programmer that’s getting into game development and, after my fair share of tutorials and such, I decided to start working on my first project: a small clone of Yakuza’s Cabaret Czar minigame.
For those that don’t know what I’m talking about, I’ll try to give a summary: Cabaret Czar is a minigame in Yakuza 0 and Yakuza 2 in which the player manages a cabaret club. They will have to handle a roster of hostesses, each one with their own stats, and assign them to patrons occupying the tables, each one with their own preferences. The patrons will then start spending money, with the frequency dictated by their happiness (that depends on how well the hostess meets their preferences) and the amount dictated by their level of wealth. There are more complicated layers, but that’s the core of it and, on paper, it sounds simple enough. But I still got stuck.

What I have so far: a Hostess class and a Patron class. The Hostess class so far is unused, but it holds the hostess stats and I should somehow “attach” it to the client to influence how happy they are; the Patron class has a custom event on Tick that produces money based on its wealth and happiness until their session ends and they are destroyed. In the level blueprint, I have a Table int representing the number of available tables: the blueprint periodically spawns a new Patron as long as they are less than said int.
The thing is, I’m not sure this is the right approach or the most optimal one, and how to approach it in a different way. Like, I know I should avoid doing stuff on Tick, but how could I handle it differently? Or how would I go about assigning the hostess to the client? Basically, how would you approach it?

I thank in advance anyone that helps me with this, and sorry for both the wall of text and for the mistakes in my English, it’s not my native language!