hollow-crystal

byMeghna Rajawat

build this

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirements Document for hollow-crystal

1. Introduction

The project name is hollow-crystal. The user requested to build the product described in the attached document eca1f006-bbd6-4bae-8e8a-86f3db26b53e.pdf.

Page 1 of 198

1.1 Source overview

PEARLSTAY / CORPORATE AI

01 / DEVELOPER SPECIFICATION

Pearlstay Corporate AI

Workflows, data and mandatory system rules

Basis for implementing the WhatsApp AI for prospective and existing guests. This document consolidates

the three concept PDFs dated 20 August 2026 with the jointly agreed changes of 24 and 25 September

Applicability and scope

Document structure

Pages

Content

2-3

Data sources, global sending mode and message processing

4-6

Accommodation search, pricing rules, waiting list and follow-ups

7-9

10-12

Guest support, arrival, cleaning and tasks

Page 2 of 198

13-15

State model, data model and event processing

16-17

Acceptance scenarios and technical implementation points

Source documents

Pearlstay_Datenfluss_Unterkunftssuche(1).pdf

Pearlstay_Datenfluss_Allgemeine_Wohnungsfragen(1).pdf

Pearlstay_Gespraechszustaende(1).pdf

Consolidated successor document. The three original PDFs are retained as the initial version.

automation, integration proof, measurable acceptance and full Pearlstay operational ownership.

1

Contract process, Beds24 maintenance and viewings

Consolidated specification - Version 2.5 - 14 October 2026

Version 2.5 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-31 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-31

Version 2.5 - 14 October 2026 - Developer specification

Consolidated specification - Version 2.6 - 15 October 2026

Page 3 of 198

Version 2.6 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-32 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-32

Version 2.6 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.7 - 15 October 2026

Version 2.7 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-33 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-33

Version 2.7 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.7 - 15 October 2026

Version 2.7 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-33 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-33

Version 2.7 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.8 - 15 October 2026

Version 2.8 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.8 - 15 October 2026

Page 4 of 198

Version 2.8 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.8 - 15 October 2026

Version 2.8 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-34 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-34

Version 2.8 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.8 - 15 October 2026

Version 2.8 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-34 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-34

Version 2.8 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.9 - 15 October 2026

Version 2.9 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-35 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-35

Version 2.9 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.9 - 15 October 2026

Page 5 of 198

Version 2.9 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-35 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-35

Version 2.9 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.9 - 15 October 2026

Version 2.9 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-35 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-35

Version 2.9 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.9 - 15 October 2026

Version 2.9 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-35 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-35

Version 2.9 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.9 - 15 October 2026

Consolidated specification - Version 2.10 - 15 October 2026

Page 6 of 198

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Page 7 of 198

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Page 8 of 198

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Version 2.10 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Page 9 of 198

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

02 / DEVELOPER SPECIFICATION

Change from version 1.0

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 10 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

03 / DEVELOPER SPECIFICATION

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Page 11 of 198

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 12 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 13 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

5

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Page 14 of 198

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 15 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

Page 16 of 198

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

08 / DEVELOPER SPECIFICATION

Page 17 of 198

Calendar, extensions and termination

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 18 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 19 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 20 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

11 / DEVELOPER SPECIFICATION

11

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Page 21 of 198

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 22 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

12 / DEVELOPER SPECIFICATION

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

13 / DEVELOPER SPECIFICATION

State model for implementation

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 23 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

14 / DEVELOPER SPECIFICATION

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 24 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

15 / DEVELOPER SPECIFICATION

Sending, timers and traceability

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Page 25 of 198

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 26 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

16 / DEVELOPER SPECIFICATION

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

17 / DEVELOPER SPECIFICATION

Implementation and remaining technical

details

18

Page 27 of 198

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 28 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Page 29 of 198

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 30 of 198

Version 2.10 - 15 October 2026 - Developer specification

20

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 31 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

21 / ACCOUNTING & RENT COLLECTION

Dashboard, integration and acceptance

21

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Page 32 of 198

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 33 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

22 / RELIABLE AUTOMATION

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Page 34 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

Version 2.5 - 14 October 2026 - Developer specification

23

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Page 35 of 198

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 36 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

24 / RELIABLE AUTOMATION

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 37 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

25 / RELIABLE AUTOMATION

Integration proof before full build

Mandatory technical milestone

Version 2.5 - 14 October 2026 - Developer specification

25

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Page 38 of 198

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 39 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

26 / RELIABLE AUTOMATION

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 40 of 198

Version 2.5 - 14 October 2026 - Developer specification

27

Version 2.6 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.6 targets Beds24 after

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.7 targets Beds24 after

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.7 targets Beds24 after

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.8 targets Beds24 after

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.8 targets Beds24 after

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 change record

Page 41 of 198

Retains version 2.2 automation safeguards and revised workflows. Version 2.8 targets Beds24 after

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.8 targets Beds24 after

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.9 targets Beds24 after

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.9 targets Beds24 after

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.9 targets Beds24 after

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.9 targets Beds24 after

Version 2.9 - 15 October 2026 - Developer specification

Page 42 of 198

Version 2.9 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.9 targets Beds24 after

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.9 targets Beds24 after

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.9 targets Beds24 after

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.9 targets Beds24 after

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Page 43 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Page 44 of 198

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 45 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

29 / SOFTWARE CONSOLIDATION

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 46 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Page 47 of 198

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

31 / ELECTRONIC SIGNATURES

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Page 48 of 198

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Page 49 of 198

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

32 / INBOUND CALL ROUTING

Version 2.7 - 15 October 2026 - Developer specification

33

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

34

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

35 / BOOKING ELIGIBILITY

Page 50 of 198

Gap-aware booking and future enquiries

Version 2.10 - 15 October 2026 - Developer specification

36

2. System Overview

Page 51 of 198

2.1 Source overview

Version 2.8 integrates the approved automation architecture and replaces the affected manual steps.

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-34

Version 2.8 integrates the approved automation architecture and replaces the affected manual steps.

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-34

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-35

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Contract system / dashboard

Approved knowledge base

State model for implementation

Use several independent state domains. A single contact status cannot correctly represent multiple

PEARLSTAY / CORPORATE AI + CRM

One CRM, including accounting

Page 52 of 198

module.

Single operational workspace

Staff manage prospects, tenants, units, contracts, communication, receipts, accounting exceptions and

rent collection in one CRM. AbaNinja remains the accounting system behind this interface. Routine

uploads, review decisions, payment checks and reminder handling must be available in the CRM; a link

to AbaNinja alone is insufficient. Specialist accounting configuration and closing may remain in AbaNinja.

PEARLSTAY / CORPORATE AI + CRM

Architecture and execution boundaries

Deterministic services

30 / SOFTWARE CONSOLIDATION

Cleaning, maintenance and unified operations

Pipeline, human control and migration

3. Functional Requirements

Page 53 of 198

3.1 Source overview

The AI should handle as many requests as possible itself. Availability, prices, payment status,

permissions and approvals are checked using traceable backend rules. A high confidence score must not

bypass any of these conditions.

One CRM with verified accounting and rent collection. New: durable workflows, policy-based

Version 2.9 integrates the approved automation architecture and replaces the affected manual steps.

Version 2.9 integrates the approved automation architecture and replaces the affected manual steps.

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Validated Sheet content, video transcripts approved by you and approved

knowledge changes.

Conversation database

Page 54 of 198

Search criteria, messages, offers, waiting-list consent, price objection,

decline, drafts, approvals, appointments and sending history.

Mapping and freshness

contract-system ID and respective links. Do not map units solely by similar names.

â€ĸ Changes you make in the Sheet count as business-approved. Required fields, data types, IDs, links,

validity and contradictions are checked before importing them. Invalid entries are not used; a task is

created in the dashboard.

â€ĸ Retrieve the current relevant data before sending offers or releasing access details. Record the Sheet

version, source and time of validation. Previous versions remain traceable.

Contract terms, signatures, agreed amounts and due dates.

Countersignature is the binding booking signal. Received-payment status

must be backed by bank evidence and verified allocation (page 18).

Prices use validated master data; agreed amounts use contracts. Bank evidence and verified allocations establish cash receipt.

Page 23 defines the controlled migration from Sheets to CRM master data; there must be only one active writer per field.

2

â€ĸ Each apartment/room receives a stable unit_id. This is mapped uniquely to its Sheet row, Beds24 ID,

Page 55 of 198

â€ĸ Availability is determined by Beds24 AND binding contracts. Occupancy in either source blocks the

relevant period. An empty Beds24 calendar does not override a signed contract.

Calendar occupancy and blocks. Automatically write and read back

approved changes. Failed operations enter review. Beds24 is the target

after the gate on page 28; Lodgify remains live until cutover.

Global sending and conversation processing

Setting

Behaviour

Drafts only

The AI generates messages. Staff review, edit and send them manually.

Automatic based on confidence

â€ĸ Wait 20 seconds after the last incoming message; each additional message restarts the period.

Recognised emergencies are handled without this delay. Sending mode and hard rules still apply.

â€ĸ New guest message: update the open draft and block the old version. Staff reply: discard the open AI

draft and add the reply to the context; respond to the next guest message according to the global mode

again.

Page 56 of 198

â€ĸ Replies are possible around the clock. Proactive sales and reminder messages may be sent only from

09:00 to 19:00 Europe/Zurich. Scheduled check-in messages follow their own rules.

â€ĸ Use the guest's language, with a friendly and concise tone. Mirror formal/informal address; if the

appropriate German form is unclear, start with formal “Sie”. Transcribe voice messages, assess images

for the request and ask targeted questions where needed.

Intake and intent

Authenticate incoming WhatsApp messages, deduplicate by message ID and load the context.

Distinguish a new search, general question, existing booking or other request. Existing guests may also

start a new search or extend a stay. Do not ask again for information already known. Refer landlord

enquiries, job applications and other unrelated requests to staff.

Automatic sending requires the process policy, all hard checks and a

calibrated threshold. Uncertain cases become review drafts. A confidence

score never grants authority.

Global drafts-only overrides every external message. In automatic mode,

each process is set to automatic, review or disabled. Internal tasks and alerts

Page 57 of 198

prices, early/late times and paid cleaning within explicit limits. Otherwise obtain case approval.

04 / DEVELOPER SPECIFICATION

Accommodation search and prioritisation

Required information: location, move-in date, number of people and rental duration. Rental duration is

either a specific move-out date or open-ended. Do not ask for a budget. If an open-ended duration has

already been stated, do not replace it with a question about a move-out date.

Matches and alternatives

â€ĸ Consider only active, uniquely mapped units within their maximum occupancy. Recheck availability

before sending.

â€ĸ Initially show up to three suitable options with key details, price (if approved) and website link. Further

matches remain available on request; mention this briefly. Do not automatically flood the guest with

follow-up messages.

â€ĸ Prioritise the requested location. If fewer than three suitable matches are found, add options within a

30 km radius; state the actual location and distance.

â€ĸ Prioritise the requested accommodation type. Clearly label other types as alternatives if there are too

Page 58 of 198

few matches. Explain whether the kitchen and bathroom are private or shared. Explicit requirements

such as no shared bathroom remain binding.

â€ĸ If no suitable single accommodation covers the full stay, two accommodations with no more than one

move are possible. Both segments must connect without gaps, be available and have operationally

compatible check-out/check-in times.

â€ĸ If there is no solution for the requested date, always offer alternative move-in dates, even if the guest

has described the date as fixed. Clearly state the deviation; do not silently overwrite the requested date.

â€ĸ Offer fixed-term temporary solutions with a clear end date. Start the contract process only after the

guest agrees to the shorter stay. Do not promise subsequent accommodation or an extension.

Open-ended rentals

No minimum rental duration. Four weeks' notice, effective at the end of a month. First offer units suitable

for open-ended rental without a conflicting subsequent booking. If no suitable option exists, add

fixed-term temporary alternatives. Open-ended availability must not be inferred solely from a calendar

that is free for a finite period.

Page 59 of 198

Presentation and deviations

A full stay in one unit is preferred over a move. Document the precise ranking of competing alternatives

(e.g. a studio in the requested location versus a room nearby) as technical sorting logic; no match may

violate an explicit requirement.

4

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

05 / DEVELOPER SPECIFICATION

Prices, discounts and multiple occupants

â€ĸ Always start with the standard price from Sheets. Exactly two prices per unit: the standard price and

one approved discounted price. No discretionary price negotiation by the AI.

â€ĸ Discounts only after an explicit price objection. A discount message may be sent no earlier than 14

days before the relevant vacancy begins. No discount offer before then.

â€ĸ If the accommodation is already vacant, the stored discounted price may be offered immediately after

a price objection. Move-in must be no later than 14 days after the vacancy starts; if already vacant,

within the next 14 days.

Page 60 of 198

â€ĸ For an earlier price objection, automatically contact the prospect again at the permitted time without

first asking. Conditions: a suitable unit remains available, move-in is eligible, and there has been no final

decline, booking or contact block.

â€ĸ Distinguish a price objection from a final decline. “Not an option”, “I have found something” or a

request to stop contact ends the corresponding sales messages.

â€ĸ The granted monthly price applies throughout the agreed rental duration; for an open-ended contract,

until the tenancy ends. An extension requires a new contract at the then-current price; the previous

discount is not automatically carried over.

Show costs transparently

State the monthly price, one-off final cleaning fee and security deposit separately. All amounts come

from Sheets. A monthly-price discount does not automatically change the deposit or cleaning fee.

Website listings do not contain prices. Refer price changes between offer and contract for a decision; do

not treat a rule-compliant discount as a pricing error.

Partial months

Monthly rent Ãˇ actual calendar days in the month × chargeable rental days. Include the

Page 61 of 198

move-in day and exclude the move-out day; calculate each affected month separately. For

payment-based authorisations, the amounts due in the contract system remain authoritative.

Two or more people

Never exceed maximum occupancy. Use only a versioned, owner-approved occupancy price rule or

case-specific approval. Without either, show details/links but no price or contract link. No AI-invented

surcharge. Multiple simultaneous rooms remain allowed, preferably in one apartment. See page 23.

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

06 / DEVELOPER SPECIFICATION

Follow-ups and waiting list

Trigger

Rule

Offers sent, no response

One general follow-up seven days after the last relevant interaction. Only if

there is no decline, booking, waiting-list entry or pending staff decision. No

second general follow-up.

Page 62 of 198

Explicit price objection

Omit the general seven-day follow-up. Offer a discount only under the

conditions on page 5. Do not automatically discount after seven days.

Form link sent

Remind once after two days if the form is still missing and the

accommodation is available. No general follow-up in this phase.

Contract sent by email

Remind once after two days if the guest has not yet signed and the

accommodation is available. Stop when the guest signs.

Viewing date known

Ask once on the following day whether the prospect is interested in renting,

provided there has been no response, decline or contract processing. No

additional seven-day follow-up.

Sending time

Proactive messages: 09:00-19:00 Europe/Zurich; apply the global mode,

revalidate data and deduplicate.

Waiting list only with consent

â€ĸ First ask whether the prospect would like to join the waiting list. Add them only after documented

consent; carry over known criteria. No additional mandatory form has been agreed.

Page 63 of 198

â€ĸ No expiry date, no 30-day check-in and no deactivation due to silence. Remains active until an explicit

decline or a confirmed booking with you for this search.

â€ĸ As soon as a suitable option becomes available, recheck the price and availability and send an offer.

Do not send the same unchanged offer repeatedly.

â€ĸ A requested move-in date that has passed does not end the search. Offer new suitable options with the

actual move-in date without first asking for updated information. Retain other explicit requirements;

clearly state date deviations.

â€ĸ Pause further offers for this search during contract processing. Stop them after countersignature. Do

not accidentally end other independent searches.

07 / DEVELOPER SPECIFICATION

Rental contract and binding booking

Phase

Action and meaning

Interest in renting

Form received

The contract is created in the dashboard. Form receipt is available as an

event. Pause further offers and general follow-ups for this search.

Enter price

Page 64 of 198

Contract sent

The existing process sends an email for the guest's signature. The dispatch

status in the dashboard controls the two-day reminder.

Guest has signed

The existing email informs you. No additional AI notification is needed. No

more signature reminders to the guest. Not yet booked.

You countersign

The dashboard status is the binding booking signal. The guest automatically

receives the contract and payment instructions by email. The AI stops

sales/contract reminders and switches to guest support.

reservation. Immediately before countersigning, recheck availability and competing contracts. The

technical check must prevent double commitments or block the process for a manual decision.

If an offered unit is allocated to someone else in the meantime, the AI informs affected prospects

according to the sending mode and offers alternatives. Flag open contract processes for review; the AI

must not independently cancel contracts.

Multiple contracts

Arrangement

Contracts and costs

Page 65 of 198

Stay involving one move

Two contracts, one per accommodation; one deposit (the amount is the same

everywhere), final cleaning for each accommodation.

Multiple rooms simultaneously

One contract per room; deposit and final cleaning per room. Price approval

for two or more people.

The entire combination is secured only once all associated contracts have been countersigned. Already

countersigned parts remain individually booked; highlight open parts in the dashboard.

Recheck the selected unit and send its validated form link. Multi-person

prices require an applicable approved price rule or case approval.

Populate the contract from the validated offer snapshot, discount reason and

approval/policy ID. Compare dates, fees and price before dispatch. Route

discrepancies to review; no routine re-entry.

â€ĸ Block open-ended rentals for two years ahead. The end of this block is not the end of the contract. The

