# Launch a booking service with Easy!Appointments

Deploy Easy!Appointments, finish its administrator setup, test services and provider availability, and establish backups and ownership.

Canonical: https://xcloud.host/use-cases/apps/easy-appointments/launch-a-booking-service/
Published: 2026-09-30 · Updated: 2026-09-30 · Technical review: 2026-09-30
Evidence: Source reviewed; no production deployment test claimed
Editorial owner: xCloud editorial

Intent: Deploy and validate a separate Easy!Appointments booking service
For: operator, business-owner

## Requirements and responsibilities

- Confirm the current template and compatible Docker server in xCloud. The hosting page lists a template floor of 1 CPU core, 1024 MB RAM and 10 GB disk at review; treat this as a floor, not a capacity guarantee, and recheck before provisioning. Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/); [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md)
- Have a domain/DNS owner, application administrator, business timezone, services, provider availability and a test email route. Complete the app’s setup wizard after infrastructure deployment. Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/)
- The app uses persistent application storage and MariaDB volumes. Budget for backup storage and recovery testing independently of the open-source app license or server tier. Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/)

## Illustrative situation

Illustrative scenario: a service business wants a separate booking application linked from its existing website. One provider and one service are used to prove the full customer-to-administrator journey before the complete service list is added.

## Choose the approach

- This path fits a standalone provider/service booking flow. Keep WordPress as the public site when appropriate and link to the scheduler; do not promise synchronized users or an embedded experience without testing the integration. Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/)
- Validate deposits, SMS, custom reminders and specialist resource allocation before committing to this app. A deployed template establishes hosting, not those business capabilities. Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/)

## Dashboard and application procedure

### 1. Check requirements against the current template

**Where:** xCloud Easy!Appointments hosting page and Add site → One-Click Apps

**Permissions:** Authorized site administrator; confirm the selected team and site.

**Inputs:** Business requirements, template identity and available Docker server resources.

**Action:** Read the current template requirements and compare them with the actual server’s free resources. Identify the intended domain and confirm that each required booking rule can be configured or has a documented integration.

**Expected result:** An approved compatible deployment plan.

**Verify:** Record the selected template, stack, resource budget and any unsupported or unverified business requirements.

**If it fails:** If the stack or resources do not fit, choose a compatible server before provisioning. If a booking rule is unverified, test it before committing publicly.

Capability: Deploy an available one-click template
Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/); [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md)

### 2. Deploy once and wait for the application

**Where:** xCloud Add site → One-Click Apps → Easy!Appointments

**Permissions:** Authorized site administrator; confirm the selected team and site.

**Inputs:** Approved server, template, domain and required deployment inputs.

**Action:** Select Easy!Appointments and the compatible server, supply the inputs requested by the current form, review the target and submit. Wait for provisioning and open the resulting site URL over HTTPS.

**Expected result:** The application setup page is reachable on the intended domain.

**Verify:** Verify provisioning completion, HTTPS and the displayed app. Confirm the app and database volumes described by the template are present in the deployed configuration.

**If it fails:** For a failed or pending operation inspect its status and relevant logs through the dashboard. Do not resubmit blindly or expose the database publicly as a workaround.

Capability: Deploy an available one-click template
Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/); [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md)

### 3. Create the application administrator and first service

**Where:** Easy!Appointments setup wizard

**Permissions:** Authorized site administrator; confirm the selected team and site.

**Inputs:** Administrator credentials, business details, provider and service.

**Action:** Complete the app’s own setup wizard, creating the first administrator, business, provider and service. Store the chosen credentials in the team’s credential manager and log in through the app.

**Expected result:** The administrator can read back the created service and provider.

**Verify:** Log out and back in, then verify the saved service and provider assignment. The xCloud deployment does not supply a generated app administrator password.

**If it fails:** If setup fails, inspect app/database reachability using the supported dashboard tools before changing credentials or recreating persistent storage.

