Skip to content

My Weekly Schedule Initial Etimation



Financial Planning for the Gig Economy
For Trainers
Trainers need help making decisions about how they spend their time.
Factors include:
Revenue per hour
Group classes at various fitness studios
Personal training at a paid venue (includes hourly venue cost)
Personal training
Travel time
Recurring schedule
Subbing availability
Most trainers have a combination of
Personal training clients
Regular (recurring) group classes at a variety of studios
Subbing group classes (one time) at a variety of studios
Key Data to display
Monthly Recurring revenue
1:1 hours/ week
Group hours/ week
Set Goals- Display in Change over time from start
Hours/ week
Days/ week
Virtual / In Person revenue
Virtual / In Person time
Savings goal (nerdwallet or ???? integration)
Make suggestions based on goals
Opportunities this week w outcomes based on goals (progress or stars)
Progress towards monthly revenue goal
Progress towards selected goal
Let studio book me
MINDBODY - Mariana Tek - Glofox integration
Let client book me in person
Include travel time by public transit, car, walking
Let client book me virtually
Set availability in google or ical and invite MYWEEKLYSCHEDULE/PT or MYWEEKLYSCHEDULE/studioID
Creates availability
Autobook PT y/n (per day- week- month)
Autobook Group y/n (per day-week- month)
Include travel time (default - options walk, public transit, drive)
Notification includes hourly revenue (one off)
Notification includes monthly revenue (one off + recurring)
Trainer Onboarding
Sync Calendar
Sync pro Insta/ TikTok
Add up to 5 rates
Group Class (60 min)
Group Class (45 min)
Personal Training In Person
Personal Training, Virtual (w Google Meet / Zoom)
For Studios
Studios need help finding trainers who are available and will be a good match for a subbing opportunity, a new class, or taking over an existing class
Suggest a sub by expected attendance - pay, team player metrics (response, reliability)
has market share, but is studio operations focused, let’s be trainer focused communicating the value of career planning
My Trainers - smart schedule / smart sub
Potential Trainers - recommended a trainer for your studio
Book My Trainer - add one of my trainers to a recurring class or a new class
Book A Sub - add one of my trainers as a sub for a class
Confirmation for recurring class, new class, sub

Functional Requirements

1. User Authentication and Authorization:

Users should be able to register and log in as either trainers or studios.
Role-based access control to distinguish between trainers and studio managers.

2. Trainer Dashboard:

Display a personalized dashboard for trainers.
Show current schedule, including personal training sessions, group classes, and subbing opportunities.
Provide the ability to set availability for each day, including start and end times.

3. Studio Dashboard:

Display a personalized dashboard for studio managers.
Show available trainers, their schedules, and recommended trainers for specific needs.
Enable studio managers to book trainers for recurring classes, new classes, or as substitutes.

4. Revenue Tracking:

Calculate and display monthly recurring revenue for trainers.
Break down revenue by 1:1 hours per week and group hours per week.
Track virtual and in-person revenue separately.

5. Goal Setting and Monitoring:

Allow trainers to set goals for hours per week, days per week, and revenue.
Display progress towards goals over time.
Integrate with financial tools (e.g., NerdWallet) for savings goal tracking.

6. Booking System:

Implement a booking system for trainers and studios.
Enable clients to book trainers for in-person or virtual sessions.
Include travel time considerations based on mode of transportation.

7. Availability Management:

Allow trainers to set and manage their availability through Google Calendar or iCal.
Include options for automatic booking for personal training and group classes.

8. Notifications:

Send notifications to trainers for hourly and monthly revenue.
Notify studios about potential opportunities matching their needs and goals.

9. Integration:

Integrate with MINDBODY, Mariana Tek, Glofox for studio bookings.
Sync calendars for trainers and studios.
Integration with Google Meet or Zoom for virtual sessions.

10. Onboarding:

Smooth onboarding process for trainers, including calendar syncing and rate setting.
Sync professional social media accounts like Instagram and TikTok.

