Creating a Scheduling System for Services

Hi! Im still somewhat new to bubble and i had a couple questions. I run a service type operation and I think answers to my questions will be valuable to other users as well. A little background, I run a personal training business. I am currently working on the payment and scheduling side of things. I need to know if the system I want is possible with bubble, and any tips in the right direction are much appreciated!

On the payment side, our clients select a training plan with a number of sessions that fit’s their needs and they are charged on a reoccurring monthly basis (Subscription)

I created a sessions “thing” within the user function of the database in order to keep track of how many sessions a client has. I also have buttons that clients can click in order to subscribe to a plan, and bubble adds those purchased sessions into the users session total. My question is how can I can ensure this happens automatically for subsequent charges?

On the scheduling side, The trainers are responsible for scheduling clients. Whenever a client is trained, i need bubble to remove one session from the client database. Although the Trainer does the scheduling, I would like the client to have the ability to view scheduled upcoming appointments and be able to cancel them. would it be best to use the built in calendar plugin, or could I Build my own?

Thanks in advance for any and all help, and thanks to the creators of bubble for such an awesome tool!