Capability: Configure the booking application and run acceptance tests
Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/); [Easy!Appointments official initial configuration](https://easyappointments.org/documentation/initial-configuration/); [Easy!Appointments official application settings](https://easyappointments.org/documentation/application-settings/)

### 4. Configure and test provider availability

**Where:** Easy!Appointments administration and public booking page

**Permissions:** Authorized site administrator; confirm the selected team and site.

**Inputs:** Provider working hours, breaks, time off, service duration and business timezone.

**Action:** Set the provider’s working hours, breaks and time off in the app. Book one allowed slot, attempt an overlap and a closed period, then check the booking in administration. Verify displayed times with a customer in the intended timezone.

**Expected result:** Only the openings permitted by the tested rules can be booked.

**Verify:** Record the booking identifier, provider, service and shown time; cancel the test record through the supported app action.

**If it fails:** If overlapping or closed slots remain bookable, check provider/service assignments and settings. Keep the public link unpublished until the rule passes.

Capability: Configure the booking application and run acceptance tests
Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/); [Easy!Appointments official initial configuration](https://easyappointments.org/documentation/initial-configuration/); [Easy!Appointments official application settings](https://easyappointments.org/documentation/application-settings/)

### 5. Prove notifications and the website handoff

**Where:** Easy!Appointments application configuration, Settings, test mailboxes and existing website

**Permissions:** Authorized site administrator; confirm the selected team and site.

**Inputs:** Documented mail-provider settings and customer/staff test accounts.

**Action:** Have the application maintainer configure email delivery using the official instructions for the installed version; the upstream settings guide places transport settings in application/config/email.php, not the Admin Panel. Verify how the xCloud container persists that configuration before changing it. In the app, confirm customer/provider notification preferences. Create a fresh booking, verify the intended messages, then link the scheduler from the website and repeat the mobile journey.

**Expected result:** Customers can reach the scheduler and receive the intended messages.

**Verify:** Check actual mailbox receipt and message content, and confirm the operator can find and manage the booking.

**If it fails:** If the template does not expose a verified persistent configuration method, ask the maintainer or xCloud support for the supported method before editing the container. If delivery fails, inspect application/provider logs. An accepted form is not proof that mail or reminders work.

Capability: Configure the booking application and run acceptance tests
Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/); [Easy!Appointments official application settings](https://easyappointments.org/documentation/application-settings/); [Easy!Appointments official appointment notifications](https://easyappointments.org/documentation/appointment-notifications/)

### 6. Set the backup and recovery routine

**Where:** xCloud Site → Site Backup

**Permissions:** Authorized site administrator; confirm the selected team and site.

**Inputs:** Application/database volume coverage, supported storage and approved interruption window.

**Action:** Follow the Docker recovery guide to cover both persistent volumes, configure appropriate storage and retention, and create a backup in the agreed window. Rehearse recovery with non-production data and record the results.

**Expected result:** An observed recovery process for both application storage and booking records.

**Verify:** Verify backup completion and that restored administrator access, services and test bookings match the intended point.

**If it fails:** If either volume or the restore scope is uncertain, resolve it before claiming the booking system is recoverable.

Capability: Create and inspect Docker backups
Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md)

### 7. Assign updates and daily booking ownership

**Where:** Application administration and operations record

**Permissions:** Authorized site administrator; confirm the selected team and site.

**Inputs:** Named booking administrator, hosting maintainer and documented access.

**Action:** Have staff manage the test booking and document escalation for booking, delivery and availability failures. Assign responsibility for reading upstream releases, planning app upgrades and testing them before production.

**Expected result:** Staff can operate bookings and the maintainer owns future changes.

**Verify:** Record who handles app configuration, hosting, backup failures and update approvals.

**If it fails:** If upgrade ownership is absent, resolve it before handover; a catalog refresh is not an update to the installed application.

Capability: Configure the booking application and run acceptance tests
Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/)

## Maintenance

- The template pins an application image. Catalog changes affect new installations; existing Easy!Appointments installations do not automatically upgrade when the catalog refreshes. Review upstream release notes and intentionally test an upgrade with backups of both volumes. Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/)
- Check availability, delivery and backup completion on an assigned cadence. Persistent volumes surviving a restart do not replace an independently tested backup. Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/)

## Recovery decisions

- Before an in-place restore, record the backup time and every newer appointment that must be preserved or reconciled. Approve the interruption and replacement scope, then restore in the xCloud dashboard. Sources: [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md)
- After recovery, verify administrator login, provider/service read-back, booking records and email delivery. Do not accept a successful container start as proof the recovered business data is correct. Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/)

## AI handoff

Connect xCloud MCP in your chosen agent client and select the intended team. Discover the available tools, input schemas and granted scopes. Start with resource reads. Approve a concrete change before each write. If a required tool or permission is missing, continue in the dashboard. The packaged REST fallback accepts GET requests only; do not use it for writes.

### Supported scope