AI continues to treat the unit as occupied on an open-ended basis.

â€ĸ Do not report conflicting occupancy data as availability. Block the affected period and create a task to

resolve it.

Extending fixed-term stays

Page 66 of 198

Ask for the new move-out date, check availability and quote the current stored price. If unavailable, offer

suitable alternatives. Extend through a new contract using the same form/signature process; only

countersignature makes it binding. Price approval remains required for two or more people.

Terminating open-ended contracts

The AI records the request and calculates the possible tenancy end based on the stored contract terms:

four weeks' notice, effective at the end of a month, with no minimum rental duration. Record receipt and

the requested date. Submit the termination and calculated tenancy end to you for review; issue binding

confirmation only after approval.

contract immediately blocks CRM offers. On failure, preserve the block, create a sync exception and

reconcile before retrying.

Eight months before block expiry, automatically extend it by two years unless an end is confirmed.

Verify by readback; log the next trigger. Failures create a review task.

block. Offer the subsequent period only after successful readback and a fresh availability check.

8

Automatic Beds24 synchronisation

Page 67 of 198

After countersignature, automatically write the booking to Beds24 and verify it by readback. The

After human approval of termination, automatically update Beds24 and remove only the superseded

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI

09 / DEVELOPER SPECIFICATION

Viewings

Vacant accommodation

â€ĸ Identify the responsible cleaner and WhatsApp number from Sheets.

â€ĸ Ask the prospect for suitable times and coordinate with the cleaner. Confirm the appointment, address

and unit only after both parties agree.

â€ĸ If the cleaner has not replied after 24 hours, remind them once. After another 24 hours, create a task

for you. If the requested appointment is sooner, hand it over to you sufficiently in advance.

â€ĸ Once the viewing date is known, ask once on the following day whether the prospect is interested; omit

the message after a decline, reply or start of contract processing. Update cancelled and rescheduled

appointments.

Occupied accommodation

Page 68 of 198

Contractual permission to share the current tenant's phone number for viewings is included in the rental

process. Do not request permission again before every disclosure. Share only the approved number

belonging to the specific unit and current tenancy with the relevant prospect; do not publish it generally

or disclose other tenant data.

The prospect coordinates directly with the current tenant. When sharing the number, the AI asks to be

informed of the agreed appointment. Do not schedule a viewing-related follow-up without a known

appointment. Refer explicit conflicts over sharing the number to you for clarification instead of deciding

independently.

Approval and sending rules

Messages to cleaners are also subject to the global mode. A manually prepared draft is not yet an

appointment request. The 24-hour period begins only after the message is actually sent. Replies must be

assigned to the correct viewing process.

If the prospect is interested in renting, start the validated contract process. Handle price objections

under the discount rules; a final decline ends sales messages. A viewing does not reserve the

Page 69 of 198

accommodation.

10 / DEVELOPER SPECIFICATION

General questions and guest support

Answer as much as possible independently

â€ĸ Answer accommodation questions from approved data. For operating problems, explain safe stored

instructions; request photos or further information if needed.

â€ĸ Explain payment instructions. Confirm receipt of payment only from reliable contract-system status.

Refer refunds, disputed amounts and decisions outside the AI's authority to you.

â€ĸ Record complaints and faults and try stored solutions. If unresolved or decision-making authority is

lacking, create an internal task. Prioritise acute danger immediately.

â€ĸ Do not invent missing information. Answer verifiable parts of a question and refer the rest for

clarification. Do not invent response times.

â€ĸ Security-deposit refunds are outside the automated business workflow; forward such requests to you.

Preparing knowledge

Wi-Fi and house rules come from Sheets. Waste disposal, appliances, check-in and check-out are

explained in the Guest Instructions videos. Videos contain no access codes. Convert the content to text

Page 70 of 198

and use it as answer knowledge only after your approval; add the relevant link.

The AI proposes knowledge changes based on your replies and corrected drafts. Adopt them

permanently only after your approval. Never apply booking-specific exceptions to other guests without

review.

Secure guest matching

Before providing protected information, uniquely match the phone number and booking. For a different

or unknown number, continue answering general questions; personal contract data, payment status and

access require reliable matching first. A booking number alone is insufficient. Refer unclear cases for

manual review.

Prospects may receive public property information. Wi-Fi and internal guest instructions require the

appropriate booking context; access codes also require time and payment conditions to be met.

Owner/team data and other guests' data remain internal, except for the defined viewing contact.

Explain payment instructions. Confirm receipt only from authenticated bank evidence and verified allocation to

the correct obligation. Refer refunds, disputed amounts and decisions outside the approved policies to staff.

Page 71 of 198

Arrival, payment and departure

Time / condition

Behaviour

Arrival day, 09:00 Europe/Zurich

Send arrival information without a code to the matched guest. The Guest

Instructions video may be included because it contains no access code.

Observe the global mode.

At the stored check-in time

Release the access code only after countersignature, unambiguous guest

matching and actual receipt of the required payment.

Early check-in

Late check-out

Day before move-out, 17:00

Send check-out time and instructions. Before sending, check that move-out

still applies. For an open-ended contract, only after the tenancy end has been

confirmed.

Payment verification is a hard condition

The integration must be able to determine which amounts are required for move-in and whether they

have been received in full. Do not confuse future monthly rents that are not yet due with amounts due

Page 72 of 198

for move-in. If status is unclear, do not release the code; seek internal clarification.

Protect access details

Use only the code for the assigned unit. Do not release it before the arrival day or permitted time. Links

and attachments must not bypass the block either. Do not write codes into general audit logs or push

notifications.

After move-out

Confirm only within an approved early-arrival policy or case approval, with

verified readiness. All payment and identity gates remain. Record the

permitted time for this booking.

Check subsequent bookings and confirmed cleaning capacity. Use approved

time/price limits or obtain case approval. Record the change.

Amounts due come from the contract; paid status requires bank evidence and verified allocation (page

18). A screenshot, transfer promise or manually set paid flag is insufficient. Neither confidence nor

ordinary message approval can bypass this gate.

Lodgify sends final-cleaning notices until cutover. At migration, enable exactly one tested sender in

Beds24 or the CRM and disable the old sender. Support may continue after move-out; access codes

Page 73 of 198

must not be resent.

Cleaning, approvals and notifications

Cleaners and tradespeople

The AI may automatically forward routine cleaning requests with no additional charge to the assigned

cleaner via WhatsApp, subject to the global mode. Send the accommodation, problem and necessary

details. Confirm appointments to guests only after acceptance.

Approval in the dashboard

Each case shows the facts, proposed solution, reply draft, source and, where applicable,

confidence/review reason. Actions: approve, edit, reject. Recheck status and data before sending.

Business approval does not replace manual sending under the global mode.

Urgent tasks

For a locked-out guest, water leakage or other acute problems, immediately create a prioritised task plus

a push notification containing the accommodation, problem and case link. No WhatsApp alert to you. If

not acknowledged after ten minutes, send a second push. Acknowledged does not mean resolved.

Normal tasks and drafts appear together with a counter in the dashboard, without individual push

Page 74 of 198

notifications. Urgent alerts are not held back by the global drafts-only mode.

Continue answering general questions from valid approved knowledge. Without current verification, do

not confirm binding availability, payment receipt or access-code release. Create a clarification task; for

an acute access problem, also send an urgent push. Do not treat a technical outage as a genuine “no

match” result.

Staff decisions and AI

A pending business approval blocks the relevant promise or action, not every safe answer in the

conversation. If a human is requested, create a task and do not independently decide the open case. The

Paid cleaning may be commissioned only within an enabled owner-approved service/price policy, after

guest acceptance, or with case approval. Missing prices or supplier capacity require review.

Tradespeople still require individual approval. See page 23.

contracts or simultaneous guest support and a new search. The following names are technical

suggestions.

Domain

States / meaning

Page 75 of 198

Search

NEW → QUALIFYING → SEARCHING → OPTIONS_SENT → INTERESTED. Flag

PRICE_OBJECTION separately. WAITLIST_OFFERED / WAITLISTED only with

consent. DECLINED ends this search.

Contract per unit

FORM_LINK_SENT → FORM_RECEIVED → CONTRACT_SENT → GUEST_SIGNED

→ COUNTERSIGNED. Only COUNTERSIGNED means booked. If allocated to

someone else: REVIEW_REQUIRED instead of unilateral contract deletion.

Waiting list

consent_at, active, paused_for_contract, stopped_reason. No automatic

expiry. A requested date that has passed does not by itself stop the search.

Task / approval

OPEN → ACKNOWLEDGED → RESOLVED; business decision PENDING /

APPROVED / REJECTED. Store the time and person acting.

Draft

DRAFT → NEEDS_REVIEW / READY → SENT. New message: SUPERSEDED. Staff

reply: CANCELLED. Send only from the current version.

Contact and support

Separate contact_stop. Verified booking matching and the support case are

separate from search status. The global sending configuration applies to all

Page 76 of 198

Priorities for competing events

â€ĸ Before every send, first check new messages, decline/contact stop, booking, availability, business

approvals and source changes.

â€ĸ Countersignature stops all sales and contract reminders for the same search. Handle partial bookings

of grouped contracts individually.

â€ĸ An explicit contact stop blocks proactive messages. A new incoming support question may be handled

but does not reactivate a sales campaign.

Data model and query contract

Object

Minimum required fields

Unit / SheetMapping

address, coordinates, standard_price, discount_price, cleaning_fee, deposit,

listing_url, form_url, cleaner_id, checkin_time, checkout_time

KnowledgeItem

knowledge_id, unit_id/scope, category, text/link, language, access_level,

source, version, verified_at, valid_from/to, approved_by

SearchRequest

search_id, contact_id, target_location, check_in, check_out nullable,

Page 77 of 198

open_ended, guest_count, preferred_type, explicit_constraints,

radius_km=30, max_moves=1

Vacancy / Discount

unit_id, vacancy_start, price_objection_at, eligible_at, intended_move_in,

discount_offer_id, last_sent_at; recalculate when occupancy changes

Viewing / Task / Draft

entity_id, related_unit/contract/search, status, owner, proposed_time,

confirmed_time, approval, confidence, review_reason, due_at,

source_message_id, revision

Audit / Outbox

event_id, actor, timestamp, correlation_id, old/new_state, offer_snapshot,

source_versions, approval_id, send_mode, score, message_id,

idempotency_key

Permissions and query rules

The backend binds queries to a specific unit and, where applicable, a contract. PUBLIC for approved

prospect information, BOOKING for the appropriate guest context, TIME_BOUND for access, INTERNAL for

staff. Provide the language model only with required, permitted fields; no unrestricted SQL generation.

Model the viewing phone number as a separate, limited permission.

Page 78 of 198

Response contract: only retrieved, valid facts plus appropriate action instructions and links. Omit missing

facts and seek targeted clarification. Do not let the language model invent prices, availability or

permissions.

Processing sequence

â€ĸ 1. Authenticate the incoming message, check its unique message ID, and load context and the current

version.

â€ĸ 2. Structure the request and data; apply the 20-second collection window for normal messages.

â€ĸ 3. Unambiguously identify the unit, booking and permissions. Ask for missing information; allow safe

partial answers.

â€ĸ 4. Query specific sources and apply matching, pricing and approval rules in the backend. Distinguish a

technical error from no match.

â€ĸ 5. Generate the reply and confidence score with a rationale. Use only approved facts.

â€ĸ 6. Immediately before sending, recheck sources, draft version, global setting, time window, blocks and

approvals.

â€ĸ 7. Send through the outbox. Store the delivery/API result and start dependent timers only after actual

Page 79 of 198

dispatch.

Prevent duplicate or outdated messages

Use message ID, search process, offer snapshot and automation purpose for deduplication. A new

technical offer_id alone does not make an unchanged offer new. Repeated webhooks must not trigger

duplicate tasks or messages. If the sending outcome is unclear, reconcile it first instead of blindly

resending.

Carry preconditions with the draft. If price, occupancy, payment, dates or relevant rules change, recheck

and recreate it if necessary. Resume due jobs after a restart, but discard obsolete reminders.

Times

Use Europe/Zurich, including daylight saving and standard time. Two days or 24 hours start at the

respective actual sending event. Keep date-based business deadlines separate from times of day. For

jobs outside the sales window, use the next permitted sending time and recheck then.

Audit

Document manual/automatic sending, score, specific approval, staff member, price offer, sources and

Page 80 of 198

state transitions for each process. Keep access codes out of general logs. Internal roles restrict access to

contacts and payment data. Every transition requires an event and timestamp.

WhatsApp integration

Support for approved message templates, envisaged in version 1.0, remains a technical prerequisite.

Before production launch, the implementation must check the platform requirements then in force for

proactive sending. Do not bypass a technical sending block; make failed jobs visible.

Acceptance scenarios

These scenarios are acceptance criteria for the later implementation. They have been specified here, not

executed against an existing system.

Test case

Expected result

Open-ended enquiry

Do not ask for a move-out date; offer a suitable unit with no

conflicting occupancy or a clearly fixed-term alternative.

Price objection 20 days before vacancy

No discount message and no normal seven-day follow-up;

recheck no earlier than T-14.

Page 81 of 198

Price objection at T-14 / already vacant

Discount only with an eligible move-in and availability. The

initial offer remains at the standard price.

Decline before planned discount

Discard the job; no discount offer.

Two people

Do not exceed capacity; links/key details allowed, price and

contract links only after approval.

Split stay / parallel rooms

Two contracts; one deposit for a move, one deposit per room

for parallel rooms. Cleaning charged for each.

Partial month, 16-31 January

15 chargeable days: monthly rent / 31 × 15. The move-out day

does not count.

Guest has signed, you have not

Not yet booked, no code release; guest reminder stops.

Open-ended calendar block expires

Waiting list, requested date has passed

Offer new suitable availability without requesting an update

and without automatic expiry.

High score, payment outstanding

Page 82 of 198

No access code. Proof of payment is insufficient.

Draft mode, timer due

Draft only; still trigger urgent internal pushes.

New message / staff reply

Block or discard the old draft, respectively; no duplicate reply.

System outage / duplicate webhooks

No invented availability; no duplicate messages or tasks.

Unknown phone number

Public information only; block sensitive data until

unambiguously matched.

back. Failure creates an exception, not availability.

No offer after technical block end. Automatically extend eight

months before expiry; verify or escalate.

16

Countersigned, Beds24 still free

Contract blocks offers immediately; sync to Beds24 and read

â€ĸ Contract system: APIs/webhooks for form, dispatch, signature, countersignature and payment events;

reliable allocation of move-in payments actually received.

â€ĸ Confidence: scoring method and calibration using real examples; the threshold remains adjustable by

you. Always check business rules independently.

Page 83 of 198

â€ĸ Push: device/user mapping, delivery status and acknowledgement of urgent tasks; second push after

ten minutes without acknowledgement.

â€ĸ Price calculation: align rounding to CHF cents and presentation of partial months with the contract

system. No silent discrepancies between the offer and contract amount.

â€ĸ Discount messages: no early message. The number of later additional discount reminders has not been

agreed; do not infer a recurring campaign. Deduplicate unchanged offers.

â€ĸ Existing tenants' phone numbers: represent contractual permission and mapping in the system; refer

explicit conflicts for manual clarification. No use for other purposes.

Beds24: demonstrate read/write permissions, unit mapping, booking/block changes and readback.

18 / ACCOUNTING & RENT COLLECTION

contractual charges. Generate each rent obligation once from these terms, including recurring months

and approved changes.

Bank evidence: booked incoming transactions from an authenticated bank feed or bank statement,

exposed through AbaNinja or an approved bank integration. These establish actual cash receipt; a guest

screenshot or payment promise does not.

Page 84 of 198

AbaNinja: accounting documents, postings, accounting status and identifiers. The CRM stores their linked

operational view and the verified allocation of bank receipts to contractual obligations.

CRM: workflow, review, reconciliation, notification history and the consolidated balance. Synchronise

verified received-payment status to the contract system where supported. If writeback is unavailable,

the shared verification service must supply the same status to all CRM workflows and make

discrepancies visible.

The global sending mode on page 3 also applies to rent reminders. Internal accounting tasks and the

arrears alerts defined on page 20 operate independently of that mode. All other existing business rules

19 / ACCOUNTING & RENT COLLECTION

Receipt capture, OCR and booking

Capture and extract

Provide CRM upload for PDF, JPG and PNG receipts/invoices, plus an agreed dedicated receipt email

intake. Preserve the original file, source, upload time and checksum. Link every document to its AbaNinja

record and, where relevant, property, unit and supplier.

Page 85 of 198

Use OCR/document extraction through a verified AbaNinja-compatible route. Extract supplier, invoice

number, invoice and due dates, currency, gross/net amounts, tax information, line items where

available, and payment reference. Store field confidence and the raw extraction. Missing or ambiguous

values must not be invented.

Automate routine accounting

Apply approved accounting rules to propose the account, tax code and property/cost allocation. Validate

totals, required fields, currency, duplicates and supplier mapping. Automatically transfer and book

documents that pass the approved rules; send uncertain, incomplete or exceptional items to a review

queue inside the CRM.

Expose original document, extracted values, booking proposal and validation reason side by side. Staff

can correct, approve or reject. Final status must come from an acknowledged AbaNinja operation; a

successful OCR run or upload does not mean the document has been booked.

Duplicates, corrections and payment boundaries

