Repository navigation
Release Summary
Version 1.0.0 introduces the Stripe Payment Gateway, a sophisticated AI Agent (VitalBot) for automated booking, and a complete Reporting Engine. It builds upon the core foundation of Branch Management, Access Control, and Membership logic developed throughout late 2025.
New Features & Modules
AI & Automation (New)
VitalBot Agent: Integrated LLM capability to handle natural language queries for schedules and bookings (Recent).
Smart Tools: Implemented book_class, cancel_booking, and get_available_classes with self-correction logic for UUIDs (Recent).
Multilingual Support: System prompts adapted for dynamic language detection (En/Es) (Recent).
Finance & Billing
Stripe Integration: Full support for Checkout Sessions and Webhooks for automated payment reconciliation (Recent).
Invoicing System: Logic for Invoices, Invoice Items, and Fiscal Documents.
Payment Methods: Configuration for Global vs. Branch-specific payment methods (Gateways/Terminals).
Partial Payments: Support for partial payments on invoices.
Business Intelligence (Reports)
Financial KPIs: Weekly revenue, Average Ticket, Recurring Revenue, and Accounts Receivable.
Operational Stats: Occupancy rates, Active Members, and Class Capacity Ratios.
Visual Charts: Data endpoints for Sales by Category, Top Instructors, and Activity Heatmaps.
Core Operations
Branch Management: Full CRUD, pagination, and status management for gym locations.
Access Control: QR Check-in, Face ID ready, and Attendance Logs.
Inventory: Equipment tracking and Branch Inventory management.
Staff Module: Hierarchical staff management, branch assignment, and permission handling.
Commercial & Growth
Memberships: Plan management with dynamic pricing and status tracking.
Combos/Packages: Service bundles and class packages.
Promotions: Complete promotions API.
Public API: Public endpoints for branches map, services, and memberships.
Security & Auth
RBAC System: Complete Role-Based Access Control refactor.
OAuth: Google Authentication integration.
Contextual Login: Enhanced security flows for staff and clients.
What's Changed
- Feat/user authentication by @Davjego in #1
- Feat/workflows by @Davjego in #2
- fix version for render by @Davjego in #3
- fix register client by @Davjego in #4
- Fix/birthrateparse by @Davjego in #5
- Create Branch flow by @Davjego in #6
- hotfix/branches by @Davjego in #7
- fix redirect 301 error on get branches by @Davjego in #8
- count added to get branches by @Davjego in #9
- feath(branches): soft delete branches, params for filter by @Davjego in #10
- Feat/branch update branch added by @Davjego in #11
- fix(branches) fixing pagination by @Davjego in #12
- refactor(branches): branch status count now has his own endpoint by @Davjego in #13
- Feat/branch by @Davjego in #14
- (API-ADM-11)Feat/auth by @Davjego in #15
- feat(inventory): implement CRUD for branch inventory and global equipment modules by @MrWisz in #16
- (API-ADM-5,6)Feat/instructor Implementation of the instructor module by @Davjego in #17
- feat(branches-map): implement public /v1/public/branches-map endpoint to list active branches by @MrWisz in #18
- (API-ADM-15,8,4)Feat/products Implement Endpoints for Service, Branch, and Banner Management by @Davjego in #20
- Feat(billing): Implement full payment methods module with master CRUD and branch-specific configuration by @Davjego in #21
- feat(memberships): implement full CRUD endpoints for membership plans by @MrWisz in #22
- Feat/user-list User Listing Endpoints Optimization and Clarification by @Davjego in #23
- hotfix/ getbyid equipment, branchinventory branchpaymentmethod by @Davjego in #25
- Feat: Add summary endpoints, list filtering/pagination, and migrate user status by @Davjego in #26
- Feat/auth staff, fixes and feats for users clients and staff by @Davjego in #27
- feat(Billing, RBAC): Refactor payment methods and add role pagination by @Davjego in #28
- feat(class-schedule): implement full CRUD for class scheduling module by @MrWisz in #29
- fix: auth validate reset token flow by @Davjego in #30
- feat(packages): Implement CRUD for Packages by @Davjego in #31
- feat(booking): implement class booking flow with schedule listing, create, cancel and client bookings endpoint by @MrWisz in #32
- feat(billing, memberships): Add currency conversion for memberships with Redis caching by @Davjego in #33
- Feat(billing) Payment flow, invoice, invoice_items, payments, invoice email, exhange_rates by @Davjego in #34
- feat(oauth-login): add OAuth login endpoint for Google authentication flow by @MrWisz in #36
- Feat: Membership Activation, Access Control, Booking Logic, & Billing History by @Davjego in #37
- Feat/seed Database Seeding: Comprehensive Data Population for Core Modules by @Davjego in #38
- Feat: Implementation of Reporting and Analytics Module by @Davjego in #39
- Fix: Get clients pagination and branch schedule permissions by @Davjego in #40
- Fix client permissions and optimize top branch chart performance by @Davjego in #41
- feat(auth): Add Update Password and Resend Activate OTP Handlers by @Davjego in #42
- feat(promotions): implement complete promotions management API by @MrWisz in #43
- feat(memberships): implement cancellation reasons CRUD by @MrWisz in #44
- feat(staff): Implement Staff Module, Class Booking Fixes & Product Updates by @Davjego in #45
- fix(billing): Resolve issue with creating payment methods by @Davjego in #46
- feat(reports): Comprehensive Reporting Module, Financial KPIs & Auth Fixes by @Davjego in #47
- feat(reports): Add Retention KPIs, Cohort Analysis & Staff Pagination by @Davjego in #48
- fix(billing): Correct logic for updating payment methods by @Davjego in #49
- feat(policy): Setup Policy Module & Instructor Branch Access by @Davjego in #51
- feat(class-bookings-list): implement endpoint to list class bookings with client info and new booking statuses by @MrWisz in #50
- feat(wishlist): implement wishlist management API for HU-ECOMMERCE-08 by @MrWisz in #52
- fix(api): Implement pagination for lists & update seeds by @Davjego in #53
- refactor(permissions): Enforce branch_management for branch relations by @Davjego in #54
- feat(schedule): Implement Class Recurrence & Client Schedule Filtering by @Davjego in #55
- feat(reports): Add Sales by Demographics & Policy Seeding by @Davjego in #56
- feat(audit): Implement Audit Logging System & Policy Enhancements by @Davjego in #57
- feat(auth): Implement Stateful Sessions & Rotational Refresh Tokens by @Davjego in #58
- feat(cronjobs): Initial Setup, Rate Sync & Membership Expiry Automation by @Davjego in #60
- feat(notifications): Implement Notification System, Automated Reminders & Cron Refactor by @Davjego in #63
- feat(medical): Api for client's medical data by @MrWisz in #59
- feat(banners): Add random banner endpoint for marketing module by @MrWisz in #61
- feat(attendancy): Add attendance history and service usage endpoints with pagination by @MrWisz in #62
- fix: Resolve GORM relations & add missing history permission by @Davjego in #64
- feat(data): System-wide CSV Exports, Churn Alerts & Operational Enhancements by @Davjego in #65
- feat(assigned-clients): API to retrieve Assigned clients to a specific Instructor by @MrWisz in #66
- feat(access): Manual Check-in, User Scoring & Client Balance by @Davjego in #67
- fix(exports): Resolve CSV/Excel/PDF generation & Instructor Client List by @Davjego in #68
- feat(reports): Add Instructor Daily Metrics (Students & Attendance) by @Davjego in #69
- feat(users): Add Profile Picture URL to Client Response by @Davjego in #70
- hotfix assigned clients intructor by @Davjego in #71
- feat(ai): Implement Facial Recognition Check-in (AWS Rekognition) & fix(billing) by @Davjego in #72
- fix(core): Security Hardening, Cascading Deletes & Report Accuracy by @Davjego in #73
- feat(reports): RFM Analysis, User Unblocking & Access Enhancements by @Davjego in #74
- feat(routines): Implement Workout Routines, Exercises & Progress Tracking by @Davjego in #75
- feat(billing): more search params to find an invoice by @Davjego in #76
- fix(products): Handle upsert and soft-delete recovery in AssignBranchService by @Davjego in #77
- feat(llm): Implement AI Chat Module with History Management by @Davjego in #78
- hotfix(cicd): Inject OpenAI API Key into deployment environment by @Davjego in #79
- feat(llm): Implement OpenAI Function Calling (Agent Capabilities) by @Davjego in #80
- fix(llm): Correct JSON Schema for parameterless OpenAI tools by @Davjego in #81
- fix(llm): Enable Iterative Tool Chaining (Multi-Step Reasoning) by @Davjego in #82
- fix(llm): Enhance Agent interactions, GORM relations & Client Routine permissions by @Davjego in #83
- fix(llm): Enhance Agent Context, Tool Self-Correction & Response Filtering by @Davjego in #84
- feat(llm): Auto-fetch branches when Branch ID is missing by @Davjego in #85
- fix(auth): Enforce Blocked Status & feat(llm): Add Membership Validation to AI Agent by @Davjego in #87
- fix(llm): Optimize System Prompt & Enable Multilingual Support by @Davjego in #88
- feat(schedule): Filter Instructor Classes by Branch & fix(billing): Payment Method List by @Davjego in #89
- fix(schedule): Ghost Classes, Date Filtering & LLM Accuracy by @Davjego in #90
- fix(core): Resolve Ghost Records (Integrity) & Deduplicate Notifications by @Davjego in #91
- fix(inventory): Explicitly define GORM table names for Equipment by @Davjego in #92
- refactor(core): Optimize Attendance Schema & Report Performance by @Davjego in #93
- fix(llm): Enforce UUID usage over List Indexes in Tool Calls by @Davjego in #94
- fix(booking): Filter out Cancelled Bookings from Client History by @Davjego in #95
- feat(stripe): Integrate Stripe Checkout & Webhooks + fix(booking): Upsert Logic by @Davjego in #96
- fix(stripe): Update Webhook Compatibility & Checkout Redirect URLs by @Davjego in #97
- update readme by @Davjego in #98
- Release Notes: VitalFit API v1.0.0 by @Davjego in #99
New Contributors
Full Changelog: https://github.com/VitalFitTeam/api/commits/mvp