# Backup, restore, import, and migration

Open **Tools > Import & Migration**. Imports are dry-run previews by default, never delete source data, and reuse stable source IDs/email/phone keys to avoid duplicate rows.

## Complete Yatoon backup and restore

Use **Download full Yatoon backup** when moving between WordPress sites that both run Yatoon. The ZIP contains every detected Yatoon database table, non-secret Yatoon settings, and referenced Media Library images. On the destination site, upload the ZIP, run **Preview only**, review the counts, then confirm the replacement restore.

This is the only lossless Yatoon-to-Yatoon transfer. It preserves services and options, staff qualifications, clients, bookings, resources, packages, gift cards, payments, forms, reports, operational records, logs, settings, and media relationships. Passwords, API keys, access/refresh tokens, webhook secrets, payment credentials, and license keys are excluded; reconnect Square, calendars, SMS, payments, and licensing after the move.

Before a restore Yatoon creates a server-side safety snapshot of every current Yatoon table. A restore replaces current Yatoon data, so keep both the downloaded ZIP and a normal host/database backup until the destination has been verified.

## Supported sources

- **Square:** use the built-in version-aware Square sync.
- **Bookly / Amelia:** select the detected source and entities. Native durations stored in seconds are converted to minutes.
- **CSV:** UTF-8 CSV up to 5 MB/20,000 rows. Select Services, Staff or Clients.

Recommended CSV headers:

- Services: `id,name,description,duration_minutes,price,category,status`
- Staff: `id,name,email,phone,status`
- Clients: `id,first_name,last_name,name,email,phone,notes`

Common aliases such as `title`, `duration`, `cost`, `full_name` and `customer_email` are recognized. Preview first, review counts and errors, take a database snapshot, then run the import. Assign staff qualifications and verify several records and test bookings afterward.

## Portable CSV exports

The individual CSV downloads are human-readable and useful for spreadsheets or selective imports. They are not a complete backup and do not preserve every relationship. Use the complete Yatoon backup ZIP for disaster recovery or a Yatoon-to-Yatoon move.

For a complete move or disaster recovery, install the same or newer Yatoon version on the destination WordPress site and restore the complete Yatoon backup ZIP. Keep portable CSV exports only for spreadsheet analysis or selective manual transfer.