Use file checksum and supplier/invoice-number/date/amount checks to detect duplicates across upload,

Page 86 of 198

email and retries. A failed or timed-out request must be reconciled against the external record before

retrying. Preserve correction history and use the supported cancellation/reversal process for posted

entries.

Distinguish unpaid supplier invoices from already-paid receipts and link relevant bank transactions

without booking the expense twice. Posting an expense is separate from authorising an outgoing

CRM document states and controls

Suggested states: RECEIVED, EXTRACTED, REVIEW_REQUIRED, APPROVED, SYNC_PENDING, POSTED,

SYNC_FAILED, REJECTED and REVERSED. Record actor, time, rule version, external ID and error details

for each transition.

Restrict document and financial access by staff role. Keep credentials server-side, log changes and

approvals, preserve original files and configure retention/backups with Pearlstay. OCR confidence

thresholds and accounting rules are separate from the conversational AI sending threshold.

19

PEARLSTAY / CORPORATE AI + CRM

20 / ACCOUNTING & RENT COLLECTION

Page 87 of 198

Rent reconciliation and notifications

Determine what is due and what arrived

Maintain obligations per contract and rental period: type, amount, currency, due date and approved

adjustments. Keep rent, deposit, cleaning fees and other charges separate. Future rent is not overdue;

an unused deposit is not automatically rent payment. Apply the existing partial-month rule and contract

rounding.

Import booked incoming payments automatically using supported events and scheduled reconciliation.

Match by unique payment/reference ID and contract, then by verified payer details and amount. An

ambiguous match creates a review task; never allocate on a similar name alone. Support split payments,

combined payments, overpayments, reversals and approved manual allocations with bank evidence.

Outstanding amount = obligation amount - approved credits - net allocated receipts. Calculate in the

obligation currency with deterministic decimal arithmetic. Prevent a transaction being allocated beyond

its available amount. Keep unallocated receipts visible. A reversed receipt reopens the affected balance.

Detect missing and partial payments

Page 88 of 198

After the due date and configured grace period, identify UNPAID or PARTIALLY_PAID obligations with a

remaining balance. Reconcile again immediately before sending. Stale/incomplete bank feeds,

unresolved matching, disputed charges or an approved payment plan must route to review or pause the

applicable reminder. A technical outage must not be interpreted as non-payment.

Notify the tenant and Pearlstay

For a verified overdue balance, prepare or send a concise WhatsApp reminder in the tenant's language,

subject to the existing global mode and 09:00-19:00 Europe/Zurich window. Include rental period,

amount due, amount received, exact remaining balance, due date and verified payment

details/reference. Distinguish no payment from a partial payment.

At first detection, create a CRM arrears case and notify designated Pearlstay staff by an in-app

notification plus push. Include tenant, unit, period, balance and case link. Notify staff again at configured

escalation stages. This is an explicit extension of page 12's routine-notification rule; the urgent

ten-minute repeat rule does not apply to ordinary arrears.

Track actual delivery and avoid duplicate CRM/AbaNinja reminders: designate one sending owner. Cancel

Page 89 of 198

queued reminders when payment settles; after a partial payment update the balance and re-evaluate

the next reminder. Close the case when fully settled, retaining history. No automatic fees, legal notices,

termination or collection escalation.

Required CRM views

Show expected rent, received rent, remaining balances and overdue days by month, property, unit and

tenant; distinguish future amounts, overdue amounts and unallocated receipts. Provide receipt/booking

review queues, accounting sync errors, income/expense summaries sourced from AbaNinja, and a tenant

ledger with documents, payments and reminder history. Label cash receipt separately from accounting

income.

Extend the data and event model

Add AccountingDocument, RentObligation, BankTransaction, PaymentAllocation, ReminderCase and

SyncRun. Store stable CRM/external IDs, currency, amounts, status, source version, evidence,

timestamps and idempotency keys. SyncRun records the bank coverage period, last successful refresh

and errors. Add document_extracted, posting_confirmed, bank_transaction_imported,

Page 90 of 198

allocation_changed, payment_reversed, rent_overdue and rent_settled events.

Acceptance criteria - required end-to-end tests

â€ĸ Valid receipt: OCR extracts the values, approved rules book it once in AbaNinja, and the CRM shows the source and

confirmed booking. A duplicate/retry creates no second booking.

â€ĸ Unclear OCR or tax/account mapping: review in the CRM; no invented values or automatic posting. A sync failure

remains visible and can be retried safely.

â€ĸ CHF 1,200 rent due, CHF 800 received: allocate CHF 800; show CHF 400 outstanding. Once overdue, notify the

tenant of CHF 400 and alert Pearlstay. Zero received results in a CHF 1,200 reminder.

â€ĸ Remaining CHF 400 arrives before dispatch: cancel the reminder and close the case. A screenshot alone does not

settle it. Future rent and deposits do not distort overdue rent.

â€ĸ Ambiguous/combined payment or bank outage: no false arrears message; create a review/sync task. A reversal

reopens the correct balance. Repeated events never duplicate allocations or alerts.

â€ĸ Drafts-only mode: tenant reminder remains a draft; internal arrears notifications still occur. Verified payment status

Implement source mapping and opening balances, then OCR/review, accounting sync, reconciliation, reminders and

Page 91 of 198

dashboard. Activate automation only after the original acceptance scenarios and these new tests pass. Year-end

Delivery objective

Automate standard cases end to end while minimising incorrect actions. Staff receive a consolidated

exception queue with evidence and a proposed next step. No unmeasured automation percentage or

zero-error production guarantee is implied. All existing business rules remain mandatory unless

expressly revised in version 2.5.

Controlled AI functions

Begin with one centrally managed model/API integration and separate permission-scoped functions for

leasing, guest support and document extraction. A multi-agent swarm is not required. The model may

interpret intent, extract candidate fields, retrieve permitted knowledge and draft language. It may not

determine authority, invent facts or write directly to financial, access or booking stores.

Implement search eligibility, price arithmetic, occupancy checks, contract validation, payment allocation,

reminders and access release as tested code. AI tool calls are requests to these services. Each service

independently checks identity, role, current facts, policy version and permitted state transitions.

Page 92 of 198

Protected output

Generate prices, balances, dates, references and codes from verified system fields. Use approved

multilingual templates for payment demands, contractual confirmations and access messages. For other

responses, validate factual fields before sending. Malformed or incomplete model output routes to

retry/review without a business side effect.

Durable process state

Store business state outside the model context. Workflows carry stable entity IDs and versions, not

free-form memory as authority. Timers survive restarts and deployments; resumed jobs revalidate their

preconditions. Durable execution does not replace deduplication or confirmation of external operations.

23 / RELIABLE AUTOMATION

Automation policies and master data

Global and process controls

Retain a global drafts-only override for all external messages. In automatic mode, configure each

process as automatic, review or disabled. Provide a separate emergency pause for business writes.

Neither switch pauses monitoring or internal urgent alerts. Approved mandatory business rules outrank

Page 93 of 198

all sending settings and model scores.

Owner-approved policy catalogue

Create versioned policies with owner, approval time, effective dates, unit scope and explicit limits.

Multi-person pricing must define occupancy tiers with exactly one standard and one discount price per

applicable tier, preserving discount timing and eligibility. No valid tier means case review. Policies never

alter an already agreed contract price.

Optional services within explicit limits

Early/late policies must specify allowed times, fees, booking buffers and confirmed cleaning/readiness

evidence. Paid-cleaning policies must specify service, supplier, customer price, maximum supplier cost

and acceptance requirements. No guessed limits or inferred availability. These policies remain disabled

until Pearlstay supplies and approves their parameters. Guest acceptance and supplier acceptance must

be recorded where applicable.

Decisions retained by staff

Human countersignature and termination confirmation remain mandatory. Refunds, deposit returns,

disputed charges, legal escalation, unapproved tradespeople and outgoing bank payments remain

Page 94 of 198

outside automatic execution. Standard contract population and dispatch may be automatic after all

checks; exceptions return to review.

Master data migration

Initially retain validated Sheets imports. Deliver a CRM master-data editor with required fields, typed

values, permissions, history and scheduled validity. Before migration, reconcile IDs and values and

obtain cutover approval. From cutover, CRM becomes the sole writer for migrated fields; Sheets is

read-only export/import staging. Historical references to Sheets then mean the validated master-data

service. Never allow conflicting dual writes.

Booking commitment

Before countersignature completes, acquire a unit/date lock and recheck current contracts and channel

occupancy. Enforce non-overlapping committed intervals in the central store, including open-ended

contracts. Concurrent internal attempts must not both commit. An external signature flow must support

Document unavoidable synchronisation windows and conflict handling. Never claim absolute

cross-platform atomicity. Unresolved conflicts block the action and notify staff; do not silently cancel

Page 95 of 198

signed contracts.

Reliable messages and writes

Use a transactional outbox for queued actions and an inbox for deduplicated incoming events. Each

logical message, booking, allocation and posting has a stable idempotency key independent of retry

count. Track pending, confirmed, failed and unknown outcomes. On timeout after a possible success,

query the external record before retrying; unknown outcomes enter reconciliation.

Reconciliation and failures

Combine supported webhooks with scheduled readback. Compare contracts, calendar occupancy,

postings, bank coverage and queued reminders. Define per-source freshness and sync-lag limits before

launch. Use bounded retries with backoff, then a visible exception queue. Outages never imply vacancy

or non-payment. Apply a failure only to affected workflows so safe unrelated answers remain possible.

Approvals and changing facts

Bind approvals to the exact action, amount, unit, dates and relevant versions. Revalidate immediately

before execution. Material changes invalidate approval and supersede drafts. Policy revocation stops

Page 96 of 198

queued actions under that policy. Record manual edits, source versions, policy IDs, external

acknowledgements and state transitions.

Recovery and operational alerts

Define responsible staff, severity and escalation for stuck workflows, sync failures and undelivered

messages. Provide safe replay tools that preserve logical IDs. Test database and original-document

restoration, secret recovery and workflow resumption. Approve recovery-time and data-loss targets

Before committing to full implementation, demonstrate the following with Pearlstay-authorised test

records in a sandbox or isolated test workflow. Document account plan, scopes, endpoint, sample result,

external ID, readback, failure handling and limitations. Public documentation alone is not proof of

capability. Do not create live guest obligations or send real reminders during testing.

Contract system

Prove form receipt, automatic population from an offer snapshot, dispatch, guest signature, human

countersignature and status events. Compare prices, fees, dates and parties. Demonstrate the

pre-commit conflict gate and supported payment writeback; otherwise every workflow must use the

Page 97 of 198

shared verified payment service.

Beds24

Prove correct unit mapping, current availability, booking/block creation and amendment, open-ended

block extension and termination updates. Read back the result and test duplicate/timeout handling.

Confirm how changes reach connected channels and which system owns cleaning notices. Record

unsupported operations explicitly.

AbaNinja and bank evidence

Prove original receipt capture, extraction, validation, posting and acknowledged booking status in the

actual account. Demonstrate stable bank transaction IDs, refresh coverage, booked-versus-pending

distinction, allocation, reversals and stale-feed detection. Verify OCR licensing and prohibit silent

payment-order execution. API access alone is not sufficient.

WhatsApp and notifications

Prove inbound authentication, message deduplication, media intake, approved proactive templates,

delivery/failure status and opt-out handling. Verify device/user mapping for internal push,

acknowledgement and the existing urgent repeat rule. Match replies to the correct search, booking or

Page 98 of 198

viewing.

Go / no-go evidence

Deliver a capability matrix with supported, tested, limited and unavailable operations. Pearlstay

approves any substitute or manual fallback with its operational impact and cost. Unsupported automatic

calendar maintenance is an exception, not silent completion of the promised automation. Freeze

integration scope only after this milestone.

Acceptance tests and staged activation

Regression baseline

All scenarios on pages 16 and 21 remain mandatory with the revised calendar and policy behaviour. Add

automated unit tests for arithmetic, date boundaries, eligibility and state transitions; integration tests for

adapters; and end-to-end tests for complete workflows. Store representative anonymised conversations,

documents and expected outcomes.

Additional release-blocking scenarios

Two simultaneous internal commitments: at most one succeeds. External-channel conflict: block or

follow the proven conflict procedure. Offer changes before contract dispatch: no stale terms. Policy

Page 99 of 198

revoked before sending: stop the queued action. Early-arrival request without cleaning readiness:

review. No valid occupancy tier: no invented price.

Retries, payments and boundaries

Timeout after external success: read back and do not duplicate. Restart with due reminders: resume only

still-valid jobs. Late bank event or payment just before dispatch: recheck and cancel/update reminder.

Deployment stages

  1. Integration proof. 2. Master data and deterministic workflows. 3. Shadow mode on representative

cases with external side effects disabled. 4. Staff-reviewed operation. 5. Activate approved processes

individually after their tests pass. 6. Monitor and expand. Retain automatic rollback to review for affected

processes and a global stop control.

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

27 / RELIABLE AUTOMATION

Operations, ownership and handover

Exception-first CRM

Provide one queue showing case, tenant/unit, severity, reason, source evidence, proposed action, owner

Page 100 of 198

and next deadline. Users can correct, approve, reject, pause or retry only within their role. Link to

original documents and integration records. Group duplicates and preserve full history; routine

successful actions need no individual staff task.

technical validation, keeps Lodgify live until verified cutover and requires a replaceable provider

PEARLSTAY / CORPORATE AI + CRM

28 / CHANNEL MANAGER MIGRATION

Beds24 validation and controlled cutover

Approved implementation sequence

Keep Lodgify operating for the current portfolio while proving Beds24. After the technical gate passes

and Pearlstay approves the migration, build the production CRM adapter directly for Beds24. Do not first

build a full Lodgify integration and then rebuild it. Provider-independent CRM, contract and accounting

work may proceed in parallel.

Beds24 proof before commitment

Using an isolated test unit, prove API V2 read/write access, stable unit mapping, direct booking/block

creation, readback, amendments, cancellations and incoming platform reservations. Test both Airbnb

Page 101 of 198

and Booking.com connections, PriceLabs rates/minimum stays, open-ended block extension and retry

behaviour. Use test-safe records; do not send guest messages or connect two competing channel

managers to the same live listing.

Gate and fallback

Record the tested capabilities, limitations, total recurring fees and migration effort. Proceed only when

the required paths pass. If Beds24 fails a required capability, keep Lodgify live and present the limitation

and an alternative for Pearlstay approval. Do not silently commission a second adapter or remove a

required feature. Target-state references to Beds24 elsewhere in this specification apply only after this

gate and cutover.

Replaceable integration module

Separate business rules from the provider adapter. Define provider-neutral operations for availability,

booking/block changes, inbound events and reconciliation. Maintain a provider-keyed mapping of CRM

units, external units, bookings and channel listing IDs, with operation IDs and sync status. Preserve

original Lodgify IDs for migration history. Only the Beds24 production adapter is required; a second

Page 102 of 198

Migration inventory and ownership

Before switching, export and reconcile future bookings, amendments, cancellations, manual blocks,

open-ended tenancies, guest records needed for operations, prices, restrictions and existing

automations. Preserve original channel booking IDs and source ownership to prevent duplicate imports.

Confirm PriceLabs mappings and supported discounts. Assign exactly one sender for guest messages

and cleaning notices; move any Lodgify-hosted website, forms or other used functions before

cancellation.

Controlled production switch

Prepare a unit-by-unit runbook and agreed cutover window. Capture a final delta of changes since

export; suspend competing inventory writes and protect availability during the handover. Transfer each

live listing to the new provider in the platform-supported sequence. Reconcile existing and newly arrived

reservations, blocked dates, prices and restrictions in Beds24, the CRM and both channels. Verify

channel results, not merely a successful API request.

Acceptance, rollback and cancellation

Page 103 of 198

Test a direct-contract block, platform booking, amendment, cancellation, PriceLabs update and

scheduled notification end to end. Monitor against agreed freshness/error limits and obtain Pearlstay

sign-off. Document rollback triggers and how changes received during the switch are preserved before

returning to Lodgify. Cancel Lodgify only after complete verification, required exports and replacement

of all used functions. Never cancel it merely because CRM development has started.

Software consolidation and cost control

Objective and priority

Reduce recurring software costs by consolidating overlapping operational functions in the CRM. Preserve

reliability, ownership and supported external connections. First consolidate waiting list, contract

workflow, tasks and reporting; then add cleaning and maintenance operations. These capabilities are

part of the target CRM scope, not separate subscription products.

Inventory before replacement

Document each actually used product, plan, users, billing period, renewal/cancellation terms, functions,

Functions to consolidate

Page 104 of 198

Use the existing CRM waiting list and follow-up workflow. Reuse the existing contract-system code where

available and permitted; integrate forms, approved templates, price population, dispatch, status and

document storage into the CRM. Consolidate rental-related tasks, approvals, reminders and operational

reporting. Avoid parallel entry and duplicate sources of truth.

and suitable email, file storage and backup infrastructure. Keep a signature service where the required

signing/audit capabilities cannot be reliably provided by the existing implementation. No new automated

signature or countersignature authority is granted.

Selective pricing automation

Keep PriceLabs only for units requiring dynamic pricing, subject to actual billing conditions. CRM monthly

prices and approved discounts govern direct leases. Optional fixed seasonal rates, floors or gap-filling

rules require owner-approved parameters and tests. Building a market-data-based

revenue-management engine is not included. PriceLabs and CRM rules must never compete to write the

same channel rate.

