ComponentsAdmin & TeamAdmin Service Manager

Admin & Team

Admin Service Manager

Admin/owner services management UI. Manage services, categories, booking timing, and provider assignment in one internal screen with full CRUD, prefetched data support, and preset loading. Intended for runtime admin/owner users, not basic end users.

TabsServices, Categories, Hours

Three working tabs for service catalog, organization, and appointment timing control.

AccessAdmin/owner runtime focus

Uses requireAdmin (default true) for runtime gating; builder canvas still supports editing/placeholder state.

TierFree

Available on all plans.

What it does

Four things worth knowing

Live + prefetched data loading

If prefetched props exist (_prefetchedServices, _prefetchedCategories, etc.), hydrates instantly from BuilderDataContext. Otherwise fetches through secureApiCall + appId.

Category-owned icon + image style

Service folders and cards inherit icon/color from their category. Category image empty state shows icon preview. Per-service icons are intentionally removed for consistency.

Timing controls, not schedule editor

Hours tab edits slotDurationMinutes and bufferMinutes only. Weekly schedule remains managed elsewhere and is preserved on save.

Duplicate-safe preset loading

Loads preset services by title+category deduplication. Refreshes UI to always reflect current backend data. Provider assignment supported.

Builder setup

Find it, drop it, publish

Where to find itAdd it to your admin screen

  1. Component picker → Admin & TeamAdmin Service Manager.
  2. Place it on an internal admin/owner screen.
  3. Use registry key admin-service-manager for builder placement.

Before you publishFour things to check

  1. Keep the navigation flow admin-only as an extra access layer.
  2. Configure labels, feature toggles, and theme props in the property editor.
  3. Keep backend wiring available (appId + secureApiCall) for live CRUD and preset sync.
  4. Publish so runtime gating and live service data flow are active in AppPlayer.
Category: Admin & TeamComponent: BuilderAdminServiceManagerRegistry key: admin-service-managerTier: Free
Props & setup

What you can configure

CategoryPropTypeDefaultDescription
AccessisAdminUserbooleaninjectedRuntime-injected flag. Admin/owner users only. Set via AppPlayer or builder data pipeline.
DataappIdstringfrom builderApp identifier. Injected at runtime for backend API calls.
DatasecureApiCallfunctioninjectedRuntime-injected secure API caller for CRUD operations on services, categories, and availability.
Prefetch_prefetchedServicesarray[]Live service list. Pre-loaded for instant rendering.
Prefetch_prefetchedCategoriesarray[]Live category list. Inherited icons/colors. Pre-loaded for editor dropdowns.
LabelsheaderTitlestring”Manage Services”Header title at top of component.
LabelsservicesTabLabelstring”Services”Services tab label.
LabelscategoriesTabLabelstring”Categories”Categories tab label.
FeaturesshowCategoriesTabbooleantrueShow/hide categories tab. Recommended true for complex menus.
FeaturesshowServicePricebooleantrueEnable service price fields.
FeaturesshowServiceDurationbooleantrueEnable service duration fields (for booking integrations).
Runtime_loadAllPresetsfunctioninjectedLoad preset service templates (e.g., salon types). Injected by admin sync backend.
Toggles & colours

Feature flags and styling

ControlPropTypeDefaultPurpose
TabsshowCategoriesTabbooleantrueShow/hide the categories management tab.
Service fieldsshowServicePricebooleantrueEnable/disable service price editing.
Service fieldsshowServiceDurationbooleantrueEnable/disable service duration for bookings.
ColorsbackgroundColorcolor#FFFFFFBackground color for screens and cards.
ColorsprimaryColorcolor#3B82F6Primary action and accent color.
ColorssecondaryColorcolor#8B5CF6Secondary accent color.
ColorsheaderColorcolor#1A1A2EHeader/title text color.
ColorsdangerColorcolor#EF4444Delete/alert actions.
ColorssuccessColorcolor#22C55ESuccess/saved states.
StylingborderRadiusnumber14Card border radius (pixels).
StylingfontFamilystringUrbanist-SemiBoldFont family for text rendering.
Tips

Common mistakes to avoid

Keep admin routes protected at navigation level

Use admin-only navigation even when isAdminUser gating is enabled for clearer runtime security separation.

Define categories before creating services

Services inherit category icons/colors. Set up categories with correct icons first for consistent visual branding across all service cards.

Preserve hours when saving services

Opening hours are app-global and saved via secureApiCall. Changes sync immediately across all frontend instances without manual triggers.

Rebuild and redeploy after preset updates

After adding/removing categories or services via presets, run npm run build and redeploy to ensure bundle contains latest service manifest.