> ## Documentation Index
> Fetch the complete documentation index at: https://docs.archal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# OwnerRez

> Vacation-rental PMS: properties, bookings, guests, quotes, financial reads, tags, fields, and webhook subscriptions.

OwnerRez is included in Archal's environment catalog. Use it in a sandbox for vacation-rental PMS: properties, bookings, guests, quotes, financial reads, tags, fields, and webhook subscriptions.

| | |
| - | - |
| Environment ID | `ownerrez` |
| Transport | REST |
| State | JSON |
| Contract | `archal.environment-state.ownerrez` version `1` |
| Channel | Public |
| Curated samples | 5 |

Public means the environment is released and startable. It still describes a bounded provider surface, not a promise that every upstream operation exists.

## Compatibility boundary

**Local catalog validation:** All five published samples passed. Checks cover the state contract, relationships, artifact hash, secret scan, and size limit.

> [!NOTE]
>
> Local catalog validation is not hosted proof. Archal checks current certification, reset, and isolation evidence before admitting new sandboxes. Use the authenticated environment catalog for live availability.

* Not a general reservation, property, booking, or PMS simulator.

## Curated starting states

List the five samples with `archal sample list ownerrez`. Each sample is a versioned starting state with a representative read, mutation, expected diff, reset expectation, and verified artifact hash.

> [accordion] OwnerRez tag baseline
>
> List one tag definition and create another through the supported tag overlay.
>
> **Sample ID:** `ownerrez.tag-baseline.v1`
>
> **Category:** `minimal`
>
> **Starting state:** 1 record across `_ownerrezReplayOverlay.runtime.tagdefs`: 1
>
> **Supported surface:** Stateful tag-definition and guest create/read/update/delete overlay.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.tag-definitions`
>
> **First read:** `GET /v2/tagdefinitions`. Expected result: HTTP 200.
>
> **Representative mutation:** `POST /v2/tagdefinitions`. Expected result: HTTP 200, 201, 204.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "name": "Manual identity review"
> }
> ```
>
> **Expected diff:** changes include `_ownerrezReplayOverlay.runtime.tagdefs`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Not a general reservation, property, booking, or PMS simulator.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show ownerrez.tag-baseline.v1 --raw > archal-ownerrez-tag-baseline.json
> archal state validate ownerrez archal-ownerrez-tag-baseline.json
> archal session create ownerrez \
>   --state ownerrez=archal-ownerrez-tag-baseline.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show ownerrez.tag-baseline.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/ownerrez/tag-baseline/state.json` and is 466 bytes. The CLI verifies SHA-256 `299cc019dabc2e14aff2708dc61413f488c27482bb1025c4eb6be9d9d039228c` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

> [accordion] OwnerRez guest operations team
>
> Exercise two guest records and two operational tags with nested email and phone data.
>
> **Sample ID:** `ownerrez.guest-operations-team.v1`
>
> **Category:** `small-team`
>
> **Starting state:** 4 records across `_ownerrezReplayOverlay.runtime.guests`: 2, `_ownerrezReplayOverlay.runtime.tagdefs`: 2
>
> **Supported surface:** Stateful tag-definition and guest create/read/update/delete overlay.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.tag-definitions`
>
> **First read:** `GET /v2/tagdefinitions`. Expected result: HTTP 200.
>
> **Representative mutation:** `POST /v2/tagdefinitions`. Expected result: HTTP 200, 201, 204.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "name": "Manual identity review"
> }
> ```
>
> **Expected diff:** changes include `_ownerrezReplayOverlay.runtime.tagdefs`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Not a general reservation, property, booking, or PMS simulator.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show ownerrez.guest-operations-team.v1 --raw > archal-ownerrez-guest-operations-team.json
> archal state validate ownerrez archal-ownerrez-guest-operations-team.json
> archal session create ownerrez \
>   --state ownerrez=archal-ownerrez-guest-operations-team.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show ownerrez.guest-operations-team.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/ownerrez/guest-operations-team/state.json` and is 2,181 bytes. The CLI verifies SHA-256 `671ab7a71a1c1a844dd6f60a4901021da552a3eb2fb8acda9ce06bcb5a3e0283` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

