Environment
Environments are distinct instances of your Brand's backend. They are a critical tool for safe development, testing, and deployment, ensuring that changes to your menu or settings do not disrupt live customer orders.
Each Brand can have a single Production environment and multiple Sandbox environments.
Production vs. Sandbox
There is a fundamental difference between the live environment and a testing sandbox.
Production Environment
- This is your live restaurant. It processes real customer orders, takes real payments, and sends tickets to the kitchen.
- High Performance: It has no artificial limits on API requests, orders, or menu items.
- High Reliability: Changes are made carefully, usually after being tested in a Staging environment.
- Automatic Backups: The Production environment database is automatically snapshotted daily, with snapshots retained for 7 days to ensure data integrity and disaster recovery.
Sandbox Environment
- This is your testing playground. It can be a
Stagingenvironment for managers or aDevelopmentenvironment for programmers. - Resource Limits: Sandboxes have reasonable limits on usage (e.g., API requests per minute, number of orders) to ensure fair use. These limits are visible in the console.
- Isolated: A Sandbox is completely separate from Production. You can test new menus, experiment with pricing, and train staff without any risk to your live operations.
- Own API URL: Each Environment, including every Sandbox, has its own unique API URL. This allows front-end applications (like a Kiosk app) to be pointed at the Staging environment for testing.
Sandbox Lifecycle Management
Understanding how Sandboxes are managed helps you plan your development workflows:
- Automatic Deletion: Unused Sandboxes are automatically deleted after 30 days of inactivity to optimize resource usage
- Inactivity Definition: No API calls, menu updates, console access, or any data modifications during the period
- Deletion Warnings: Email notifications are sent 7 days and 1 day before scheduled deletion
- Final Snapshot: An automatic snapshot is created before deletion and retained for 7 days for recovery
- Reactivation: Simply accessing or using a Sandbox resets the inactivity timer
Core Features of Environment Management
Snapshots
A Snapshot is a complete copy of an environment's database at a specific point in time. This is a powerful feature for safe and productive workflows.
- Use Cases:
- Staging: Create a snapshot of your
Productiondata and restore it to aStagingsandbox. This allows you to test a new promotion with your real menu and product data. - Development: Provide developers with a realistic dataset to build and test new features.
- Reverting Changes: If a major error is made during a menu update in a Sandbox, you can simply revert to a previous snapshot.
- Staging: Create a snapshot of your
- Restoring Deleted Environments: If a Sandbox is automatically deleted due to inactivity, a final snapshot is created. You can restore the environment from this snapshot within 7 days.
Snapshot Best Practices
Effective snapshot management improves your development and testing workflows:
- Naming Convention: Use descriptive names like "pre-holiday-menu-2025-07-15" or "before-modifier-group-changes"
- Scheduling Strategy: Consider creating snapshots before major changes or on a regular schedule for critical environments
- Storage Limits: Each environment can maintain up to 10 snapshots; older snapshots are automatically deleted when limit is reached
- Restoration Time: Typically completes within 5-10 minutes for standard databases, depending on data size
- Documentation: Keep notes about what each snapshot contains for easier future reference
Common Development Workflows
Menu Testing Workflow
- Create snapshot of Production environment with current live data
- Restore snapshot to Staging environment for realistic testing
- Test menu changes, pricing updates, or new features in Staging
- Verify changes work correctly with real data patterns
- Deploy tested changes to Production during planned maintenance window
Feature Development Workflow
- Developer uses Development environment with sample data for initial coding
- QA testing performed in Staging environment with Production data snapshot
- User acceptance testing conducted in dedicated UAT environment
- Approved features deployed to Production following change management process
Emergency Recovery Workflow
- Identify issue in Production environment
- Quickly create snapshot of current state for analysis
- Restore previous known-good snapshot to recover service
- Investigate issue in separate environment using problematic snapshot
- Implement fix and test before applying to Production
Version Upgrades
The FNBNext platform is constantly evolving. Environments allow for safe, on-demand version upgrades.
- Independent Versions: Each Environment's version can be managed independently. This allows you to test a new FNBNext version in your
Stagingenvironment to ensure it's compatible with your customizations before upgrading yourProductionenvironment. - Zero Downtime: Upgrades are designed to be seamless and do not require downtime for your live restaurant operations.
Access & Subdomain Management
- API Access: Each Environment has its own access control settings, allowing you to restrict which front-end applications can connect to it.
- Subdomains: The subdomain for each environment (e.g.,
my-brand-staging.fnbnext.io) can be managed directly from the console.
Menu Data Flow Between Environments
Understanding how your Menu System works across environments is crucial for safe operations:
- Environment Isolation: Each environment maintains its own complete copy of menu data including Master Products, Menu Items, Modifier Groups, and Collections
- Manual Promotion: Changes must be manually applied to each environment - there's no automatic sync between Staging and Production
- Testing Safety: You can completely restructure your menu in Staging without any impact on live customer orders
- Data Consistency: Use snapshots to ensure your testing environment reflects current Production menu structure
- Change Validation: Always test menu changes in Staging before applying to Production to avoid customer-facing issues
Related Concepts
- Organization - The top-level entity that owns this Brand and its environments
- Brand - The restaurant concept that contains these environments
- Menu System - The menu architecture that exists within each environment
- Location - Physical locations that connect to specific environments