- **Confirm requirements and inspect resources** (mcp; read): Discover the connected profile and operation schema first; only teams granted to the connection are visible. Checkpoint: Confirm exact team, server and site identity. Use dashboard\_url returned by the resource; do not invent a dashboard link. Operation identifiers to discover: teams.index, servers.show, sites.show. Scopes: read:servers, read:sites. Sources: [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs); [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md)
- **Deploy an available one-click template** (mcp; write): Confirm the current Easy!Appointments catalog record, compatible Docker stack, resources and discovered input schema. Availability in a catalog is not universal MCP deploy support. Checkpoint: Approve exact template, server, domain, cost and maintenance impact. If the operation is unavailable, use Add site → One-Click Apps. Operation identifiers to discover: catalog.apps.index, oneclickApps.install. Scopes: read:sites, write:sites. Sources: [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md); [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/); [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs)
- **Configure the booking application and run acceptance tests** (app; manual): xCloud hosting operations do not configure business rules, staff calendars, reminders, payments or WordPress plugins. Checkpoint: An authorized application administrator performs configuration and confirms each customer and staff journey. Sources: [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/); [Easy!Appointments official initial configuration](https://easyappointments.org/documentation/initial-configuration/); [Easy!Appointments official application settings](https://easyappointments.org/documentation/application-settings/); [Easy!Appointments official appointment notifications](https://easyappointments.org/documentation/appointment-notifications/); [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs)
- **Create and inspect Docker backups** (mcp; write): Backup capture briefly stops the app. Use supported local, S3-compatible or SFTP storage; the packaged REST wrapper is GET-only. Checkpoint: Confirm site, storage, retention and the interruption window before creating a backup or changing settings. Check terminal completion. Operation identifiers to discover: sites.docker.backup, sites.docker.backups, sites.docker.backupSettings.update. Scopes: read:sites, write:sites. Sources: [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/)
- **Restore a backup** (dashboard; manual): Native and Docker restore operations are dashboard-only. An in-place Docker restore replaces current data. Checkpoint: Use Site → Site Backup → Previous Backups → Restore Backup (or Restore to Another Site where offered). Confirm exact target and recovery point before proceeding. Sources: [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/)

### Copyable agent brief

```text
Plan an Easy!Appointments deployment for my business. Discover its current catalog/template and supported install operation, verify a compatible Docker server, free resources, domain and required inputs. Propose the deployment and get my approval before installing; report operation completion and HTTPS reachability. Hand me the application setup, services, provider availability, cancellation and email tests because hosting tools do not configure those business settings. Propose a backup covering both persistent volumes and disclose the brief stop; restoration remains dashboard-only. Return a proposed change list with exact resource identities, interruption and cost implications, acceptance checks and a recovery decision. Wait for approval before changes. Report observed results and unresolved checks separately. Use returned dashboard_url values for manual handoffs. Do not expose credentials, bypass the GET-only REST wrapper, or claim recurring work is scheduled.
```

### Manual checkpoints

- Complete the Easy!Appointments wizard and business configuration in the app.
- Test availability, cancellations and real message delivery before enabling the website link.
- Approve backup interruption and perform any restore in the xCloud dashboard.

## Feature coverage

- **deployment** (covered): Compatible template and HTTPS. Steps: fit, deploy
- **application-configuration** (covered): App wizard and provider rules. Steps: setup, availability
- **business-validation** (covered): Real test booking and delivery. Steps: availability, delivery
- **backup-recovery** (covered): Both volumes and a rehearsal. Steps: backup
- **updates-handover** (covered): Intentional upgrades with named ownership. Steps: handover

## Sources

- [Easy!Appointments hosting, setup and deployment requirements](https://xcloud.host/easy-appointments-hosting/) — reviewed 2026-09-30
- [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md) — reviewed 2026-09-30; v4.4.2 package; xCloud v2.8.8 capability review
- [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/) — reviewed 2026-09-30
- [Easy!Appointments official initial configuration](https://easyappointments.org/documentation/initial-configuration/) — reviewed 2026-09-30
- [Easy!Appointments official application settings](https://easyappointments.org/documentation/application-settings/) — reviewed 2026-09-30
- [Easy!Appointments official appointment notifications](https://easyappointments.org/documentation/appointment-notifications/) — reviewed 2026-09-30
- [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md) — reviewed 2026-09-30; v4.4.2
- [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs) — reviewed 2026-09-30

## Continue

[Rehearse Docker backup and recovery](https://xcloud.host/use-cases/operations/docker-backup-and-recovery/)

- [Build a salon website and booking journey with WordPress](https://xcloud.host/use-cases/solutions/salon-appointment-booking/)
- [Back up and recover a Docker application](https://xcloud.host/use-cases/operations/docker-backup-and-recovery/)
