API Documentation
Table of Contents
Interfaces
- StorageDriverInterface
- Interface for storage drivers (local filesystem, S3, etc.).
Classes
- AdminAuthController
- Admin authentication controller.
- AdminDashboardController
- Admin dashboard controller.
- AdminMailLogController
- Admin mail log controller.
- AdminMaintenanceController
- Admin maintenance management controller.
- AdminPageController
- Admin page management controller.
- AdminTestimonialController
- Admin testimonial controller for managing platform testimonials.
- AdminThemeController
- Admin theme management controller.
- ApiBaseController
- Base controller for REST API v1 endpoints.
- ApiBusinessController
- REST API controller for business profile resources.
- ApiCustomerController
- REST API controller for customer resources.
- ApiHealthController
- API health and status endpoints.
- ApiMenuController
- REST API controller for menu resources.
- ApiOrderController
- REST API controller for order resources.
- ApiReservationController
- REST API controller for reservation resources.
- AnalyticsController
- Analytics controller for client dashboard.
- ApiDocsController
- Client dashboard controller for interactive API documentation.
- ApiKeyController
- Client dashboard controller for managing API keys.
- BillingController
- Billing and subscription controller for client dashboard.
- ClientAuthController
- Client authentication controller.
- CouponController
- Client coupon management controller for CRUD and toggling.
- CustomerController
- Customer management controller for client dashboard.
- CustomerFlagController
- Client customer flag controller.
- DashboardController
- Client dashboard controller.
- GratuityController
- Client gratuity rule management controller.
- MailLogController
- Client mail log controller.
- MaintenanceController
- Client maintenance management controller.
- MenuCategoryController
- Client menu category controller for CRUD and reordering.
- MenuItemController
- Client menu item controller for CRUD, toggling, and reordering.
- MenuPhotoController
- Client menu photo controller for uploads, deletion, and gallery management.
- ModifierGroupController
- Client modifier group controller for CRUD operations on condiment/topping groups.
- OnboardingController
- Client onboarding wizard controller.
- OrderController
- Client order management controller.
- OrderExportController
- Order export manager controller.
- PayrollController
- Client payroll management controller.
- PromotionController
- Client promotion management controller for sales and automatic discounts.
- QRCodeController
- Client QR code management controller.
- ReservationController
- Client reservation management controller.
- ReviewController
- Client store reviews management controller.
- RewardsController
- Client rewards/loyalty program management controller.
- ScheduleController
- Client schedule management controller.
- SpreadsheetController
- Client spreadsheet import controller for the multi-step menu upload wizard.
- StaffController
- Staff management controller for client dashboard.
- StripeWebhookController
- Stripe webhook handler controller.
- TableController
- Client table configuration controller.
- TestimonialController
- Client testimonial management controller.
- ThemeController
- Client theme management controller.
- TipController
- Client tip management controller.
- WaitingListController
- Client waiting list controller.
- CompareController
- Compare & Save page controller.
- FlashController
- Flash setup page controller.
- HomeController
- Platform landing page controller.
- PageController
- Public page controller for static platform pages.
- PwaController
- PWA manifest controller for per-business progressive web app support.
- AccountController
- Customer account controller for order history, profile, and dashboard.
- CartController
- Shopping cart controller for storefront.
- CheckoutController
- Checkout controller for processing orders.
- CustomerAuthController
- Customer authentication controller for storefront register/login/logout.
- StorefrontHomeController
- Storefront home controller.
- StorefrontMailingListController
- Storefront mailing list controller for subscribe/unsubscribe actions.
- PushSubscriptionController
- Storefront push subscription controller for managing Web Push subscriptions.
- StorefrontReservationController
- Storefront reservation controller for customer-facing booking.
- SplitBillController
- Storefront split bill controller.
- StorefrontMenuController
- Storefront menu controller for public-facing menu display.
- StorefrontReviewController
- Storefront review controller for customer review submissions.
- AdminMiddleware
- Admin authentication middleware.
- ApiAuthMiddleware
- API authentication middleware.
- ApiRateLimitMiddleware
- API rate limiting middleware.
- AuthMiddleware
- Generic authentication middleware with configurable guard.
- ClientMiddleware
- Client authentication middleware.
- CustomerMiddleware
- Customer authentication middleware.
- ModuleMiddleware
- Middleware for gating routes by feature module.
- PlatformMaintenanceMiddleware
- Platform-wide maintenance middleware for admin and client routes.
- SiteModeMiddleware
- Site mode middleware for storefront access control.
- Admin
- Admin model for platform administrator accounts.
- ApiKey
- Model for API key management.
- ApiRateLimit
- Model for API rate limit tracking.
- BlockedEmail
- Model for managing blocked email addresses.
- BlockedIp
- Model for managing blocked IP addresses.
- Business
- Business model for client restaurant/food business profiles.
- BusinessGroup
- BusinessGroup model for grouping multiple stores under one client.
- BusinessHour
- BusinessHour model for operating hours per day of the week.
- BusinessModule
- Business module model for feature gating per client.
- BusinessTheme
- BusinessTheme model for per-business theme selections and customizations.
- Coupon
- Coupon model for managing promotional discount codes per business.
- Customer
- Customer model for ordering customer accounts (stub for Phase 3).
- CustomerFlag
- Customer flag model for non-payment and other issues.
- CustomerMailingList
- Model for managing customer mailing list subscriptions per business.
- ErrorLog
- Error log model for tracking application errors and exceptions.
- GratuityRule
- Gratuity rule model.
- ImpersonationLog
- Model for logging impersonation sessions.
- Invoice
- Model for managing billing invoices.
- LoyaltyAccount
- Customer loyalty account model.
- LoyaltyProgram
- Loyalty program configuration model.
- LoyaltyReward
- Loyalty reward catalog model.
- LoyaltyTransaction
- Loyalty transaction ledger model.
- MailLog
- Mail log model for tracking all outgoing emails.
- MaintenanceWindow
- Model for scheduled maintenance windows.
- MenuCategory
- Menu category model for organizing menu items by category.
- MenuItem
- Menu item model for individual food/drink items.
- MenuItemTag
- Menu item tag pivot model for the many-to-many relationship.
- MenuItemVariant
- Menu item variant model for size/option variants (e.g., small, medium, large).
- Modifier
- Modifier model for individual condiment/topping options within a group.
- ModifierGroup
- Modifier group model for reusable condiment/topping groups.
- Order
- Order model for customer takeout orders.
- OrderCustomer
- Order customer model for dine-in split billing.
- OrderExportPreset
- Model for saved order export format presets.
- OrderItem
- Order item model for line items within an order.
- OrderItemClaim
- Order item claim model for split billing.
- OrderPartialPayment
- Order partial payment model for split billing.
- OrderRefund
- Order refund, credit, and chargeback model.
- OrderStaffAssignment
- Order staff assignment model.
- Payment
- Payment model for order payment transaction records.
- Photo
- Photo model for managing uploaded images (menu items, gallery, banners, etc.).
- PlatformSetting
- Model for platform-wide settings (key-value store).
- Promotion
- Promotion model for managing sales and automatic discounts per business.
- Reservation
- Reservation model for table reservations.
- RestaurantTable
- RestaurantTable model for seating/table configuration.
- Review
- Model for managing customer-submitted store reviews.
- SitePage
- Site page model for managing static platform pages.
- StaffAvailability
- Staff availability model for weekly preferences.
- StaffClockEntry
- Staff clock entry model for time tracking.
- StaffPayrollPeriod
- Staff payroll period model.
- StaffShift
- Staff shift model for scheduling.
- StaffTimeOffRequest
- Staff time-off request model.
- StaffTipDistribution
- Staff tip distribution model.
- StoreReview
- Model for customer reviews of businesses.
- Subscription
- Model for managing client subscription billing.
- TableStaffAssignment
- Table staff assignment model.
- Tag
- Tag model for dietary and descriptive tags (e.g., Vegetarian, Gluten-Free).
- Testimonial
- Model for platform testimonials from clients/businesses.
- Theme
- Theme model for storefront theme definitions.
- User
- User model for client owner and staff accounts.
- WaitingList
- Waiting list model for dine-in table queuing.
- WebPushSubscription
- Web Push Subscription model for PWA push notification subscriptions.
- AnalyticsService
- Service for generating analytics and reports.
- ArchiveService
- Service for archiving all data associated with a business.
- AuthService
- Authentication service with multi-guard support.
- CartService
- Session-based shopping cart service.
- CouponService
- Service for coupon validation, discount calculation, and usage tracking.
- EmailService
- Email notification service using PHPMailer.
- ErrorHandler
- Global error and exception handler with email notifications.
- ImageService
- Image service for handling photo uploads, resizing, and thumbnail generation.
- ImpersonationService
- Service for managing user impersonation sessions.
- MailingListService
- Service for managing mailing list subscriptions.
- ModuleService
- Service for managing feature modules and tier-based access control.
- OrderExportService
- Service for exporting orders in multiple accounting formats.
- OrderService
- Order creation and management service.
- PaymentService
- Payment processing service with test mode support.
- PayrollService
- Payroll calculation service.
- PromotionService
- Service for resolving active promotions and calculating sale prices.
- QRCodeService
- QR code generation service for store menus and table ordering.
- ReservationService
- Reservation creation and availability service.
- ScheduleService
- Schedule management service for staff shift scheduling.
- SmsService
- SMS notification service using Twilio.
- SpreadsheetService
- Spreadsheet service for parsing and importing menu data from uploaded files.
- StaffService
- Service for managing client staff accounts and permissions.
- LocalStorageDriver
- Local filesystem storage driver.
- S3StorageDriver
- Amazon S3 storage driver.
- StorageService
- Storage service factory.
- SubscriptionService
- Service for managing client subscriptions and billing.
- ThemeService
- Theme service for generating CSS variable blocks and managing theme data.
- TipService
- Tip distribution service.
- TranslationService
- Translation service for multi-language support.
- WebPushService
- Web Push notification service for sending push notifications via VAPID.
- ApiContext
- Global registry for authenticated API request context.
- Controller
- Base controller providing view rendering, redirects, and helper methods.
- CSRF
- CSRF protection token generation and validation.
- Database
- PDO database singleton.
- Middleware
- Abstract base middleware class.
- Model
- Base model with CRUD operations via PDO prepared statements.
- Router
- URL router with regex pattern matching.
- Session
- Session manager with namespace support for multi-guard authentication.
Functions
- old() : string
- Retrieve old form input from the session.
- guideScreenshot() : string
- Render a screenshot image or a placeholder if the file doesn't exist.
- isGroupActive() : bool
- __() : string
- Translate a key using the TranslationService.
- image_url() : string
- Get the public URL for an image storage path.
Functions
old()
Retrieve old form input from the session.
old(string $field[, string $default = '' ]) : string
Parameters
- $field : string
-
The input field name.
- $default : string = ''
-
Default value if no old input exists.
Return values
stringguideScreenshot()
Render a screenshot image or a placeholder if the file doesn't exist.
guideScreenshot(string $filename, string $alt, string $imgDir, string $imgBase) : string
Parameters
- $filename : string
- $alt : string
- $imgDir : string
- $imgBase : string
Return values
stringisGroupActive()
isGroupActive(array<string|int, mixed> $keys, array<string|int, mixed> $allItems, string $currentPath, string $appUrl) : bool
Parameters
- $keys : array<string|int, mixed>
- $allItems : array<string|int, mixed>
- $currentPath : string
- $appUrl : string
Return values
bool__()
Translate a key using the TranslationService.
__(string $key[, array<string|int, mixed> $replacements = [] ]) : string
Shorthand for TranslationService::getInstance()->get($key, $replacements). Falls back to English, then to the raw key name if no translation is found.
Parameters
- $key : string
-
Translation key
- $replacements : array<string|int, mixed> = []
-
Placeholder replacements (e.g., [':name' => 'John'])
Return values
string —Translated string
image_url()
Get the public URL for an image storage path.
image_url(string|null $storagePath) : string
Returns a placeholder for empty/null paths, otherwise delegates to the active storage driver for URL generation.
Parameters
- $storagePath : string|null
-
Relative storage path
Return values
string —Full URL or empty string