Cancellation gate and scope boundary

Page 105 of 198

Cancel a tool only after all required functions pass acceptance, data/history are exported or migrated,

dependencies are moved and Pearlstay approves. Account for overlapping subscription periods and keep

Mobile cleaning workspace

Deliver a mobile-friendly CRM view for assigned cleaners: unit, authorised access information, task

date/window, checklist, photo upload, notes and status. Restrict each person to assigned tasks and

necessary data. Use a separate staff permission for operational access; never expose guest payment

records or other tenants' information.

Automatic scheduling

Create turnover work from confirmed departures and recurring communal-area cleaning from approved

schedules. Store frequency, responsible person, service scope and check-in deadline per unit/property.

No duplicate jobs on retries. Changes, extensions and cancellations update or supersede the correct job.

Select exactly one scheduling/notification owner across the CRM and Beds24; preserve the migration

controls on page 28.

Task lifecycle and exceptions

Page 106 of 198

Use planned, assigned, accepted, in progress, completed, review required and cancelled states. Capture

who did what and when. Define required checklist items and photo evidence per task. Missing

acceptance or overdue completion triggers an internal exception using configured deadlines. Completion

is not automatically proof of readiness: apply the approved readiness/inspection policy before early

check-in or a promise to a guest.

Maintenance and approvals

A cleaner or guest can report a defect with description, unit, photos and severity. Link it to a case, owner

and resolution history. Acute danger follows existing urgent push rules. Routine support follows

approved instructions. Tradespeople, refunds and costs beyond approved cleaning policies still require

individual approval. Do not let a checklist or AI classification authorise spending.

Unified inbox, tasks and reports

Provide the existing WhatsApp communication, assignments, drafts and approval queues in the CRM.

Use supported messaging integrations; platform and message fees may remain. Centralise rental-related

tasks and dashboards for occupancy, rent received, arrears, expenses, cleaning and maintenance. Label

Page 107 of 198

cash receipts separately from accounting income and preserve source IDs. Avoid duplicate automations

in third-party workflow tools.

Required acceptance scenarios

A departure creates one cleaning job; duplicate events create none extra. A stay extension changes the

job; a cancellation removes obsolete work. Recurring schedules respect local dates. An unaccepted/late

task is escalated once per configured stage. Missing evidence prevents required sign-off. Cleaner access

is limited to assigned units. A defect creates a linked case; paid work outside policy waits for approval.

Disable old notifications at migration and verify one correct notification.

Electronic signature provider selection

Developer responsibility and selection rule

The developer must evaluate and recommend the lowest-total-cost provider that meets all required

Swiss signature, integration, reliability and usability requirements. No provider is preselected. Compare

DeepSign, Swisscom Sign and SwissSign as initial candidates; include a better-value alternative if it

satisfies the same requirements.

Swiss recognition and evidence

Page 108 of 198

Verify qualified electronic signatures (QES) under Swiss ZertES, including the qualified certificate and

qualified timestamp. Identify the actual certificate issuer behind each signing platform and verify its

current official Swiss recognition. Supply dated official evidence and a validated sample signed PDF. An

EU-only eIDAS QES or a generic security certification is not sufficient evidence of Swiss ZertES

compliance.

Required CRM integration

Prove supported API access for sending approved contracts, assigning signers and signing order,

obtaining status, scheduling reminders and retrieving completed PDFs and audit evidence. Confirm

webhook or polling support, authentication, limits and production access. Store provider IDs and verified

completion status in the CRM. Use a replaceable provider adapter; avoid browser automation for the

core signing workflow.

Comparable total-cost assessment

Obtain current written pricing for API access, subscriptions, minimum commitments, setup,

identification, signatures, external signers, storage and support. Calculate monthly and annual costs for

Page 109 of 198

Pearlstay-confirmed volumes and both tenant and landlord signatures. State VAT, billing unit, package

expiry and renewal/cancellation terms. Separate integration costs from recurring costs. Public

web-signing prices must not be assumed to cover API use.

Tenant usability and reliability

Test mobile signing, identification and supported foreign identity documents relevant to actual tenants.

Record account/app requirements, languages and any manual fallback. Test declined or expired

requests, failed identification, timeouts, duplicate events, retries and document retrieval. Retries must

not send duplicate contracts, cause unintended charges or mark an incomplete contract as fully signed.

Recommendation and approval gate

Deliver a comparison matrix, recognition evidence, written pricing, test results and a reasoned

recommendation before committing to a paid provider contract. Pearlstay approves the provider and

costs. Then implement and verify the production integration. If the lowest-priced candidate fails a

mandatory requirement, document the failure and recommend the cheapest qualifying alternative.

Signature authority and handover

Page 110 of 198

Automate preparation, dispatch under approved rules, reminders, status tracking and archival. Preserve

the existing individual signature and countersignature approval rules; this addition grants no new

authority to sign for Pearlstay or a tenant. Handover must include account ownership, credentials

transfer, configuration, recovery procedures and evidence linking each completed PDF to its contract

and signers. This section governs provider selection wherever an earlier section leaves the service

Phone menu and WhatsApp handover

Objective and implementation

Implement a simple inbound telephone menu using keypad selection (DTMF). Route prospective and

current guests to the existing WhatsApp workflow; route other callers to a designated human. A

conversational AI voice agent, speech-based intent classification and automated outbound calls are not

included.

Main menu and guest route

Offer two clearly announced categories: press 1 for booking enquiries or an existing stay; press 2 for

other matters. Option 1 explains that callers should message the same number they have just called on

Page 111 of 198

WhatsApp. Optionally offer an SMS with the verified WhatsApp link on explicit keypad request. Sending

the link does not create a WhatsApp conversation or permission for marketing.

Urgent guest needs and no-WhatsApp fallback

Within the guest route, clearly offer a key to reach a human for urgent stay-related problems, including

being locked out, and a callback option for callers unable to use WhatsApp. Do not force these callers

into a messaging-only loop. Define the responsible contact, coverage hours and escalation sequence

with Pearlstay. Do not promise continuous human availability unless it is staffed.

Other calls, missed calls and callback tasks

Option 2 transfers to the designated person or team. If the transfer fails or nobody answers, offer

voicemail and create a CRM callback task with the selected route, time, caller number if available and

message reference. Treat urgent guest callbacks as priority tasks with an immediate internal alert and

agreed escalation. Hidden caller IDs require a callback number to be supplied; do not guess identity.

Reliable operation and data handling

Repeat invalid or missing keypad input once, then offer human/callback fallback rather than ending in a

Page 112 of 198

loop. Deduplicate provider events and SMS requests; record failed SMS delivery for follow-up without

by default. Announce voicemail recording and configure retention.

Acceptance and delivery

Test both main routes, urgent guest transfer, no-WhatsApp callback, unanswered/busy destinations,

out-of-hours behaviour, hidden numbers, invalid input, failed SMS and duplicate events. Confirm that the

SMS link opens the correct WhatsApp account and that an actual guest message enters the existing CRM

workflow. Deliver the approved menu script, routing diagram, staffing/escalation settings, cost

comparison, test evidence and administrator handover. Preserve all existing WhatsApp and guest-data

safeguards.

properties, organisations and contacts where verified.

Gmail intake, filters and review

Import listing alerts from the designated Gmail inbox for Homegate, ImmoScout24 and Flatfox. Preserve

original emails, message/thread IDs, listing links and source timestamps. Provide editable keyword and

location exclusions, such as replacement-tenant wording or excluded locations. Keep excluded records

Page 113 of 198

and reasons reviewable. Failed parsing enters a review queue; absent property details are not invented.

Pearlstay reviews each listing and selects interested, deferred or rejected.

Deduplication and contact relationships

Deduplicate repeated emails, listing IDs and URLs; detect likely cross-platform duplicates using property

attributes. Retain source links and changes, and require review for ambiguous matches. Link multiple

properties handled by the same contact or management company without merging distinct

opportunities. Show existing conversations and prevent duplicate outreach for the same opportunity

across imports and retries.

Outreach drafts and reliable status changes

Prepare editable emails using approved templates, verified recipient details and property data. Initially

every first email and follow-up requires human review and send approval. Successful Gmail sending

records the message ID and timestamp and automatically sets First outreach sent or the applicable

Follow-up sent stage. Failed or uncertain sends enter reconciliation; no blind resend, success status or

follow-up timer. Capture relevant manually sent Gmail replies as well.

Page 114 of 198

Follow-up timing and replies

After confirmed first outreach, set Follow-up due after three days by default; further stages and intervals

remain owner-configurable. Define calendar/business-day handling and sending windows in

Europe/Zurich. Prepare the next draft automatically. Recheck for replies immediately before sending. A

linked inbound reply stops pending follow-ups, invalidates stale drafts, marks Reply received and alerts

the owner. Bounces, explicit declines, contact blocks and closed cases also stop the sequence;

ambiguous replies require review.

Track new, review, deferred, rejected, first outreach sent, follow-up due/sent by stage, reply received,

viewing, negotiation, won, lost and dated revisit states with an audit trail. Property selection, contact

Automatic follow-up sending is a later separately enabled policy. Migrate ClickUp statuses, notes, mail

history or accessible references, ownership and next due dates; reconcile counts and samples before

Prove repeated imports create no duplicates; filters are editable and traceable; distinct units are not

merged; confirmed sending advances one stage and creates one timer; failed sends do neither. Test

Page 115 of 198

replies before a scheduled send, bounces, blocked contacts, unrelated threads, manual Gmail sending

and migrated overdue tasks. Verify one active workflow after cutover. Deliver field/status mappings,

template settings, migration results, recovery instructions and incremental costs. Cancel ClickUp only

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

34 / NEW-BUILD ACQUISITION

Olmero projects and contact priority

Second pipeline within the acquisition module

Integrate the existing Olmero-to-ClickUp process as a separate new-build project pipeline in the same

CRM acquisition module. Reuse the shared contact database, Gmail sending, reply matching, audit trail

and follow-up engine from page 33. Maintain separate project fields, email templates, stages and

Excel intake and import preview

Retain the manual Excel export from Olmero and provide a CRM upload with column mapping, validation

and preview before committing the import. Preserve the source file, import batch, source project ID

where available, original values and import time. Capture project name, location, phase, planned

Page 116 of 198

completion date, source link and supplied Bauherr and architect-office contact details. Flag missing or

invalid fields; never invent contacts.

Mandatory primary-contact rule

Select exactly one outreach contact per project using deterministic rules: (1) if a usable Bauherr (project

owner/client) contact is supplied, always select the Bauherr, even when an architect is also listed; (2)

only if no usable Bauherr contact is available, select the architect office if usable contact details are

supplied; (3) if neither is usable, mark Not usable - missing contact details and exclude the project from

outreach and follow-ups. For email outreach, a name or telephone number alone is not a usable email

contact.

Single recipient and controlled changes

Show the selected primary contact, role and selection reason before approval. Do not contact the

Bauherr and architect in parallel, including as CC/BCC recipients. Store other supplied contacts as

reference only. A reply, rejection or bounce does not automatically authorise switching to the other

party. If a later import changes the preferred contact after outreach has begun, preserve the history,

Page 117 of 198

pause pending drafts and request human review before changing the recipient.

Project matching and safe updates

Use stable Olmero project IDs where present, with controlled matching on project attributes otherwise.

Repeated exports update the same project rather than create new opportunities or restart outreach.

Preview changes and review ambiguous matches. Preserve human notes, pipeline status,

correspondence and due dates; do not overwrite them with spreadsheet blanks. The same company may

have several distinct projects, which must remain separate and linked.

Outreach, replies and long-term follow-up

Pearlstay reviews project suitability and approves first emails and follow-ups at launch. Reuse

confirmed-send status changes, duplicate-send prevention and reply/bounce/decline stop rules from

page 33. Configure new-build follow-up intervals separately; confirm existing ClickUp timing rather than

assuming the listing pipeline's three-day default. Support conversation, project assessment, negotiation,

won/lost and dated revisit stages, with longer reminders tied to project progress and expected

completion.

Page 118 of 198

Migration, acceptance and delivery

Migrate existing Olmero ClickUp projects, contact roles, selected recipients, statuses, notes, mail

references and next actions. Test owner-only, architect-only, both-contact and no-contact imports;

incomplete emails; repeated and changed exports; recipient changes after outreach; replies and

overdue migrated tasks. Prove owner priority, no dual outreach and no outreach without a usable

contact. Deliver mappings, templates, costs and test results. A direct Olmero API connection is optional

Purpose and configurable starting values

Protect continuous long-term letting from short bookings far beyond the next available date. Apply this

additional eligibility gate to CRM offers and contract dispatch, including search alternatives on page 4.

Approved starting values per unit: maximum automatic gap 14 nights; short-stay threshold three

calendar months; short-stay booking window 30 calendar days before move-in. These are configurable

business rules, not guaranteed optimal revenue settings.

Calculate the actual preceding gap

Using fresh PMS and binding-contract data, find the start of the continuous available interval containing

Page 119 of 198

the requested move-in. Count the unoccupied nights from that start to move-in, excluding elapsed dates

before today and dates before the unit is operationally available. Do not substitute the number of days

from today for this gap. Count lead time separately from today to move-in in Europe/Zurich. Unknown

availability or an unconfirmed end of tenancy requires review, not an assumed free interval.

Deterministic eligibility rules

If the preceding gap is 14 nights or less, offer normally subject to all other rules. If the gap exceeds 14

nights and the fixed stay is shorter than three calendar months, defer a binding offer when move-in is

more than 30 days away; at 30 days or less it may be offered after all checks pass. If the gap exceeds 14

nights and the fixed stay is at least three calendar months, require human approval. Open-ended

requests with a larger gap also require review; never assume they guarantee three months of revenue.

Existing open-ended rental terms remain unchanged.

Alternatives, waiting list and guest expectations

First search other suitable units or clearly labelled alternative dates that pass the same gate. With the

prospect's consent, retain a deferred enquiry with desired dates, preferences, reason and next review

Page 120 of 198

date. Clearly explain that the requested stay cannot yet be confirmed and that later availability is not

guaranteed. A deferred enquiry creates no reservation, inventory block or contract dispatch. Do not

describe a commercially deferred unit as physically occupied.

Automatic reassessment

For a deferred short stay, schedule reassessment when the 30-day window opens. Also reassess relevant

enquiries after confirmed bookings, cancellations or approved date changes alter the preceding gap. A

newly booked intervening stay may make the enquiry eligible earlier. Recheck dates, full-stay

availability, prices, contact permission and all other gates before notifying the prospect or preparing a

contract. Deduplicate reminders and stop on withdrawal, booking or contact block; use existing sending

modes and permitted hours.

Example, exceptions and channel scope

Example: occupied through September, then continuously free, with a one-month January request. While

outside the 30-day window, defer the request and offer alternatives or the consent-based waiting list.

Recheck in early December at the exact date-based trigger, or earlier if intervening bookings reduce the

Page 121 of 198

gap to 14 nights or less. Owner-approved exceptions must record who, why and which dates. Existing

confirmed bookings are never cancelled by this rule. Do not assume Airbnb/Booking instant bookings

obey the CRM gate; the developer must assess supported channel restrictions and obtain approval

before changing them.

Acceptance and operational visibility

Display preceding gap, lead time, stay length, policy version, eligibility result and next review date. Test

14 versus 15 nights, 30 versus 31 days, exactly three calendar months, open-ended stays,

already-vacant units and missing prior bookings. Test an intervening booking that enables an early offer,

a cancellation that removes eligibility, duplicate rechecks, withdrawn consent and an approved

exception. Revalidate immediately before contract dispatch. Review actual occupancy and

declined/deferred demand with Pearlstay before adjusting thresholds.

35

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

36 / MULTICHANNEL GUEST ENQUIRIES

Central inbox and WhatsApp handover

Page 122 of 198

Scope and connected accounts

Centralise inbound rental enquiries from Tutti, HousingAnywhere, Flatfox and Comparis, including

Homegate and ImmoScout24 enquiries from Tutti crossposting. Connect the relevant email accounts

individually where supported. Retain receiving account, portal, source listing, reply address,

thread/message IDs, attachments and original content. Keep this guest-enquiry workflow separate from

Account inventory and channel capability proof

Map every portal account, mailbox and listing to the correct CRM unit. For each channel, verify whether

notification emails contain the complete enquiry, whether email replies reach the prospect, and whether

an official integration supports messages or attachments. Check portal conditions, including

multi-account use and external contact sharing. Where supported sending is unavailable, provide a draft,

Extraction, deduplication and identity

Extract supplied contact details, requested dates and unit references, with uncertain fields sent to

review. Deduplicate repeated notifications and crossposted copies of the same enquiry while preserving

sources. Link verified contacts across channels but retain separate requests for different dates or units; a

Page 123 of 198

similar name is not sufficient to merge people. Ensure only one active response workflow for a matched

enquiry and never reply to a notification sender as if it were the guest.

Default WhatsApp handover

Where permitted, answer through the working original channel with a clickable WhatsApp link and a

prefilled message containing an opaque enquiry reference, not private guest details. Keep email or

portal support available for people without WhatsApp. If a phone number and valid contact opt-in are

documented, an approved WhatsApp Business Platform template may initiate contact. A supplied phone

number alone is not permission. Record consent source and time; do not infer it from a portal

notification.

Conversation linking and duplicate prevention

A clicked link is not a received WhatsApp message. Start the WhatsApp workflow only after the user

