'plugin', 'utm_campaign' => $campaign ], 'https://wpfinity.com/products/cleannetic/' ) ); } public function boot(): void { if ( $this->booted ) { return; } $this->booted = true; Installer::maybe_upgrade(); new StaffManager(); new Shortcodes(); new BookingBlock(); new ElementorIntegration(); new EmailDispatcher(); add_action( 'rest_api_init', [ $this, 'register_rest_routes' ] ); if ( is_admin() ) { new AdminMenu(); new AdminAssets(); new BookingsPage(); new CustomersPage(); new StaffPage(); new SettingsPage(); new OnboardingWizard(); new DemoImporter(); } do_action( 'cleannetic_loaded', $this ); } public function register_rest_routes(): void { ( new PricingController() )->register_routes(); ( new BookingController() )->register_routes(); ( new \Cleannetic\Api\AdminController() )->register_routes(); } }