> [accordion] OwnerRez populated guest directory
>
> Exercise guest listing and detail behavior over twelve guests with nested contact records and tag definitions.
>
> **Sample ID:** `ownerrez.guest-directory.v1`
>
> **Category:** `populated`
>
> **Starting state:** 16 records across `_ownerrezReplayOverlay.runtime.guests`: 12, `_ownerrezReplayOverlay.runtime.tagdefs`: 4
>
> **Supported surface:** Stateful tag-definition and guest create/read/update/delete overlay.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.tag-definitions`
>
> **First read:** `GET /v2/tagdefinitions`. Expected result: HTTP 200.
>
> **Representative mutation:** `POST /v2/tagdefinitions`. Expected result: HTTP 200, 201, 204.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "name": "Manual identity review"
> }
> ```
>
> **Expected diff:** changes include `_ownerrezReplayOverlay.runtime.tagdefs`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Not a general reservation, property, booking, or PMS simulator.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show ownerrez.guest-directory.v1 --raw > archal-ownerrez-guest-directory.json
> archal state validate ownerrez archal-ownerrez-guest-directory.json
> archal session create ownerrez \
>   --state ownerrez=archal-ownerrez-guest-directory.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show ownerrez.guest-directory.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/ownerrez/guest-directory/state.json` and is 10,429 bytes. The CLI verifies SHA-256 `84b67b50d9155650a4cf9ca2bae10523b03f212df9e9fc85c50af84eac0898ca` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

> [accordion] OwnerRez protected guest tag
>
> Verify the provider-shaped deletion failure for a retained tag marked in use by the replay overlay.
>
> **Sample ID:** `ownerrez.protected-tag.v1`
>
> **Category:** `edge-case`
>
> **Starting state:** 2 records across `_ownerrezReplayOverlay.runtime.tagdefInUse`: 1, `_ownerrezReplayOverlay.runtime.tagdefs`: 1
>
> **Supported surface:** Stateful tag-definition and guest create/read/update/delete overlay.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.tag-definitions`
>
> **First read:** `GET /v2/tagdefinitions`. Expected result: HTTP 200.
>
> **Representative mutation:** `DELETE /v2/tagdefinitions/50004`. Expected result: HTTP 400.
>
> **Expected diff:** no state change is expected. Exact match required: yes. The provider-native mutation is expected to fail and produce no state diff.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Not a general reservation, property, booking, or PMS simulator.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show ownerrez.protected-tag.v1 --raw > archal-ownerrez-protected-tag.json
> archal state validate ownerrez archal-ownerrez-protected-tag.json
> archal session create ownerrez \
>   --state ownerrez=archal-ownerrez-protected-tag.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show ownerrez.protected-tag.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/ownerrez/protected-tag/state.json` and is 570 bytes. The CLI verifies SHA-256 `25e162e80793488e93ed4e3632a23ea0d289b79953be2328b00f2a8b735ddadd` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

> [accordion] OwnerRez guest and tag workflow
>
> Start from classified guests and retained tags, then create and reset one guest with nested contact data.
>
> **Sample ID:** `ownerrez.guest-tag-workflow.v1`
>
> **Category:** `workflow`
>
> **Starting state:** 6 records across `_ownerrezReplayOverlay.runtime.guests`: 3, `_ownerrezReplayOverlay.runtime.tagdefs`: 3
>
> **Supported surface:** Stateful tag-definition and guest create/read/update/delete overlay.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.tag-definitions`
>
> **First read:** `GET /v2/tagdefinitions`. Expected result: HTTP 200.
>
> **Representative mutation:** `POST /v2/guests`. Expected result: HTTP 200.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "email_addresses": [
>     {
>       "address": "maya.chen@example.test",
>       "is_default": true,
>       "type": "home"
>     }
>   ],
>   "first_name": "Maya",
>   "last_name": "Chen",
>   "notes": "Returning guest requesting a late arrival.",
>   "phones": [
>     {
>       "is_default": true,
>       "number": "+1 202-555-0147",
>       "type": "mobile"
>     }
>   ]
> }
> ```
>
> **Expected diff:** changes include `_ownerrezReplayOverlay.runtime.guests`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Not a general reservation, property, booking, or PMS simulator.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show ownerrez.guest-tag-workflow.v1 --raw > archal-ownerrez-guest-tag-workflow.json
> archal state validate ownerrez archal-ownerrez-guest-tag-workflow.json
> archal session create ownerrez \
>   --state ownerrez=archal-ownerrez-guest-tag-workflow.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show ownerrez.guest-tag-workflow.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/ownerrez/guest-tag-workflow/state.json` and is 3,089 bytes. The CLI verifies SHA-256 `3d7ae13b046898613da295b794a49276c60ce04da2e4886a7f71500c63f1973d` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

## Use custom state

Start from a sample when possible. For custom state, inspect the contract with `archal environment describe ownerrez`, then validate the file before creating a sandbox:

```bash theme={null}
archal state validate ownerrez state.json
```

Loading state replaces the current collections and establishes a new reset baseline. See [Starting state](https://docs.archal.ai/sandboxes/starting-state.md) before replacing state in an existing sandbox.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.