sends a message and the enquiry is safely matched; ambiguous matches require clarification. An

enquiry reference links context but does not authenticate access to sensitive booking data. On verified

handover, stop duplicate portal/email reminders and continue with the existing guest workflow and

Page 124 of 198

current availability checks. Respect opt-outs, sending modes, template requirements and

service-window rules.

HousingAnywhere PDF handover

Pearlstay reports that sending its existing PDF containing the WhatsApp number has been tested

successfully and the guest can see the number. Include that PDF as the intended HousingAnywhere

Rollout, acceptance and costs

Start with mailbox ingestion, mapping, deduplication and drafts; enable sending per channel after

end-to-end tests and approval. Test all mailbox/portal routes, crossposting duplicates, missing phones,

absent opt-in, no-reply addresses, failed sends, PDF attachments, WhatsApp handover, unmatched

references and human takeover. Reconcile uncertain sends before retrying. Deliver account/channel

4. User Personas

Pearlstay operates a corporate AI + CRM for short-term rental and property management. The specification establishes several human roles. Systems and AI components (the AI message generator, OCR, AbaNinja, WhatsApp) are supporting actors, not personas.

Page 125 of 198

4.1 Pearlstay Staff (Operations)

Pearlstay staff work in a single operational workspace CRM covering prospects, tenants, units, contracts, communication, receipts, accounting exceptions and rent collection. AbaNinja remains the accounting system behind this interface; routine uploads, review decisions, payment checks and reminder handling are available in the CRM, while specialist accounting configuration and closing may remain in AbaNinja.

Goals and responsibilities:

  • Review, edit and send AI-generated messages manually; the AI drafts, staff decide.
  • Handle document intake: view original document, extracted values, booking proposal and validation reason side by side; correct, approve or reject. Final status must come from an acknowledged AbaNinja operation — a successful OCR run or upload does not mean the document has been booked.
  • Work the exception-first queue showing case, tenant/unit, severity, reason, source evidence, proposed action, owner and next deadline. Correct, approve, reject, pause or retry only within their role; link to original documents and integration records; group duplicates and preserve full history.
  • Review each listing and select interested, deferred or rejected.
  • Review project suitability and approve first emails and follow-ups at launch for outreach; reuse confirmed-send status changes, duplicate-send prevention and reply/bounce/decline stop rules; configure new-build follow-up intervals separately and confirm existing ClickUp timing rather than assuming the listing pipeline's three-day default; support conversation, project assessment, negotiation, won/lost and dated revisit stages with longer reminders tied to project progress.
  • Define responsible staff, severity and escalation for stuck workflows, sync failures and undelivered messages.
Page 126 of 198
  • Secure guest matching: before providing protected information, uniquely match phone number and booking. For a different or unknown number, continue answering general questions; personal contract data, payment status and access require reliable matching first. A booking number alone is insufficient. Refer unclear cases for manual review.
  • Answer general questions and guest support as much as possible independently.
  • Use the guest's language with a friendly, concise tone; mirror formal/informal address, starting with formal "Sie" if the appropriate German form is unclear; transcribe voice messages, assess images for the request and ask targeted questions where needed.
  • Provide a key to reach a human for urgent stay-related problems (including lockout) and a callback option for callers unable to use WhatsApp; do not force these callers into a messaging-only loop. Define responsible contact, coverage hours and escalation sequence with Pearlstay; do not promise continuous human availability unless staffed.
  • Restrict document and financial access by staff role; keep credentials server-side and log changes.

Inputs: guest messages (text, voice, images), documents, booking data, integration records, exception queue items. Decisions: approve/reject documents, select listing interest, approve outreach, escalate exceptions, match guests securely. Observable success: messages sent, documents booked in AbaNinja, exceptions resolved, guests matched securely, urgent calls handled.

Page 127 of 198

4.2 Cleaners

Cleaners use a mobile-friendly CRM view for assigned tasks.

Goals and responsibilities:

  • View unit, authorised access information, task date/window, checklist, photo upload, notes and status.
  • Restricted to assigned tasks and necessary data; a separate staff permission governs operational access; guest payment records and other tenants' information are never exposed.
  • Cleaner access is limited to assigned units. A defect creates a linked case; paid work outside policy waits for approval.
  • The AI may automatically forward routine cleaning requests with no additional charge to the assigned cleaner via WhatsApp, subject to the global mode, sending accommodation, problem and necessary details. Confirm appointments to guests only after acceptance.

Inputs: assigned task details, access information, checklists. Decisions: accept/decline tasks, report defects, upload photos. Observable success: tasks completed, defects logged, appointments confirmed after acceptance.

Page 128 of 198

4.3 Tradespeople

Tradespeople receive forwarded requests but require individual approval (see page 23). Their responsibilities are limited to accepting or declining forwarded work; routine cleaning requests may be auto-forwarded, but tradespeople still require individual approval.

Inputs: forwarded requests with accommodation, problem and necessary details. Decisions: accept/decline work. Observable success: work accepted, appointments confirmed to guests only after acceptance.

4.4 Prospects

Prospects may receive public property information. Wi-Fi and internal guest instructions require secure matching. Prospects interact with the AI for general questions; no staff responsibilities are established for prospects beyond receiving public information.

4.5 Tenants

Tenants interact with the system for signing, identification and document retrieval. Test mobile signing, identification and supported foreign identity documents relevant to actual tenants; record account/app requirements, languages and any manual fallback. Test declined or expired requests, failed identification, timeouts, duplicate events, retries and document retrieval. Retries must be handled. Tenants are not assigned staff responsibilities in this specification.

Page 129 of 198

4.6 Guests

Guests interact with the AI for general questions and support. The AI answers as much as possible independently. Guests may receive public property information; Wi-Fi and internal guest instructions require secure matching. Urgent guest needs and no-WhatsApp fallback are provided. Guests are not assigned staff responsibilities.

4.7 Supporting Actors (Systems)

  • AI message generator: drafts messages in the guest's language, mirrors formal/informal address, transcribes voice messages, assesses images, asks targeted questions.
  • AbaNinja: accounting system behind the CRM interface; final document status must come from an acknowledged AbaNinja operation.
  • WhatsApp: channel for forwarding routine cleaning requests to cleaners and for guest communication; no-WhatsApp fallback provided.
  • OCR: extracts values from documents; successful OCR does not mean the document has been booked.

4.8 Necessary Defaults

  • The specification does not define a closed persona count; additional roles may exist.
  • Coverage hours and escalation sequence for urgent guest needs must be defined with Pearlstay; continuous human availability is not promised unless staffed.
  • New-build follow-up intervals must be configured separately; existing ClickUp timing must be confirmed rather than assuming the listing pipeline's three-day default.
  • Tradespeople approval process is detailed on page 23.
Page 130 of 198

5. Core User Flows

5.1 Journey 1: Accommodation Search and Offer

Trigger: A prospect or existing guest sends a WhatsApp request for accommodation.

Participants: Prospect/guest, AI system, staff member.

Page 131 of 198
  1. Authenticate the inbound WhatsApp message, deduplicate by message ID, map the device/user and load the correct conversation, search, booking and permissions. Collect messages within the 20-second normal response window; each new message restarts the window. Recognised emergencies bypass the delay.
  2. Classify the request as a new search, existing booking, general question, viewing, payment/support matter or unrelated request. Route landlord enquiries, job applications and uncertain cases to staff.
  3. For a search, collect location, move-in date, number of people and duration. Duration may be a move-out date or open-ended; do not ask for a move-out date when an open-ended duration is already known, and do not ask again for known information. Do not ask for a budget.
  4. Search only active, uniquely mapped units within maximum occupancy. Prefer the requested location and accommodation type; label alternatives and explain private/shared kitchens and bathrooms. Explicit requirements remain binding.
  5. Recheck availability, prices, blocks, approvals and source freshness immediately before sending. Prefer one unit for the entire stay. If necessary, offer no more than two units with one move, without gaps and with compatible turnover times. If the requested date has no solution, offer alternative move-in dates while clearly stating the deviation. Fixed-term alternatives include a clear end date and do not promise a later extension.
  6. Send up to three suitable options with approved details, price where approved and a website link. Further matches remain available on request. Generate a rationale and confidence score from approved facts only, then dispatch through the outbox and store the delivery result. Start dependent timers only after actual dispatch.

Result: The guest receives a curated, accurate offer.

Page 132 of 198

Failure/recovery: Availability or source data changing before dispatch causes a fresh check and revised offer. A technical error is distinguished from no match. An unclear send outcome is reconciled before retrying; duplicate webhooks or unchanged offers do not create duplicate messages.

Continuation: Positive interest proceeds to the contract flow; no response proceeds to follow-up or an expressly consented waiting list; a price objection follows Journey 2.

5.2 Journey 2: Price Objection, Follow-up and Waiting List

Trigger: A guest objects to price, does not respond, attends a viewing, or consents to a waiting list.

Participants: Prospect/guest, AI system, staff member.

Page 133 of 198
  1. Distinguish a price objection from a final decline or contact stop. A final decline, “not an option,” found accommodation or stop-contact request ends sales messages for that search.
  2. A price objection 20 days before vacancy produces no discount and no normal seven-day follow-up; recheck no earlier than T-14. At T-14 or when already vacant, apply only an eligible stored tier, with move-in no later than 14 days after vacancy begins, or within the next 14 days when already vacant. A standard-price initial offer remains standard. Contract prices already agreed are never changed.
  3. Earlier objections may trigger an automatic recheck at the permitted time only if a suitable unit remains available, move-in is eligible, and no decline, booking or contact block exists. No valid tier or an exceptional case requires review.
  4. For an unanswered offer, send one general follow-up seven days after the last relevant interaction. If a viewing date is known, ask once on the following day instead and do not send the seven-day message. Do not flood the guest with additional proactive messages.
  5. Ask for waiting-list consent before adding the prospect. Store consent time, active/paused state and stop reason; carry forward known criteria. There is no automatic expiry. A passed requested date does not end the search: offer suitable current dates and state the deviation.
  6. Recheck price and availability before each waiting-list offer. Pause offers for the same search during contract processing and stop them after countersignature without affecting independent searches. An explicit contact stop blocks proactive messages but does not prevent handling a new support question.

Result: The guest receives an eligible revised offer, a controlled follow-up, or a waiting-list offer.

Failure/recovery: Conditions not being met prevents the message. Declines and contact stops suppress future sales messages; unavailable waiting-list options remain active for later rechecking.

Page 134 of 198

5.3 Journey 3: Viewing Coordination

Trigger: A prospect requests a viewing of vacant accommodation or a viewing with a current tenant.

Participants: Prospect, AI system, cleaner or current tenant, staff member.

  1. Identify the responsible cleaner and WhatsApp number from the approved source, or the number for the specific unit and current tenancy. Do not publish tenant contact data or disclose other tenants.
  2. Collect suitable times and coordinate with the relevant person. Confirm appointment, address and unit only after both parties agree. For a current-tenant viewing, ask the prospect to report the agreed appointment. A dispute about sharing the number goes to staff.
  3. If a cleaner has not replied after 24 hours, remind once; after another 24 hours create a staff task. If the requested appointment is sooner, hand over sufficiently in advance. Update cancellations and rescheduling.
  4. Once a known viewing date has passed, ask once on the following day whether the prospect wants to rent, unless the prospect replied, declined or entered contract processing. A viewing does not reserve a unit.

Result: The viewing is confirmed, escalated or cancelled safely.

Page 135 of 198

5.4 Journey 4: Contract Preparation, Signature and Binding Booking

Trigger: A prospect expresses interest in renting or accepts an extension.

Participants: Prospect/guest, staff member, contract system, AI system.

  1. Record form receipt as an event and automatically populate the contract from the approved offer snapshot. Preserve prices, fees, dates and parties so the sent contract can be compared with the snapshot and current booking data.
  2. The staff member may enter or approve the price where required. Prepare and dispatch the contract under approved rules, archive the original and track delivery/status events. A two-day reminder is controlled by dispatch status; no reminder is sent after guest signature.
  3. The guest signs as the first signature. Guest signature does not make the booking firm. The staff member reviews and countersigns; human countersignature remains the binding booking signal. The guest then receives the contract and payment instructions by email.
  4. Immediately before countersignature, acquire the unit/date lock and compare price, fees, dates, parties, current contracts, channel occupancy and open-ended intervals. Enforce the pre-commit conflict gate so concurrent attempts cannot both commit. If allocation has changed, set REVIEW_REQUIRED rather than deleting a contract unilaterally.
  5. After countersignature, stop sales and contract reminders for that search, preserve the binding contract, create the booking/block in Beds24 and read back the result. Supported payment writeback uses the shared verified payment service; a screenshot, promise or unverified manual flag is insufficient.

Result: A binding contract and verified channel booking exist, or a controlled human review is created.

Page 136 of 198

Failure/recovery: A failed, timed-out or ambiguous dispatch, signature, booking write or payment writeback is reconciled against the external record before retrying. The CRM preserves the contract block and creates an exception; it never blindly duplicates a booking or message.

5.5 Journey 5: Extensions and Open-Ended Termination

Trigger: A guest requests a fixed-term extension or termination of an open-ended contract.

Participants: Guest, staff member, AI system, contract system, Beds24.

  1. For an extension, collect the new move-out date, check current availability and quote the stored price. Offer alternatives if unavailable. Create a new contract using the same form, offer-snapshot, signature and pre-commit checks; only countersignature binds it. Price approval remains required for two or more people.
  2. For open-ended termination, record receipt and requested date, calculate the possible end under stored terms—four weeks’ notice effective at month-end, with no minimum rental duration—and submit the calculation to staff. Human approval and confirmation remain mandatory.
  3. After approved termination, update Beds24 and remove only the superseded block. Do not treat a calendar block’s technical end as the contract end.

Result: An extension is binding only after countersignature; termination is confirmed only after staff approval.

5.6 Journey 6: Beds24 Occupancy, Blocks and Migration Gate

Trigger: A binding booking, amendment, cancellation, open-ended contract, or migration step occurs.

Participants: AI/CRM, staff member, Beds24, Lodgify, Airbnb, Booking.com and PriceLabs as supporting systems.

Page 137 of 198
  1. Before commitment, prove Beds24 API V2 read/write access in an isolated test unit: stable mapping, current availability, direct booking/block creation, readback, amendments, cancellations, incoming platform reservations, Airbnb and Booking.com connections, PriceLabs rates/minimum stays, open-ended extension and retry behaviour. Use test-safe records; do not message guests or connect competing live channel managers.
  2. Record capabilities, limitations, recurring fees, migration effort and acceptance results. Proceed only after the required paths pass and Pearlstay approves. If a required path fails, keep Lodgify live and present the limitation and alternative; do not silently build another adapter or remove functionality.
  3. During approved cutover, export and reconcile future bookings, amendments, cancellations, manual blocks, open-ended tenancies, required guest records, prices, restrictions and automations. Preserve original channel booking IDs and ownership. Use a unit-by-unit runbook, final delta, protected availability and a defined rollback procedure.
  4. Reconcile existing/new reservations, blocked dates, prices and restrictions in Beds24, CRM and both channels. Test a direct-contract block, platform booking, amendment, cancellation, PriceLabs update and scheduled notification end to end. Obtain Pearlstay sign-off before cancellation of Lodgify; cancellation waits until all used functions, exports and dependencies are replaced.
  5. For live occupancy, binding contracts and Beds24 occupancy both block the relevant period. Open-ended contracts block two years ahead; extend the block by two years eight months before expiry unless an end is confirmed. A conflicting or failed readback blocks the affected period and creates a review task rather than reporting availability.

Result: Occupancy remains protected through proof, cutover and ongoing synchronization.

Page 138 of 198

5.7 Journey 7: Messaging, Phone Routing and Notifications

Trigger: An inbound WhatsApp message, telephone call, internal event or approved proactive notification occurs.

Participants: Caller/guest, AI system, staff member, cleaner, notification and messaging services.

Page 139 of 198
  1. Authenticate inbound WhatsApp, deduplicate messages, accept supported media and match replies to the correct search, booking or viewing. Store delivery and failure status. Approved proactive templates are required; opt-outs suppress applicable proactive messages.
  2. Drafts carry their source snapshot and preconditions. A new guest message updates the open draft and supersedes the old version; a staff reply cancels the AI draft and becomes context. Staff may review, edit, approve, reject, pause or retry only within role. Send only the current version after rechecking price, occupancy, payment, dates, approvals and global mode.
  3. A DTMF phone menu announces: press 1 for booking enquiries or an existing stay, or press 2 for other matters. Option 1 directs the caller to WhatsApp on the same number and may send an SMS containing the verified WhatsApp link only on explicit keypad request; this does not create a conversation or marketing permission. Offer an urgent-human key and callback for locked-out or other urgent guest needs. Option 2 transfers to the designated human team.
  4. If transfer fails, offer voicemail and create a callback task with route, time, available caller number and message reference. Hidden caller IDs require a supplied callback number. Urgent callbacks receive immediate internal alert and agreed escalation. Repeat invalid or missing keypad input once, then offer human/callback fallback rather than ending the call.
  5. For internal push, verify device/user mapping, record acknowledgement and apply the existing urgent repeat rule. Routine tasks appear in the CRM queue without individual pushes; urgent tasks use the configured immediate alert and repeat condition.

Result: Messages, calls and notifications reach the correct participant with traceable delivery and opt-out handling.

Page 140 of 198