Non-functional Requirements

1. Performance:

Ensure fast response times for both trainers and studio managers.
Handle simultaneous bookings and schedule updates efficiently.

2. Security:

Implement secure user authentication and data encryption.
Comply with data protection regulations (e.g., GDPR, HIPAA).

3. Scalability:

Design the system to handle a growing number of users and transactions.

4. Usability:

Create an intuitive and user-friendly interface for both trainers and studios.
Provide clear guidance during the onboarding process.

5. Reliability:

Minimize downtime and ensure the system is available when users need it.

6. Compatibility:

Ensure compatibility with various devices and browsers.

7. Data Backup and Recovery:

Implement regular data backups and a robust recovery plan.

8. Compliance:

Adhere to industry standards and legal requirements in the financial and fitness sectors.

9. Training and Support:

Provide documentation, tutorials, and customer support for users.

10. Feedback and Improvement:

Collect user feedback to continuously improve the platform.

Estimate (days)
Project setup
Set Up Monorepo Project
Establish a monorepository to manage multiple related projects, fostering code sharing, centralized configuration, and efficient development workflows.
Set Up Frontend Apps
Create a structured and scalable frontend applications for trainers and studios that meets project requirements.
Set Up Backend App
Create a robust backend application that supports the frontend, handles business logic, and interacts with the database.
Set Up Database Connection
Establish a secure and reliable connection between the backend application and the chosen database system.
Set Up Configuration for All Environments
Define configuration settings for various environments (development, staging, production) to ensure consistent behavior across deployments
Set Up API Client
Create a client library or module for interfacing with the backend API, facilitating communication between the frontend and backend applications.
CI/CD Implementation
Establish a streamlined and automated CI/CD pipeline to facilitate the continuous integration, testing, linting and deployment of code changes, ensuring rapid and reliable delivery of software throughout the development lifecycle.
Studio Integration
Set Up Web Widget Integrations
Web Integrations are a way to integrate My Weekly Schedule features into studios existing website for Mariana Tek
User Authentication and Authorization
Implement trainer registration and login functionality
Allow trainers to create accounts with Google or Apple account with necessary details.
Implement role-based access control
Define roles for trainers and studios, ensuring appropriate permissions.
Implement automatic studio registration and authorization
Once studio has implemented web integration in their app, we need a way to automatically log in as MT/MINDBODY/Glofox user. For MT, this is achieved using OAuth2 ().
Implement Google Calendar integration
Enable trainers to integrate with their Google Calendar, retrieve availability settings and send calendar invitations.
Implement Google Maps integration
Include travel time considerations based on the mode of transportation
Studio widget
Implement proposed trainer widget
Retrieve all information about current class from page and list proposed trainers based on selected options for all fitness management softwares.
Select one of proposed trainer for class
Once trainer is selected, we need to create them as one of studio employees and send new calendar appointment to trainer.
Update class details based on trainer response to appointment
If trainer declines appointment, we need to notify fitness management software and remove selected trainer from class.
Trainer Dashboard
Design and implement a personalized trainer dashboard
Display the current schedule, including personal training sessions, group classes, and subbing opportunities.
Enable trainers to set/update their availability
Implement a user-friendly interface for setting availability for each day.
Revenue Tracking
Implement a revenue calculation system
Calculate and display monthly recurring revenue for trainers.
Break down revenue by 1:1 hours per week and group hours per week
Add ability for trainers to add payment details for every class
Goal Setting and Monitoring
Design and implement goal-setting features
Allow trainers to set goals for hours per week, days per week, and revenue.
Display progress towards goals over time
Implement notification system for trainers
Send notifications for hourly and monthly revenue, and potential opportunities.
Prototyping and Design
Create wireframes or prototypes for the user interface
Refine the design based on feedback and usability testing and create UI
Conduct thorough testing for each feature and functionality
Deployment and Monitoring
Deploy the application in a controlled environment
Implement monitoring tools for performance tracking

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.