# Business profile and services

Business details, opening hours, service areas and a structured service list with an owner editor.

## Install

Use the verified installer in the website container. It installs dependencies, checks checksums, and refuses to replace customer changes:

```sh
python /opt/runalio/catalog_install.py business-profile
python /opt/runalio/catalog_install.py --status
```

Review the preview and click Publish to promote backend code and pages. Production data remains separate.

To undo the last installation before publishing: `python /opt/runalio/catalog_install.py --rollback`.

## Settings

The customer enters these in Runalio, Settings → Website modules → this module (never in files or chat):

| Name | Required | Secret | Purpose |
|---|---|---|---|
| `BUSINESS_TIMEZONE` | no | no | IANA time zone for local schedules and messaging, such as America/Chicago. |
| `BUSINESS_CURRENCY` | no | no | Currency for quotes and invoices: usd, eur, gbp, cad or aud. |

## What the customer needs to do

- Open Business admin and add the business profile and available services.
- Use the public business/profile API to render business details. Review the page and Publish.

## Administration and data

Business admin opens from the portal Settings. Managed websites use portal team membership and same-origin mutation checks. Customer data stays in the website SQLite database and participates in consistent backups. Agent changes to source and page snippets remain drafts until Publish. No customer credentials are embedded in pages or chat.