5.8 Journey 8: Guest Support, Identity, Arrival, Payment and Departure

Trigger: A guest asks for protected information, payment/access support, or a time-based arrival/departure event occurs.

Participants: Guest, AI system, staff member, verified payment service, contract/Beds24 systems.

Page 141 of 198
  1. Match protected requests using both phone/device identity and booking; a booking number alone is insufficient. Unknown or mismatched callers may receive public property information but not contract data, payment status, access or internal instructions. Unclear cases go to staff.
  2. Answer approved knowledge questions and stored safe instructions. Wi-Fi and house rules come from approved Sheets content; Guest Instructions videos are converted to staff-approved text and linked, without exposing access codes. Do not invent missing facts, response times or binding status. Refunds, deposits, disputed amounts and decisions outside authority go to staff.
  3. At 09:00 Europe/Zurich on arrival day, send approved arrival information without a code. At stored check-in time, release the access code only after countersignature, unambiguous matching and verified receipt of the required move-in payment. Future rent not yet due is excluded from this gate.
  4. The shared verified payment service uses authenticated bank evidence and correct obligation allocation. AbaNinja or bank evidence must support receipt capture, extraction, validation, posting and acknowledged booking status; a successful upload or OCR result alone is not payment confirmation.
  5. At 17:00 the day before move-out, send checkout instructions only if move-out still applies. For open-ended contracts, wait until the tenancy end is confirmed. Early arrival requires approved policy or case approval, confirmed cleaning/readiness, subsequent-booking checks and recorded permitted time; all identity and payment gates remain.
  6. After move-out, do not resend access codes. Lodgify may send final-cleaning notices only until cutover; thereafter exactly one tested Beds24/CRM sender remains enabled and the old sender is disabled.

Result: Support and time-based communications are issued only under verified identity, payment and occupancy conditions.

Page 142 of 198

5.9 Journey 9: Cleaning, Maintenance and Mobile Operations

Trigger: A departure, stay change, cancellation, maintenance report or operational task occurs.

Participants: Cleaner, tradesperson, guest, staff member, CRM and channel systems.

  1. A departure creates one cleaning job; duplicate events create none extra. Extensions change the job, cancellations remove obsolete work, and recurring schedules use local dates. A late or unaccepted job escalates once per configured stage. Missing required evidence prevents sign-off.
  2. The mobile cleaner workspace shows only assigned units and necessary data: unit, authorised access information, task date/window, checklist, photo upload, notes and status. It never exposes guest payment records or other tenants. A defect creates a linked case; paid work outside policy waits for approval.
  3. Routine no-charge cleaning may be forwarded to the assigned cleaner through approved messaging. Send accommodation, problem and required details; confirm an appointment to the guest only after supplier acceptance. Tradespeople require individual approval.
  4. Paid cleaning is permitted only under an enabled owner-approved policy, with guest acceptance or case approval, supplier capacity, service, customer price and maximum supplier cost recorded. Missing parameters require review; unapproved early/late or paid-cleaning policies remain disabled.
  5. A single exception-first queue presents case, tenant/unit, severity, reason, source evidence, proposed action, owner and next deadline. Link original documents and integration records, group duplicates and preserve full history. Staff may correct, approve, reject, pause or retry within role.

Result: Operational work is assigned, evidenced, approved and escalated without duplicate jobs or excess access.

Page 143 of 198

5.10 Journey 10: Rent, Accounting and Recovery

Trigger: A rent obligation, supplier document, payment event or integration failure occurs.

Participants: Tenant, staff member, AI/CRM, AbaNinja, bank and verified payment services.

  1. Generate each contractual rent obligation once. Match authenticated bank transactions by reference and contract, then verified payer and amount. Support split, combined, over-, reversed and approved manual allocations with evidence; ambiguous matches create review and never use a similar name alone.
  2. After due date and configured grace period, identify verified unpaid or partially paid balances. Reconcile immediately before messaging. Stale feeds, disputes, payment plans and outages pause the applicable reminder rather than becoming false arrears.
  3. Send or prepare a concise tenant WhatsApp reminder in the tenant’s language during 09:00–19:00 Europe/Zurich, containing rental period, amount due, amount received, exact balance, due date and verified payment details. Create an arrears case and notify designated Pearlstay staff in-app and by push, with escalation stages. Drafts-only mode affects the tenant message, not the internal alert. Cancel queued reminders when settled, update partial balances and retain history.
  4. For invoices/receipts, capture the original, extract and validate fields, duplicates, supplier, tax, currency, account and property allocation. Automatically post only documents passing approved rules. The CRM shows document, extracted values and validation reason; final booking status requires acknowledged AbaNinja operation. Timeouts are reconciled before retry; duplicates do not post twice.
Page 144 of 198
  1. Keep accounting income distinct from cash receipts. The CRM remains the operational workspace for review, reconciliation, payment checks and notification history; AbaNinja remains the accounting system. Sync verified payment status where supported, otherwise expose the shared verification result and discrepancies.
  2. Stuck workflows, sync failures and undelivered messages enter the exception queue with severity, owner, evidence and next deadline. Human countersignature, termination confirmation, refunds, deposits, disputed charges, legal escalation, unapproved tradespeople and outgoing bank payments remain human decisions.

Result: Verified balances, accounting records and failures are handled once, transparently and with safe human recovery.

Page 145 of 198

5.11 Journey 11: Listing Intake, Deduplication and Outreach

Trigger: A listing alert arrives in the designated Gmail inbox from Homegate, ImmoScout24 or Flatfox, or a scheduled import runs.

Participants: AI/CRM, Pearlstay reviewer, Gmail, source platforms.

  1. Import listing alerts from the designated Gmail inbox. Preserve original emails, message/thread IDs, listing links and source timestamps. Apply editable keyword and location exclusions, such as replacement-tenant wording or excluded locations; keep excluded records and reasons reviewable.
  2. Failed parsing enters a review queue; absent property details are not invented. Deduplicate repeated emails, listing IDs and URLs, and detect likely cross-platform duplicates using property attributes. Retain source links and changes, and require review for ambiguous matches.
  3. Link multiple properties handled by the same contact or management company without merging distinct opportunities. Show existing conversations and prevent duplicate outreach for the same opportunity across imports and retries.
  4. Pearlstay reviews each listing and selects interested, deferred or rejected. Prepare editable emails using approved templates, verified recipient details and property data. Initially every first email and follow-up requires human review and send approval.
  5. Successful Gmail sending records the message ID and timestamp and automatically sets First outreach sent or the applicable Follow-up sent stage. Failed or uncertain sends enter reconciliation; no blind resend, success status or follow-up timer. Capture relevant manually sent Gmail replies as well.
Page 146 of 198
  1. After confirmed first outreach, set Follow-up due after three days by default; further stages and intervals remain owner-configurable. Define calendar/business-day handling and sending windows in Europe/Zurich. Prepare the next draft automatically. Recheck for replies immediately before sending. A linked inbound reply stops pending follow-ups, invalidates stale drafts, marks Reply received and alerts the owner. Bounces, explicit declines, contact blocks and closed cases also stop the sequence; ambiguous replies require review.
  2. Track new, review, deferred, rejected, first outreach sent, follow-up due/sent by stage, reply received, viewing, negotiation, won, lost and dated revisit states with an audit trail. Automatic follow-up sending is a later separately enabled policy. Migrate ClickUp statuses, notes, mail history or accessible references, ownership and next due dates; reconcile counts and samples before cutover.

Result: Each listing is reviewed once, outreach is approved and traceable, and follow-ups advance only on confirmed sends.

Failure/recovery: Repeated imports create no duplicates; filters are editable and traceable; distinct units are not merged; confirmed sending advances one stage and creates one timer; failed sends do neither. Replies before a scheduled send, bounces, blocked contacts, unrelated threads and manual Gmail sending are handled without false status changes.

Page 147 of 198

5.12 Journey 12: New-Build Project Intake, Contact Priority and Outreach

Trigger: A manual Olmero Excel export is uploaded, or a scheduled import runs.

Participants: AI/CRM, Pearlstay reviewer, Olmero, Gmail.

  1. Retain the manual Excel export from Olmero and provide a CRM upload with column mapping, validation and preview before committing the import. Preserve the source file, import batch, source project ID where available, original values and import time. Capture project name, location, phase, planned completion date, source link and supplied Bauherr and architect-office contact details. Flag missing or invalid fields; never invent contacts.
  2. Select exactly one outreach contact per project using deterministic rules: (1) if a usable Bauherr (project owner/client) contact is supplied, always select the Bauherr, even when an architect is also listed; (2) only if no usable Bauherr contact is available, select the architect office if usable contact details are supplied; (3) if neither is usable, mark Not usable - missing contact details and exclude the project from outreach and follow-ups. For email outreach, a name or telephone number alone is not a usable email contact.
  3. Show the selected primary contact, role and selection reason before approval. Do not contact the Bauherr and architect in parallel, including as CC/BCC recipients. Store other supplied contacts as reference only. A reply, rejection or bounce does not automatically authorise switching to the other party. If a later import changes the preferred contact after outreach has begun, preserve the history, pause pending drafts and request human review before changing the recipient.
Page 148 of 198
  1. Use stable Olmero project IDs where present, with controlled matching on project attributes otherwise. Repeated exports update the same project rather than create new opportunities or restart outreach. Preview changes and review ambiguous matches. Preserve human notes, pipeline status, correspondence and due dates; do not overwrite them with spreadsheet blanks. The same company may have several distinct projects, which must remain separate and linked.
  2. Pearlstay reviews project suitability and approves first emails and follow-ups at launch. Reuse confirmed-send status changes, duplicate-send prevention and reply/bounce/decline stop rules from the listing pipeline. Configure new-build follow-up intervals separately; confirm existing ClickUp timing rather than assuming the listing pipeline's three-day default. Support conversation, project assessment, negotiation, won/lost and dated revisit stages, with longer reminders tied to project progress and expected completion.
  3. Migrate existing Olmero ClickUp projects, contact roles, selected recipients, statuses, notes, mail references and next actions. A direct Olmero API connection is optional.

Result: Each project has one approved recipient, outreach is traceable, and repeated exports update rather than duplicate.

Failure/recovery: Owner-only, architect-only, both-contact and no-contact imports; incomplete emails; repeated and changed exports; recipient changes after outreach; replies and overdue migrated tasks are all handled. Owner priority, no dual outreach and no outreach without a usable contact are proven.

Page 149 of 198

5.13 Journey 13: Short-Stay Eligibility, Deferral and Reassessment

Trigger: A prospect requests a move-in date for a fixed or open-ended stay.

Participants: Prospect, AI/CRM, staff member, PMS and binding-contract data.

Page 150 of 198
  1. Using fresh PMS and binding-contract data, find the start of the continuous available interval containing the requested move-in. Count the unoccupied nights from that start to move-in, excluding elapsed dates before today and dates before the unit is operationally available. Do not substitute the number of days from today for this gap. Count lead time separately from today to move-in in Europe/Zurich. Unknown availability or an unconfirmed end of tenancy requires review, not an assumed free interval.
  2. Apply deterministic eligibility rules. If the preceding gap is 14 nights or less, offer normally subject to all other rules. If the gap exceeds 14 nights and the fixed stay is shorter than three calendar months, defer a binding offer when move-in is more than 30 days away; at 30 days or less it may be offered after all checks pass. If the gap exceeds 14 nights and the fixed stay is at least three calendar months, require human approval. Open-ended requests with a larger gap also require review; never assume they guarantee three months of revenue.
  3. First search other suitable units or clearly labelled alternative dates that pass the same gate. With the prospect's consent, retain a deferred enquiry with desired dates, preferences, reason and next review date. Clearly explain that the requested stay cannot yet be confirmed and that later availability is not guaranteed. A deferred enquiry creates no reservation, inventory block or contract dispatch.
  4. For a deferred short stay, schedule reassessment when the 30-day window opens. Also reassess relevant enquiries after confirmed bookings, cancellations or approved date changes alter the preceding gap. A newly booked intervening stay may make the enquiry eligible earlier. Recheck dates, full-stay availability, prices, contact permission and all other gates before notifying the prospect or preparing a contract. Deduplicate reminders and stop on withdrawal, booking or contact block; use existing sending rules.

Result: The prospect receives an eligible offer, a clearly explained deferral, or a reassessed offer when the window opens.

Page 151 of 198

Failure/recovery: Unknown availability or unconfirmed tenancy end routes to review. Deferred enquiries create no reservation or block and remain active for reassessment until withdrawal, booking or contact block.

5.14 Journey 14: Guest-Enquiry Ingestion, Deduplication and Channel Handover

Trigger: A guest enquiry arrives through a mailbox, portal or other supported channel, including crossposted copies of the same enquiry.

Participants: Guest, AI/CRM, staff member, mailbox/portal, WhatsApp.

Page 152 of 198
  1. Ingest the enquiry from the supported mailbox or portal and retain the receiving account, portal, source listing, reply address, thread/message IDs, attachments and original content. Extract supplied contact details, requested dates and unit references; send uncertain fields to review. Deduplicate repeated notifications and crossposted copies of the same enquiry while preserving the original records. Keep this guest-enquiry workflow separate from multi-account use and external contact sharing.
  2. Where supported sending is unavailable, provide a draft instead. Where permitted, answer through the working original channel with a clickable WhatsApp link and a prefilled message containing an opaque enquiry reference, not private guest details. Keep email or portal support available for people without WhatsApp. If a phone number and valid contact opt-in are present, the WhatsApp route may be offered.
  3. A clicked link is not a received WhatsApp message. Start the WhatsApp workflow only after the user sends a message and the enquiry is safely matched; ambiguous matches require clarification. An enquiry reference links context but does not authenticate access to sensitive booking data. On verified handover, stop duplicate portal/email reminders and continue with the existing guest workflow and current availability checks. Respect opt-outs, sending modes, template requirements and service-window rules.
  4. For HousingAnywhere, include the existing Pearlstay PDF containing the WhatsApp number as the intended handover artefact; sending this PDF has been tested successfully and the guest can see the number.
  5. Roll out in stages: start with mailbox ingestion, mapping, deduplication and drafts; enable sending per channel only after end-to-end tests and approval. Test all mailbox/portal routes, crossposting duplicates, missing phones, absent opt-in, no-reply addresses, failed sends, PDF attachments, WhatsApp handover, unmatched references and human takeover. Reconcile uncertain sends before retrying. Deliver account/channel reporting.

Result: Each enquiry is captured once, answered through a working channel, and handed over to WhatsApp only after a verified inbound message.

Page 153 of 198

Failure/recovery: Missing phone, absent opt-in, no-reply address, failed send, unmatched reference or ambiguous match routes to draft, alternative channel or human takeover; uncertain sends are reconciled before retry.

5.15 Journey 15: Deferred Long-Lead Request and Date-Based Recheck

Trigger: A request falls outside the 30-day window, such as a one-month January request while the unit is occupied through September and then continuously free.

Participants: Prospect, AI/CRM, staff member.

  1. While outside the 30-day window, defer the request and offer alternatives or the consent-based waiting list. Do not create a binding offer, reservation or inventory block.
  2. Recheck at the exact date-based trigger in early December, or earlier if intervening bookings reduce the preceding gap and make the request eligible sooner.
  3. Before notifying the prospect or preparing a contract, recheck dates, full-stay availability, prices, contact permission and all other gates. Deduplicate reminders and stop on withdrawal, booking or contact block.

Result: The prospect receives an eligible offer when the window opens, or a clearly explained deferral with alternatives.

Failure/recovery: Unknown availability or unconfirmed tenancy end routes to review; deferred requests remain active until withdrawal, booking or contact block.

6. Visuals Colors and Theme

[Design proposal; unspecified choices are defaults.]

Page 154 of 198

6.1 Visuals, Colors and Theme

Mode: dark-only. The entire product — marketing entry and CRM — lives on a near-black ground; there is no light theme.

Palette (dark mode, exact tokens by role):

RoleHexUse
Background#07080BPage ground, hero canvas ground, CRM shell
Surface#101319Panels, rails, table bands, chips
Text#F2F4F7Headlines, body, primary labels
Primary (instrument)#E8B44AActive state, current gate, binding next action, countersignature button, hero CTA
Accent (data)#4DE0C8Generative hero flow, chart strokes, confidence dial, event-stream ticks, verified badges
Muted#7A8493Labels, timestamps, secondary metadata, table rules
Blocked / conflict#C4553FDesaturated red for blocked and conflict states

Amber is used on roughly 4% of pixels — never as a large fill except the single hero CTA. Review/exception states use amber at 60% opacity on a graphite chip; success/verified uses teal. Hairlines are 1px at rgba(242,244,247,0.10). No white cards, no blue, no gradient blobs: colour reads as light emitted from the dark ground.

Page 155 of 198

Typography: headings Space Grotesk at 500/600 only (never bold-black), tight tracking −0.02em to −0.04em, sentence case for editorial headlines; uppercase micro-labels at 11–12px with +0.14em tracking (e.g. RELIABLE AUTOMATION / 22-36, GATE 3 — PAYMENT VERIFIED). Body IBM Plex Sans. Numerals — prices, confidence scores, day-counts, version numbers — set in IBM Plex Mono with tabular figures, slightly larger than their surrounding label so they read as instrument readings. Scale is 1.25 modular on a 4px baseline: display clamp(2.75rem, 6vw, 6rem); section headings 28→44px; card titles 20→24px; body 16→17px at 1.6 line-height; micro-labels 11px; mono data 14→18px. Reading measure capped at 68ch.

Shape language: almost no radii — 2px on inputs and chips, 4px on panels, 0 on data tables and section bands. Structure comes from 1px luminous rules, not boxes: horizontal hairlines divide every section, vertical rules lock the 12-column grid visibly in the hero and state-model diagrams. Circles are reserved for instrumentation only (confidence dial, status dots, event-stream nodes). No soft shadows; depth is stacked translucent panels over the dark ground with a single 1px top highlight.

Layout: 12-column grid, 24px gutters, 64–96px section bands. The CRM shell is a persistent left rail (72px icon rail at 375px, 240px labelled rail from 768px) with a full-bleed generative header band above content. Data is tabular: aligned label/value pairs, mono numerals right-aligned, state chips in a fixed column so staff scan down one axis. The entry surface is asymmetric editorial — full-bleed hero canvas with a left-anchored type stack, then alternating 7/5 and 5/7 splits for the six capability bands (Search, Pricing, Contracts, Calendar, Support, Accounting). At 375px everything collapses to one column, the canvas reduces to a 220px band, and the rail becomes a bottom tab bar.

Page 156 of 198

Imagery: no stock photography, no 3D prop renders. Imagery is the product's own data — a full-bleed generative particle/flow field whose colour and density derive from the event schema (amber threads for outbound sends, teal for verified facts, muted grey for pending) — plus schematic diagrams (state-domain maps, gate chains, Beds24/Lodgify cutover timelines, the outbox/inbox transactional pattern) drawn as thin luminous line work on black. Unit photography appears only as small square thumbnails inside listing rows, never as a hero.

Avoid: white or near-white grounds; blue/indigo/violet primaries; Inter, Roboto, Poppins, Manrope or any neutral geometric sans as the heading voice; gradient-blob heroes, glassmorphism cards, hover-lift grids; unseeded generative motion; photographic hero imagery; rounded pill buttons and large radii; copy claiming the AI 'just handles it'.

Page 157 of 198

7. Signature Design Concept

[Design proposal; unspecified choices are defaults.]

Data made physical — a black-ground operational instrument. The muse is Refik Anadol: deep black ground, luminous multi-hue data flows, museum-grade spacing, a generative canvas as the hero, an understated refined grotesque letting the visual dominate. The product's own subject matter — a flow of events (message in, classify, check gates, decide, send, reconcile) over a persistent state model — is literally a data sculpture, so the hero is a live generative portrait of the event pipeline itself: inbound message → intent → hard checks → confidence → outbox. That is both the most distinctive thing on screen and an honest diagram of the architecture.

Hero direction: full-bleed black hero, 88vh desktop / 70vh mobile, dominated by a real-time generative flow canvas spanning the viewport edge-to-edge and bleeding off both sides — thousands of slow amber and teal particles tracing the pipeline shape (a wide inbound fan from the left converging into a narrow gate column, then fanning out to the right as outbound sends). Over it, anchored to the left third with generous top margin, an oversized Space Grotesk headline at clamp(2.75rem, 6vw, 6rem) in #F2F4F7 reading 'Every message, checked before it leaves', with a single amber rule under the first line and a 68ch-max sub-paragraph in muted grey. Beneath: one amber CTA ('Open the operations workspace') and a teal-outlined secondary ('See the gate chain'). Bottom-right of the canvas, a small mono telemetry strip in muted grey — events 12,480 · outbox 3 · exceptions 0 · v2.10 — as if the hero were a live instrument. No centred stack, no gradient blob, no device mockup, no illustration. At 375px the canvas keeps full-bleed width, the headline drops to 44px, and the telemetry strip moves below the CTA as a wrapped two-line block.

Page 158 of 198

Signature moves:

  1. The full-bleed generative pipeline canvas as hero, seeded deterministically so it renders identically every load — amber flowing left-to-right for outbound, teal for verified facts.
  2. An event stream rail in the CRM: a persistent right-hand column (collapsible bottom sheet at 375px) appending incoming events as mono-typed rows with a 120ms slide-and-fade, colour-coded by domain (search, contract, support, accounting), so staff watch the system think.
  3. The confidence dial: a single circular instrument, 1px teal stroke on black, rendering the calibrated threshold as a fixed tick and the current score as a sweeping amber arc — visibly refusing to cross the tick when a hard check has failed, with the blocking rule named in mono beneath it.
  4. Section bands opened by a full-width hairline with an uppercase mono marker on the left and a page-range on the right (RELIABLE AUTOMATION ¡ 22-36), turning the specification's own pagination into the site's wayfinding.
  5. State-model diagrams as luminous node graphs on black — independent state domains (search, contract, support case, draft, contact) shown as five parallel horizontal tracks with amber nodes for the active state and grey for reachable-but-inactive, horizontally scrollable at 375px.

Readable text and controls stay whole at 375px, 768px and 1280px: headlines, wordmarks, labels, numbers, card text and controls stay entirely inside the viewport and their container, wrapping or scaling (e.g. clamp(...) with its mobile size) to fit, with no other element covering them. Imagery, decoration and motion may be cropped, bled, rotated, overlapped or cut as the direction asks, provided they cover no readable text or control. Moving and scrollable content (tickers, carousels, horizontally scrollable rows) may cross the viewport or container edge by design and is judged by whether it actually moves or scrolls and whether every item becomes fully readable as it passes. With prefers-reduced-motion, provide a usable static arrangement: wrap items into rows or allow horizontal scrolling so each item can be brought fully into view.

Page 159 of 198

8. Interaction Model & Motion Direction

[Design proposal; unspecified choices are defaults.]

Interaction Model: Parallax Motion Tempo: cinematic Hero Dimensionality: webgl

Landing Hero Motion Brief. Focal subject: the generative pipeline flow field — thousands of slow amber and teal particles tracing inbound fan → gate column → outbound fan, seeded deterministically from a fixed event stream so the composition is identical on every load. Thesis: an inbound message (input) enters the fan, is drawn through the narrow gate column where hard checks resolve (transformation), and emerges as an outbound send or a held exception (outcome) — using only accepted pipeline behaviour, never a new one. Motion vocabulary: one continuous slow generative flow on a 2–4 minute loop with no sudden events; scroll-linked parallax moving the canvas plane 0–40px behind the type; a single amber rule under the headline; the mono telemetry strip updating as instrument readings. Composed first frame: black ground, the fan already mid-flow, headline left-anchored in the left third, amber rule beneath the first line, amber CTA and teal-outlined secondary below, telemetry strip bottom-right. Reduced-motion state: the canvas freezes on a composed still frame, the event stream renders as a static list, and all transitions become instant.

Page 160 of 198

CRM motion is functional and fast: 160ms state transitions; chips flip colour without movement; the confidence dial animates once on mount; the event stream appends new rows with a 120ms slide-and-fade; number changes count up over 400ms. No bounce, no spring, no hover-lift cards. Push delivery status and acknowledgement of urgent tasks surface as state changes in the event stream and outbox, with the second push after ten minutes without acknowledgement appearing as a new appended row — no bespoke animation beyond the standard append.

Reduced motion: prefers-reduced-motion freezes the hero canvas on a composed still frame, renders the event stream as a static list, and makes all transitions instant; horizontally scrollable state-model tracks remain scrollable so every node can be brought fully into view.

9. Non-Functional Requirements

Page 161 of 198

9.1 Source overview

Restrict document and financial access by staff role. Keep credentials server-side, log changes and

business deadlines. Scheduled bank refresh must run at least daily, with supported events processed sooner.

developer has operational expertise; an equivalent must demonstrate durable timers, restart recovery,

replay-safe changes and observable failures before approval.

Secrets and authority

Move access codes and credentials to restricted secret storage during migration. Exclude secrets from

model context, general logs and exports. Retrieve the assigned code only inside the access service after

all gates pass, then inject it into the approved message. Keep bank receipt evidence, signed terms and

Transaction safety and recovery

restoration, secret recovery and workflow resumption. Approve recovery-time and data-loss targets

before production; perform a documented restore drill.

Test partial, combined, unallocated and reversed payments; duplicate receipts; stale data;

daylight-saving changes; month ends; and open-ended block rollover.

AI and access tests

Page 162 of 198

Test ambiguous dates, contradictory messages, unknown phone numbers, wrong-unit requests and

malicious instructions embedded in guest text or documents. Such content cannot change rules, retrieve

another tenant's data or authorise tools. Test malformed/refused model responses and missing source

Release criteria

Require zero observed critical violations in the agreed acceptance suite: unauthorised access, duplicate

financial postings, incorrect binding prices, false arrears caused by known stale data, and internal double

commitments. This is a release gate, not a guarantee of zero future errors. Fix and rerun failures before

activating the affected process.

Measure the outcome

Report straight-through completion as eligible cases completed without staff intervention divided by

eligible completed cases, separately per process. Also report coverage across all cases, escalation rate,

incorrect actions, corrections after dispatch, false arrears, duplicate effects, sync lag and manual

minutes per case. State sample size and observation period. Confidence scores are not measured error

rates.

Page 163 of 198

Agree process-specific quality targets and monitoring thresholds using the shadow baseline. Do not

invent numeric success claims. Define freshness limits, maximum retries, unknown-outcome escalation,

policy limits, bank refresh, arrears grace/spacing and owners. Preserve existing agreed timings unless

expressly changed. Unset required parameters prevent activation of the affected automation.

Handover and maintainability

Deliver setup and deployment instructions, dependency/licence inventory, integration capability matrix,

data dictionary, policy catalogue, operating runbooks, recurring cost breakdown, backup/restore

instructions and incident procedures. Demonstrate deployment and recovery by another authorised

maintainer. Supply data export and credential-rotation procedures without exposing secrets in

documentation.

silently resending indefinitely. Use authenticated provider integrations. Caller ID alone does not verify a

guest or authorise disclosure. Keep call metadata and voicemail access restricted; no live-call recording

10. Tech Stack

Page 164 of 198

10.1 Source overview

Beds24

Technical references (checked 13 October 2026): AbaNinja API guide; bank files; receipts; DeepBox processing. OCR

One operational platform

Use one CRM interface, a transactional relational database (PostgreSQL preferred), a durable workflow

engine and authenticated integration adapters. Temporal is the preferred workflow engine where the

Reference documentation

Implementation references: docs.temporal.io; developers.openai.com/api/docs; docs.abaninja.ch;

wiki.beds24.com/index.php/API_V2.0; beds24.com/api/v2; help.pricelabs.co. Verify current

Specialist services to retain

Retain a proven channel manager under the Beds24 migration plan, AbaNinja as the accounting system

and suitable email, file storage and backup infrastructure. Keep a signature service where the required

11. Assumptions and Constraints

Page 165 of 198

11.1 Source overview

remain in force. This specification describes the target system; integrations are not yet verified.

Pages 22-34 define mandatory implementation, policy and delivery controls. Unchanged business rules

Pages 22-34 define mandatory implementation, policy and delivery controls. Unchanged business rules

Pages 22-35 define mandatory implementation, policy and delivery controls. Unchanged business rules

Pages 22-35 define mandatory implementation, policy and delivery controls. Unchanged business rules

Pages 22-35 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-35

Version 2.9 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.9 - 15 October 2026

Pages 22-35 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-35

Version 2.9 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.9 - 15 October 2026

Version 2.9 integrates the approved automation architecture and replaces the affected manual steps.

Page 166 of 198

Pages 22-35 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-35

Version 2.9 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.9 - 15 October 2026

Version 2.9 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-35 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-35

Version 2.9 - 15 October 2026 - Developer specification

Consolidated specification - Version 2.10 - 15 October 2026

Version 2.10 integrates the approved automation architecture and replaces the affected manual steps.

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Version 2.10 - 15 October 2026 - Developer specification

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

Page 167 of 198

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

Pages 22-36 define mandatory implementation, policy and delivery controls. Unchanged business rules

ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-36

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Scope

â€ĸ The threshold can be changed in the dashboard at any time; no fixed initial value has been agreed. The

score considers intent recognition, reliable matching, data freshness, completeness and source

evidence. It is not a guaranteed probability of success.

Page 168 of 198

remain independent. See page 23.

Business authority is separate from sending permission. Approved policies may cover multi-person

Termination confirmation and countersignature remain human decisions.

3

Version 2.5 - 14 October 2026 - Developer specification

6

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Page 169 of 198

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

No firm reservation before countersignature

Until you countersign, the unit may continue to be offered to other prospects. Do not promise a firm

reservation. Immediately before countersigning, recheck availability and competing contracts. The

technical check must prevent double commitments or block the process for a manual decision.

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Page 170 of 198

Technical safeguards at date boundaries

Represent occupancy intervals as [move-in, move-out). An open-ended contract has no artificial business

end date. Calendar block end, confirmed tenancy end and requested move-out date are separate fields.

A termination calculation is a proposal for approval, not an automated legal decision.

Unsupported operations require a documented manual exception.

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

9

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

10

Page 171 of 198

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Further automatic repetitions have not been specified.

rigid global bot pause from version 1.0 is replaced by the sending mode and specific approval blocks.

12

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Page 172 of 198

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

13

Version 2.5 - 14 October 2026 - Developer specification

Page 173 of 198

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

15

Version 2.5 - 14 October 2026 - Developer specification

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Page 174 of 198

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

â€ĸ Sheets: actual columns, required fields and IDs; clearly mark which units are suitable for open-ended

rentals. Document the distance definition and finite technical search horizon.

â€ĸ Short-notice booking after 09:00 or approved early check-in before 09:00: define the precise catch-up

rule for arrival information during implementation; no automatic code release before all conditions are

met.

â€ĸ WhatsApp: verify templates, media processing, delivery failures and account settings needed for

Page 175 of 198

planned proactive sending before production launch.

Recommended implementation order

Precedence rule

In conflicts, confirmed contract and permission conditions and explicit approvals take precedence over

confidence and automation timing. No message may be sent solely because a timer is due or a score is

high.

Business rules and safeguards are mandatory. The following integration details and policy parameters must be

Automatic sync is in scope; unsupported operations require Pearlstay-approved exceptions.

  1. Prove integrations (page 25). 2. Establish master data and workflow controls. 3. Implement search,

contracts and calendar sync. 4. Add payments/accounting and support. 5. Run shadow tests. 6. Activate

each process only after its acceptance gate (pages 26-27).

17

verified or configured before activation. Pages 22-31 add architecture, integration proof and acceptance gates.

Version 2.5 - 14 October 2026 - Developer specification

verified or configured before activation. Pages 22-32 add architecture, integration proof and acceptance gates.

Version 2.6 - 15 October 2026 - Developer specification

Page 176 of 198

verified or configured before activation. Pages 22-33 add architecture, integration proof and acceptance gates.

Version 2.7 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-33 add architecture, integration proof and acceptance gates.

Version 2.7 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-34 add architecture, integration proof and acceptance gates.

Version 2.8 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-34 add architecture, integration proof and acceptance gates.

Version 2.8 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-34 add architecture, integration proof and acceptance gates.

Version 2.8 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-34 add architecture, integration proof and acceptance gates.

Version 2.8 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-35 add architecture, integration proof and acceptance gates.

Version 2.9 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-35 add architecture, integration proof and acceptance gates.

Version 2.9 - 15 October 2026 - Developer specification

Page 177 of 198

verified or configured before activation. Pages 22-35 add architecture, integration proof and acceptance gates.

Version 2.9 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-35 add architecture, integration proof and acceptance gates.

Version 2.9 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-35 add architecture, integration proof and acceptance gates.

Version 2.9 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-35 add architecture, integration proof and acceptance gates.

Version 2.9 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-35 add architecture, integration proof and acceptance gates.

Version 2.9 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-35 add architecture, integration proof and acceptance gates.

Version 2.9 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

Page 178 of 198

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

Page 179 of 198

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

verified or configured before activation. Pages 22-36 add architecture, integration proof and acceptance gates.

Version 2.10 - 15 October 2026 - Developer specification

Mandatory scope extension - 13 October 2026. Accounting, OCR document processing, rent

reconciliation and arrears notifications are part of the target CRM delivery, not an optional future

Authoritative sources and precedence

Page 180 of 198

Contract system: signed terms, tenant and unit identity, agreed rent, due dates, deposit and other

Changes to the original specification

This extension prevails over conflicting payment-source statements on pages 2, 11, 14 and 17. A

manually recorded paid flag in the contract system is insufficient without verified receipt and allocation.

All access-code conditions on page 11 remain mandatory. A source conflict blocks code release pending

reconciliation.

remain in force.

without booking the expense twice. Posting an expense is separate from authorising an outgoing

payment. Automatic bank payment execution is not authorised by this specification; integration settings

must not silently enable it.

Configuration before activation: bank refresh interval and freshness limit, grace period, reminder spacing/maximum,

payment-plan pause, responsible staff and escalation stages. These values are not yet agreed; do not invent fixed

feeds the existing access-code checks; other release conditions still apply.

Implementation prerequisites and delivery gate

Page 181 of 198

Verify the actual AbaNinja plan, API permissions, document import/posting route, bank connection and OCR provider

with a working prototype. Confirm supported payment-status readback and contract writeback; document limitations

and any proposed alternative for Pearlstay approval. The public API includes receipts and bank-file domains; this is

not proof that every required write or bank-feed operation is enabled for this account.

closing, payroll, tax filings and outgoing-payment execution are not added by this extension.

route/licensing must be verified; DeepBox automation can also create payment orders, so configure its payment

behaviour explicitly.

Version 2.5 - 14 October 2026 - Developer specification

22

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

all gates pass, then inject it into the approved message. Keep bank receipt evidence, signed terms and

AbaNinja postings authoritative in their respective domains.

a pre-commit gate; if it cannot, this is a delivery blocker requiring an approved alternative.

External-channel limitations

Page 182 of 198

A local lock cannot lock an independent booking channel. Prove the supported channel reservation/block

mechanism and its acknowledgement before allowing the related automated commitment path.

Version 2.5 - 14 October 2026 - Developer specification

24

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

account-specific behaviour and platform requirements before activation.

facts. No code may enter model context or be sent before all identity, payment, contract and time gates

pass.

Model and rule updates

Page 183 of 198

Version prompts, model configuration, extraction schemas, templates and rules. Run the representative

regression suite before changes reach production. Compare results and retain a rollback version. A

model upgrade or a second model is not a substitute for deterministic validation.

Version 2.5 - 14 October 2026 - Developer specification

26

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Page 184 of 198

Version 2.9 - 15 October 2026 - Developer specification

Thresholds before activation

Pearlstay control

Source code, infrastructure configuration, workflows, prompts, templates, database schemas, tests and

approved knowledge must be delivered in repositories/accounts controlled by Pearlstay. Production API

accounts, domains, hosting, backups and administrative access must not depend exclusively on the

developer. Third-party services remain subject to their licences and must be documented.

Operational responsibility

Name the technical maintainer and business decision owners. Define support arrangements and incident

response targets before launch. Keep specialist accounting configuration and closing with the

responsible accountant. Year-end closing, payroll, tax filings, outgoing payments and autonomous legal

decisions are not added to scope.

Version 2.5 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.5 targets Beds24 after

technical validation, keeps Lodgify live until verified cutover and requires a replaceable provider

Page 185 of 198

adapter. Page 28 specifies migration, testing, rollback and cancellation gates. Existing search, discount,

consent, signature and accounting safeguards remain binding.

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Page 186 of 198

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 change record

Retains version 2.2 automation safeguards and revised workflows. Version 2.10 targets Beds24 after

Version 2.10 - 15 October 2026 - Developer specification

Page 187 of 198

original Lodgify IDs for migration history. Only the Beds24 production adapter is required; a second

complete adapter is not part of this scope.

Version 2.5 - 14 October 2026 - Developer specification

28

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

data, integrations and current cost. ClickUp, Monday, cleaning tools, external inboxes and automation

platforms are candidate categories, not confirmed active subscriptions. Identify functions used outside

Pearlstay operations before proposing cancellation.

signing/audit capabilities cannot be reliably provided by the existing implementation. No new automated

signature or countersignature authority is granted.

revenue-management engine is not included. PriceLabs and CRM rules must never compete to write the

Lean implementation and business case

Prefer one maintainable backend, shared database and dependable workflow execution. A separate paid

service for every module is not required. Temporal remains a preferred option, not a mandatory paid

Page 188 of 198

subscription; alternatives must satisfy the durable execution and recovery tests. Compare saved

subscriptions with incremental hosting, APIs, messaging, storage, maintenance and support. State

one-time development/migration costs and payback assumptions; do not promise unverified savings.

a recovery path. Broader company-wide project management, a new email server, a new accounting

engine and a new channel-manager platform are not part of this consolidation.

Version 2.5 - 14 October 2026 - Developer specification

29

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.5 delivery additions

Add the software/cost inventory, reuse-and-migration plan, cleaning/maintenance module, role matrix,

Page 189 of 198

acceptance results and cancellation checklist to the handover. Confirm the impact on development effort

before implementation scheduling. Existing automation, payment, signature and Beds24 migration

safeguards remain in force. Integrations may remain external even when users operate them through

one CRM.

Version 2.5 - 14 October 2026 - Developer specification

30

Version 2.6 delivery additions

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 delivery additions

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 delivery additions

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 delivery additions

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 delivery additions

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 delivery additions

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 delivery additions

Page 190 of 198

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 delivery additions

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 delivery additions

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 delivery additions

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 delivery additions

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 delivery additions

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 delivery additions

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 delivery additions

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 delivery additions

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

Page 191 of 198

Version 2.10 delivery additions

Version 2.10 - 15 October 2026 - Developer specification

unspecified.

Version 2.5 - 14 October 2026 - Developer specification

31

Version 2.6 - 15 October 2026 - Developer specification

conversational AI voice agent, speech-based intent classification and automated outbound calls are not

included.

Number, provider and operating costs

The developer must verify that the published number supports both inbound voice routing and the

intended WhatsApp Business integration. Prove compatibility before migration or porting. Compare

existing telephony capabilities with alternatives using total costs for number rental, menu, forwarding

minutes, SMS and CRM integration. Pearlstay approves the provider, costs, routing destinations and final

German/English announcements before activation.

Version 2.6 - 15 October 2026 - Developer specification

32

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Page 192 of 198

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

PEARLSTAY / CORPORATE AI + CRM

33 / PROPERTY ACQUISITION

Property acquisition pipeline

Scope, reuse and sequencing

Add a dedicated property-acquisition module after the core rental and accounting workflows. Reuse the

existing Gmail-to-ClickUp automation where suitable. Replace its ClickUp destination with the CRM only

Page 193 of 198

after migration acceptance. Keep acquisition prospects separate from rental guests while linking shared

viewing, negotiation, won, lost and dated revisit states with an audit trail. Property selection, contact

approval and emails remain human-controlled at launch, even if guest messaging is automatic.

Automatic follow-up sending is a later separately enabled policy. Migrate ClickUp statuses, notes, mail

disabling old jobs.

Acceptance, costs and handover

template settings, migration results, recovery instructions and incremental costs. Cancel ClickUp only

after all remaining uses are addressed and Pearlstay approves.

reminder settings. This is part of the acquisition phase after core rental and accounting delivery.

contact. Deliver mappings, templates, costs and test results. A direct Olmero API connection is optional

future work; disable old workflows only after verified cutover.

Version 2.9 - 15 October 2026 - Developer specification

property acquisition on pages 33-34.

a direct portal link and a manual task; email ingestion alone is not proof of portal messaging access.

handover asset, pending a separate check of permitted use and any booking-status conditions. The

Page 194 of 198

developer must verify the supported attachment route, CRM logging and receipt of the subsequent

WhatsApp enquiry. Technical delivery is not evidence of permission. Until permitted use is confirmed,

keep communication on the platform using drafts/manual tasks; do not claim PDF dispatch means the

guest has moved to WhatsApp.

references and human takeover. Reconcile uncertain sends before retrying. Deliver account/channel

mappings, permitted routes, templates, PDF version, test results, recovery steps and total recurring

costs. Prefer shared supported integrations over a separate AI agent for each portal.

12. Glossary

Page 195 of 198

12.1 Source overview

Authoritative data sources

Source

Authoritative content

Google Sheets

Standard price, exactly one discounted price, final cleaning fee, security

deposit, maximum occupancy, accommodation type and features, address,

website listing, contract form link, cleaner with WhatsApp number, house

rules, Wi-Fi, access codes, check-in/check-out times and Guest Instructions

YouTube link.

7

Outcome

System outage

conversations.

Important events

message_received, employee_message_sent, search_completed, price_objection, explicit_decline,

waitlist_consent, viewing_confirmed, form_received, contract_sent, guest_signed, countersigned,

source_updated.

Page 196 of 198

payment_received, termination_approved, pms_sync_confirmed, manual_approval, timer_due and

Version 2.5 - 14 October 2026 - Developer specification

Version 2.6 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.7 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.8 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.9 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Version 2.10 - 15 October 2026 - Developer specification

Offer / OfferGroup

Page 197 of 198

offer_id, search_id, segments, unit_ids, dates, prices, cleaning_fees,

deposit_total, category, deviations, source_versions, checked_at,

price_approval_id

Contract / Payment

contract_id, group_id, unit_id, contact_id, start, end nullable,

form_received_at, sent_at, guest_signed_at, countersigned_at, agreed_price,

due_items, received_payments, payment_status

14

unit_id, property_id, pms_unit_id, contract_unit_id, type, capacity, active,

absent opt-in, no-reply addresses, failed sends, PDF attachments, WhatsApp handover, unmatched

Page 198 of 198

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

public entry precedes identity access
public entry precedes identity access
authenticated access to the role-restricted Guest Support surface
inbound call received
different or unknown number
uniquely matched phone/device identity and booking
guest asks about payment
guest reports a complaint or fault
arrival day 09:00 Europe/Zurich
stored check-in time reached
day before move-out at 17:00
early-arrival request after move-out
fixed-term extension request
open-ended termination request
guest asks whether payment was received
authenticated bank evidence and verified allocation to the correct obligation
payment status unclear
unresolved or decision-making authority lacking
refund, disputed amount or decision outside the AI's authority
global sending mode observed and guest matched
countersignature, unambiguous guest matching and actual receipt of required move-in payment all satisfied
any access-code condition unmet or status unclear
move-out still applies; for open-ended contract, tenancy end confirmed
approved early-arrival policy or case approval, verified readiness, subsequent-booking and cleaning-capacity checks passed, all payment and identity gates remain
unit unavailable for the extension
unit available and current stored price quoted
termination calculation prepared for staff review
caller presses 1 for booking enquiries or an existing stay
caller presses 2 for other matters
invalid or missing keypad input
urgent stay-related problem including lockout, or caller unable to use WhatsApp
transfer fails or nobody answers
after one repeat, offer human/callback fallback
Landing: View the public Pearlstay entry surface with the generative pipeline hero and telemetry strip
Landing: Select 'Open the operations workspace' to proceed toward the operational workspace
Landing: Select 'See the gate chain' to review the gate chain before proceeding
Login: Authenticate to access the role-restricted operational workspace
Guest Support: Uniquely match phone/device identity and booking before providing protected information; a booking number alone is insufficient
Guest Support: For a different or unknown number, continue answering general questions only and withhold personal contract data, payment status and access
Guest Support: Answer accommodation and general questions from approved data and stored safe instructions, requesting photos or further information if needed
Guest Support: Explain payment instructions to the matched guest
Guest Support: Check whether receipt of payment is backed by authenticated bank evidence and verified allocation to the correct obligation
Guest Support: Confirm receipt of payment only from reliable contract-system status backed by authenticated bank evidence and verified allocation
Guest Support: If payment status is unclear, do not confirm receipt; seek internal clarification
Guest Support: Record complaints and faults and try stored solutions
Guest Support: If unresolved or decision-making authority is lacking, create an internal task; prioritise acute danger immediately
Guest Support: Refer refunds, disputed amounts, security-deposit refunds and decisions outside the AI's authority to staff
Guest Support: At 09:00 Europe/Zurich on arrival day, check the global sending mode and guest matching before sending arrival information without a code
Guest Support: Send arrival information without a code to the matched guest, optionally including the Guest Instructions video
Guest Support: At the stored check-in time, check that countersignature, unambiguous guest matching and actual receipt of the required move-in payment are all satisfied
Guest Support: Release the access code only after countersignature, unambiguous guest matching and verified receipt of the required move-in payment
Guest Support: If any access-code condition is unmet or status is unclear, do not release the code and seek internal clarification
Guest Support: At 17:00 the day before move-out, check that move-out still applies; for an open-ended contract, only after the tenancy end has been confirmed
Guest Support: Send check-out time and instructions when move-out still applies
Guest Support: For an early-arrival request, check approved early-arrival policy or case approval, verified readiness, subsequent bookings and confirmed cleaning capacity
Guest Support: Confirm early arrival only within approved policy or case approval, with all payment and identity gates remaining, and record the permitted time for this booking
Guest Support: For a fixed-term extension request, collect the new move-out date, check availability and quote the current stored price
Guest Support: If the unit is unavailable for the extension, offer suitable alternatives
Guest Support: Extend through a new contract using the same form/signature process; only countersignature makes it binding, and price approval remains required for two or more people
Guest Support: For an open-ended termination request, record receipt and the requested date and calculate the possible tenancy end under stored terms four weeks' notice, effective at month-end, no minimum rental duration
Guest Support: Submit the termination and calculated tenancy end to staff for review; issue binding confirmation only after approval
Calls: Announce the DTMF main menu: press 1 for booking enquiries or an existing stay, press 2 for other matters
Calls: On option 1, explain that callers should message the same number on WhatsApp; optionally offer an SMS with the verified WhatsApp link only on explicit keypad request
Calls: Within the guest route, offer a key to reach a human for urgent stay-related problems including being locked out, and a callback option for callers unable to use WhatsApp
Calls: On option 2, transfer to the designated person or team
Calls: If the transfer fails or nobody answers, offer voicemail and create a CRM callback task with the selected route, time, caller number if available and message reference
Calls: Repeat invalid or missing keypad input once, then offer human/callback fallback rather than ending in a loop

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

public entry precedes identity access
public entry precedes identity access
authenticated access to the role-restricted Guest Support surface
inbound call received
different or unknown number
uniquely matched phone/device identity and booking
guest asks about payment
guest reports a complaint or fault
arrival day 09:00 Europe/Zurich
stored check-in time reached
day before move-out at 17:00
early-arrival request after move-out
fixed-term extension request
open-ended termination request
guest asks whether payment was received
authenticated bank evidence and verified allocation to the correct obligation
payment status unclear
unresolved or decision-making authority lacking
refund, disputed amount or decision outside the AI's authority
global sending mode observed and guest matched
countersignature, unambiguous guest matching and actual receipt of required move-in payment all satisfied
any access-code condition unmet or status unclear
move-out still applies; for open-ended contract, tenancy end confirmed
approved early-arrival policy or case approval, verified readiness, subsequent-booking and cleaning-capacity checks passed, all payment and identity gates remain
unit unavailable for the extension
unit available and current stored price quoted
termination calculation prepared for staff review
caller presses 1 for booking enquiries or an existing stay
caller presses 2 for other matters
invalid or missing keypad input
urgent stay-related problem including lockout, or caller unable to use WhatsApp
transfer fails or nobody answers
after one repeat, offer human/callback fallback
Landing: View the public Pearlstay entry surface with the generative pipeline hero and telemetry strip
Landing: Select 'Open the operations workspace' to proceed toward the operational workspace
Landing: Select 'See the gate chain' to review the gate chain before proceeding
Login: Authenticate to access the role-restricted operational workspace
Guest Support: Uniquely match phone/device identity and booking before providing protected information; a booking number alone is insufficient
Guest Support: For a different or unknown number, continue answering general questions only and withhold personal contract data, payment status and access
Guest Support: Answer accommodation and general questions from approved data and stored safe instructions, requesting photos or further information if needed
Guest Support: Explain payment instructions to the matched guest
Guest Support: Check whether receipt of payment is backed by authenticated bank evidence and verified allocation to the correct obligation
Guest Support: Confirm receipt of payment only from reliable contract-system status backed by authenticated bank evidence and verified allocation
Guest Support: If payment status is unclear, do not confirm receipt; seek internal clarification
Guest Support: Record complaints and faults and try stored solutions
Guest Support: If unresolved or decision-making authority is lacking, create an internal task; prioritise acute danger immediately
Guest Support: Refer refunds, disputed amounts, security-deposit refunds and decisions outside the AI's authority to staff
Guest Support: At 09:00 Europe/Zurich on arrival day, check the global sending mode and guest matching before sending arrival information without a code
Guest Support: Send arrival information without a code to the matched guest, optionally including the Guest Instructions video
Guest Support: At the stored check-in time, check that countersignature, unambiguous guest matching and actual receipt of the required move-in payment are all satisfied
Guest Support: Release the access code only after countersignature, unambiguous guest matching and verified receipt of the required move-in payment
Guest Support: If any access-code condition is unmet or status is unclear, do not release the code and seek internal clarification
Guest Support: At 17:00 the day before move-out, check that move-out still applies; for an open-ended contract, only after the tenancy end has been confirmed
Guest Support: Send check-out time and instructions when move-out still applies
Guest Support: For an early-arrival request, check approved early-arrival policy or case approval, verified readiness, subsequent bookings and confirmed cleaning capacity
Guest Support: Confirm early arrival only within approved policy or case approval, with all payment and identity gates remaining, and record the permitted time for this booking
Guest Support: For a fixed-term extension request, collect the new move-out date, check availability and quote the current stored price
Guest Support: If the unit is unavailable for the extension, offer suitable alternatives
Guest Support: Extend through a new contract using the same form/signature process; only countersignature makes it binding, and price approval remains required for two or more people
Guest Support: For an open-ended termination request, record receipt and the requested date and calculate the possible tenancy end under stored terms four weeks' notice, effective at month-end, no minimum rental duration
Guest Support: Submit the termination and calculated tenancy end to staff for review; issue binding confirmation only after approval
Calls: Announce the DTMF main menu: press 1 for booking enquiries or an existing stay, press 2 for other matters
Calls: On option 1, explain that callers should message the same number on WhatsApp; optionally offer an SMS with the verified WhatsApp link only on explicit keypad request
Calls: Within the guest route, offer a key to reach a human for urgent stay-related problems including being locked out, and a callback option for callers unable to use WhatsApp
Calls: On option 2, transfer to the designated person or team
Calls: If the transfer fails or nobody answers, offer voicemail and create a CRM callback task with the selected route, time, caller number if available and message reference
Calls: Repeat invalid or missing keypad input once, then offer human/callback fallback rather than ending in a loop