Build the product described in Pearlstay_AI_Developer_Specification_v2_10_EN.pdf. The project name is pearsley.
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
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
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 integrates the approved automation architecture and replaces the affected manual steps.
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.
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.
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.
Version 2.9 integrates the approved automation architecture and replaces the affected manual steps.
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.
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.
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.
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.
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.
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.
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.
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.
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
PEARLSTAY / CORPORATE AI
02 / 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
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
Version 2.10 - 15 October 2026 - Developer specification
PEARLSTAY / CORPORATE AI
03 / 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
Version 2.10 - 15 October 2026 - Developer specification
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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.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
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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 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
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
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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
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
Calendar, extensions and termination
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
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
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
Version 2.10 - 15 October 2026 - Developer specification
PEARLSTAY / CORPORATE AI
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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
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
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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
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
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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
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
14
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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
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
15
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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
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.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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
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
Version 2.5 - 14 October 2026 - Developer specification
Version 2.6 - 15 October 2026 - Developer specification
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
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
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
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
PEARLSTAY / CORPORATE AI + CRM
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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.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
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
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
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.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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
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.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
Version 2.10 - 15 October 2026 - Developer specification
PEARLSTAY / CORPORATE AI + CRM
23 / RELIABLE AUTOMATION
Automation policies and master data
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
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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
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.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
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
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 + CRM
26 / RELIABLE AUTOMATION
Acceptance tests and staged activation
Regression baseline
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
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.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
Version 2.8 change record
Version 2.8 - 15 October 2026 - Developer specification
Version 2.8 change record
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
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
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
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
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 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
Version 2.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
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.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
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
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
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
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
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
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
Version 2.10 - 15 October 2026 - Developer specification
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.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.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
Gap-aware booking and future enquiries
Version 2.9 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
36
Document structure
Pages
Content
2-3
Data sources, global sending mode and message processing
Guest support, arrival, cleaning and tasks
13-15
One CRM with verified accounting and rent collection. New: durable workflows, policy-based
ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-34
ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-34
ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-35
ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-35
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
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.
Contract system / dashboard
Approved knowledge base
Version 2.10 - 15 October 2026 - Developer specification
PEARLSTAY / CORPORATE AI
09 / DEVELOPER SPECIFICATION
Viewings
Vacant accommodation
One CRM, including accounting
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.
Authoritative sources and precedence
Contract system: signed terms, tenant and unit identity, agreed rent, due dates, deposit and other
PEARLSTAY / CORPORATE AI + CRM
Version 2.10 - 15 October 2026 - Developer specification
Version 2.10 - 15 October 2026 - Developer specification
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
22 / RELIABLE AUTOMATION
Architecture and execution boundaries
PEARLSTAY / CORPORATE AI + CRM
29 / SOFTWARE CONSOLIDATION
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.
4-6
Accommodation search, pricing rules, waiting list and follow-ups
7-9
10-12
State model, data model and event processing
16-17
Validated Sheet content, video transcripts approved by you and approved
knowledge changes.
Conversation database
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
Beds24
• Each apartment/room receives a stable unit_id. This is mapped uniquely to its Sheet row, Beds24 ID,
• 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.
• 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
Global drafts-only overrides every external message. In automatic mode,
each process is set to automatic, review or disabled. Internal tasks and alerts
remain independent. See page 23.
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
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.
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.
• 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
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.
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.
• 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
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.
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.
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
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.
7
• 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
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.
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.
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.
Unsupported operations require a documented manual exception.
8
Automatic Beds24 synchronisation
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
• 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
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.
Outcome
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
accommodation.
9
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
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.
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.
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
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
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
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
rigid global bot pause from version 1.0 is replaced by the sending mode and specific approval blocks.
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.
State model for implementation
Use several independent state domains. A single contact status cannot correctly represent multiple
contracts or simultaneous guest support and a new search. The following names are technical
suggestions.
Domain
States / meaning
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
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.
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,
open_ended, guest_count, preferred_type, explicit_constraints,
radius_km=30, max_moves=1
Offer / OfferGroup
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
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.
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.
unit_id, property_id, pms_unit_id, contract_unit_id, type, capacity, active,
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
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
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.
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
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.
• 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.
• 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.
• 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.
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.
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,
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
payment. Automatic bank payment execution is not authorised by this specification; integration settings
must not silently enable it.
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.
19
PEARLSTAY / CORPORATE AI + CRM
20 / ACCOUNTING & RENT COLLECTION
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
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
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,
business deadlines. Scheduled bank refresh must run at least daily, with supported events processed sooner.
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,
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
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.
Deterministic services
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.
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.
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
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
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
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.
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
AbaNinja postings authoritative in their respective domains.
Transaction safety and recovery
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
a pre-commit gate; if it cannot, this is a delivery blocker requiring an approved alternative.
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
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
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
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.
All scenarios on pages 16 and 21 remain mandatory with the revised calendar and policy behaviour. Add
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
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.
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
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.
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.
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
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
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
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
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,
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.
Functions to consolidate
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
Cancellation gate and scope boundary
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
30 / SOFTWARE CONSOLIDATION
Cleaning, maintenance and unified operations
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
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
cash receipts separately from accounting income and preserve source IDs. Avoid duplicate automations
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.
Version 2.5 delivery additions
Add the software/cost inventory, reuse-and-migration plan, cleaning/maintenance module, role matrix,
acceptance results and cancellation checklist to the handover. Confirm the impact on development effort
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
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
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
Automate preparation, dispatch under approved rules, reminders, status tracking and archival. Preserve
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
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
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.
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.
Reliable operation and data handling
Repeat invalid or missing keypad input once, then offer human/callback fallback rather than ending in a
loop. Deduplicate provider events and SMS requests; record failed SMS delivery for follow-up without
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
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
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
after migration acceptance. Keep acquisition prospects separate from rental guests while linking shared
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
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.
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.
Pipeline, human control and migration
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
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
history or accessible references, ownership and next due dates; reconcile counts and samples before
disabling old jobs.
Acceptance, costs and handover
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
reminder settings. This is part of the acquisition phase after core rental and accounting delivery.
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
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,
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.
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
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
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
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
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
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
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
mappings, permitted routes, templates, PDF version, test results, recovery steps and total recurring
Pearsley is a corporate AI + CRM for short-stay property operations. It automates standard cases end to end while minimising incorrect actions, and routes anything that needs judgement into a consolidated exception queue with evidence and a proposed next step. No unmeasured automation percentage or zero-error production guarantee is implied, and all existing business rules remain mandatory unless expressly revised in version 2.5. The human roles below are the active actors established by the specification; systems such as AbaNinja, WhatsApp and the AI itself are supporting actors, not personas.
Operations staff work in a single operational workspace covering prospects, tenants, units, contracts, communication, receipts, accounting exceptions and rent collection. AbaNinja remains the accounting system behind this interface, so 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.
Their core goal is to resolve standard cases automatically and spend human attention only on exceptions. In the exception-first CRM they see one queue showing case, tenant/unit, severity, reason, source evidence, proposed action, owner and next deadline. They can correct, approve, reject, pause or retry only within their role. Duplicates are grouped and full history is preserved, and each item links to the original documents and integration records. Success is observable as a queue where every item has an owner, a proposed next step and a next deadline, and where routine cases never reach the queue at all.
Cleaners are assigned tasks and use a mobile-friendly CRM view showing unit, authorised access information, task date/window, checklist, photo upload, notes and status. Each person is restricted to assigned tasks and necessary data, under a separate staff permission for operational access; guest payment records and other tenants' information are never exposed.
Routine cleaning requests may be forwarded automatically, with no additional charge, to the assigned cleaner via WhatsApp, subject to the global mode. The forwarded message contains the accommodation, the problem and the necessary details. Appointments are confirmed to guests only after the cleaner accepts. Success is observable as an accepted task with completed checklist, photos and status, without the cleaner seeing anything beyond the assigned unit.
Tradespeople receive maintenance work routed by the AI, but unlike cleaners they still require individual approval before work proceeds. Their access to unit and task information follows the same restriction principle as cleaners: only what is necessary for the assigned job.
Guests and tenants are the people the operation serves. They ask general questions and seek guest support, and the AI answers as much as possible independently. Prospects may receive public property information, while Wi-Fi details and internal guest instructions require the appropriate access. Tenants sign contracts and complete identification, including supported foreign identity documents relevant to actual tenants; mobile signing, identification and any manual fallback are tested, and account/app requirements, languages and fallbacks are recorded. Declined or expired cases are also tested.
When a requested stay cannot be confirmed, the guest is told clearly that the stay cannot yet be confirmed and that later availability is not guaranteed. With the prospect's consent, a deferred enquiry is retained with desired dates, preferences, reason and next review date. A deferred enquiry creates no reservation, inventory block or contract dispatch. Before that point, the first search looks for other suitable units or clearly labelled alternative dates that pass the same gate.
The specification requires named technical maintainers and business decision owners, with support arrangements and incident response targets defined before launch. Specialist accounting configuration and closing stay with the accounting specialists. These are accountability roles rather than day-to-day CRM personas; the operational detail of who fills them is a launch-readiness decision, not a product behaviour.
The AI answers guest questions, forwards routine cleaning requests and routes exceptions. AbaNinja holds the accounting system of record. WhatsApp carries cleaner notifications. These systems act on behalf of the human roles above and do not hold goals, permissions or responsibilities of their own.
Trigger: A prospect contacts Pearsley through WhatsApp with an accommodation request, or an existing guest starts a new search or asks to extend a stay. Actors: Prospect/guest, Pearsley AI, staff for escalation and approvals.
Result: The prospect receives a ranked set of suitable options with deviations clearly presented; no match may violate an explicit requirement. Failure/recovery: If an offered unit is allocated to someone else, affected prospects are informed according to the sending mode and offered alternatives; open contract processes are flagged for review. Continuation: The prospect may request further matches, accept an option, raise a price objection (Journey 2) or join the waiting list.
Trigger: An offer has been sent, a form link has been sent, a contract has been sent by email, a viewing date is known, or the prospect raises an explicit price objection. Actors: Prospect, Pearsley AI, staff for case approval.
Proactive sales and reminder messages may be sent only from 09:00 to 19:00 Europe/Zurich; replies are possible around the clock, and scheduled check-in messages follow their own rules. Result: Follow-ups are sent only when permitted; the prospect responds, declines, books or is added to the waiting list. Failure/recovery: A final decline (“Not an option”, “I have found something”, or a request to stop contact) ends the corresponding sales messages; an explicit contact stop blocks proactive messages, and a new incoming support question may be handled but does not reactivate a sales campaign. If discount conditions are not met, no discount is offered and the general follow-up rules apply. Continuation: The prospect may accept, decline, remain on the waiting list or proceed to the contract process (Journey 3).
Trigger: The prospect expresses interest in renting. Actors: Prospect, Pearsley AI, staff via dashboard actions, existing email process.
FORM_LINK_SENT → FORM_RECEIVED → CONTRACT_SENT → GUEST_SIGNED → COUNTERSIGNED; only COUNTERSIGNED means booked. If the unit is allocated to someone else, the process becomes REVIEW_REQUIRED instead of unilateral contract deletion.Result: Countersignature is the binding booking signal; the guest receives the contract and payment instructions and the AI switches to guest support. Failure/recovery: If an offered unit is allocated to someone else, affected prospects are informed according to the sending mode and offered alternatives; open contract processes are flagged for review. Continuation: Payment status is tracked against bank evidence and verified allocation. A fixed-term extension uses a new contract and the same form/signature process, with price approval required for two or more people. An open-ended termination records the request, applies four weeks' notice effective at month-end with no minimum rental duration, and becomes binding only after staff approval; only then is the superseded Beds24 entry updated.
Trigger: An inbound WhatsApp message, a general question, an operating problem, a payment question or an access request. Actors: Guest/prospect, Pearsley AI, staff.
Result: The guest receives accurate, policy-compliant support; access is released only when all gates are met. Failure/recovery: Unclear payment status blocks code release and triggers internal clarification; unresolved complaints become internal tasks; acute danger is prioritised immediately. Continuation: The guest remains in support; knowledge changes proposed by the AI are adopted permanently only after staff approval, and booking-specific exceptions are never applied to other guests without review.
Trigger: A prospect requests or is proposed a viewing, a routine or paid cleaning need arises, or a case requires staff approval. Actors: Prospect, guest, Pearsley AI, cleaner/tradesperson via WhatsApp, current tenant for tenant-led viewings, staff via dashboard.
planned, assigned, accepted, in progress, completed, review required and cancelled; who did what and when is captured, required checklist items and photo evidence are defined per task, and missing evidence enters review.Result: Cleaning and trades are dispatched within policy and approvals are handled with full context. Failure/recovery: Missing prices or supplier capacity require review; unacknowledged urgent tasks receive a second push after ten minutes; missing cleaner replies escalate to staff after 24 + 24 hours; conflicts over number sharing go to staff. Continuation: The AI monitors the case until resolved or escalated; if the prospect is interested in renting, the validated contract process starts (Journey 3), price objections follow the discount rules (Journey 2), and a final decline ends sales messages.
Trigger: A rent obligation reaches its due date and the configured grace period elapses, a booked incoming payment is imported from the bank feed, or a supplier/accounting document is received. Actors: Tenant, Pearsley AI, Pearlstay staff via CRM, AbaNinja, bank feed/bank integration.
Result: Verified overdue balances produce a tenant reminder and a CRM arrears case with staff notification; settled balances cancel queued reminders and close the case; valid documents are booked once in AbaNinja with source and confirmed booking shown in the CRM. Failure/recovery: Ambiguous or combined payments and bank outages create a review/sync task instead of a false arrears message; a reversal reopens the correct balance; repeated events never duplicate allocations or alerts. Continuation: The case remains open until fully settled; booked documents feed the income/expense summaries and the tenant ledger.
Trigger: An inbound telephone call. Actors: Caller (prospective or current guest, or other caller), Pearsley AI, designated human contact or team, Pearlstay staff via CRM.
Result: Callers are routed to WhatsApp, a human or a callback task according to their selection. Failure/recovery: Failed or unanswered transfers fall back to voicemail and a CRM callback task; invalid input is repeated once before human/callback fallback. Continuation: Guest messages enter the existing CRM workflow; callback tasks remain open until handled.
Trigger: A listing alert arrives in the designated Gmail inbox. Actors: Pearsley AI, Pearlstay staff.
interested, deferred or rejected, with the selected outcome and source evidence remaining linked to the listing.Result: Each imported listing is either excluded with a reviewable reason, queued for parsing review, or assigned a review outcome. Failure/recovery: Failed parsing enters the review queue rather than producing invented details. Continuation: Selected listings remain available for Pearlstay's follow-up decisions.
Trigger: A Beds24, channel, accounting or provider operation is requested, a migration or cutover is prepared, or a restart/outage leaves an unclear outcome. Actors: Pearsley AI, Pearlstay staff, external integrations (WhatsApp, Beds24, AbaNinja, bank feed, channels, PriceLabs, Lodgify).
Result: External operations are verified by readback, migration preserves data and ownership, and recovery reconciles unclear outcomes before resending. Failure/recovery: Duplicate webhooks, unclear sends and stale drafts create reconciliation rather than duplicate action; external-channel conflicts block or follow the proven conflict procedure. Continuation: Normal processing resumes with deduplicated, rechecked drafts and jobs.
Trigger: A new-build project export from Olmero is uploaded, or a repeated export updates existing projects. Actors: Pearsley AI, Pearlstay staff, shared contact database, Gmail sending and follow-up engine.
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.Result: Each project has one approved recipient and a controlled outreach history; repeated exports update rather than duplicate. Failure/recovery: Ambiguous matches and recipient changes after outreach require human review; unusable contacts exclude the project from outreach. Continuation: Confirmed sends and replies feed the shared follow-up engine and audit trail.
Trigger: A short-stay enquiry arrives through a portal, email or other channel, or a deferred enquiry reaches its reassessment trigger. Actors: Prospect, Pearsley AI, staff for review and contract preparation.
Result: The enquiry is answered through the permitted channel, deferred with consent where applicable, and reassessed only when all gates pass. Failure/recovery: Ambiguous matches require clarification; uncertain sends are reconciled before retrying; reminders stop on withdrawal, booking or contact block. Continuation: A passing reassessment notifies the prospect or prepares a contract; otherwise the enquiry remains deferred with a next review date.
[Design proposal; unspecified choices are defaults.]
Muse: Massimo Vignelli. Headline: PEARLSTAY / CORPORATE AI — One CRM. Traceable rules. No unchecked sends. The interface is information design as public infrastructure: a visible grid, coded colour, and rules that read like wayfinding.
Mode: light. Palette by role (exact tokens): background #FFFFFF; surface #F2F2F0 (ruled panels, table headers, exception queue only); text #111111; primary/signal #D4001A (STOP, drafts-only override, blocked access-code release, critical acceptance violation, emergency pause); accent #0B4EA2 (automatic sending mode, verified payment, countersigned); muted #6E6E6E (metadata, timestamps, version numbers, source labels). Yellow and green are reserved code slots (review mode, waiting list) and must enter as flat primaries, never tints. Colour never decorates; every use maps to a state and always carries a text label.
Typography: one grotesque family throughout — headings and body Archivo. Headings 700–800, flush-left, ragged-right, tracking −0.02em; sentence case for editorial lines, ALL-CAPS at 0.08em tracking for section labels, page markers and mode names. Numbers (versions, page ranges, prices, dates) set in Archivo with tabular figures so 2.10, 22-36 and 09:00–19:00 align in columns. Scale: 1.25 modular, clamped — hero 40→96px, section title 28→48px, subsection 20→28px, body 16→18px, label/caps 12→13px, data table 14→15px. Line-height 1.05 hero, 1.55 body; measure capped at 68 characters.
Shape language: hard edges only — zero border-radius on cards, buttons, inputs. Structure drawn with rules: 2px black under every section header, 1px grey between table rows, 1px red around blocked or draft-only states. Buttons are rectangles with a 1px black border and solid fill on hover. Category chips are squares, not pills. The only circle is a status dot, always beside a text label.
Layout: visible 12-column grid with a persistent left rail (numbered section index 01 / 02 / 03 … mirroring the spec's own page numbering) and a right-hand metadata column for version, date and source. Content sits in the middle 8 columns at 1280px, collapses to one column at 768px, and the rail becomes a horizontal scrollable index at 375px. Sections separated by full-bleed edge-to-edge rules, never boxed cards. Data as ruled tables with aligned label/value pairs. Colour-coded bands (red / blue / grey) span the full content width.
Imagery: diagrams, not photography — schematic line art on the grid: inbound WhatsApp message → authentication → deduplication → intent → hard checks → confidence → send or draft; a wayfinding flow of the contract process from form received to countersignature; a colour-coded map of authoritative sources and their precedence. Where a real photograph is needed (a unit, a cleaner's task), it is cropped hard to the grid, desaturated, and captioned like an exhibit with source and timestamp. No stock photography of smiling guests.
[Design proposal; unspecified choices are defaults.]
The public entry is a full-width information poster, not a SaaS hero. Top left, an oversized Archivo headline set flush-left at clamp(40px, 8vw, 96px) stacks PEARLSTAY / CORPORATE AI over One CRM. Traceable rules. No unchecked sends. The right two-thirds of the viewport holds a schematic system diagram drawn in 1px black lines on white: a message enters from the left, passes through labelled gates — AUTH, DEDUPE, INTENT, HARD CHECKS, CONFIDENCE, PRE-SEND RECHECK — and exits either as a blue-bordered AUTOMATIC band or a red-bordered DRAFTS-ONLY band. A 2px red rule runs full-bleed beneath the headline. Version metadata — Version 2.10 · 15 October 2026 · Pages 22-36 — sits bottom-left in 13px caps with tabular figures. No gradient, no blob, no centred stack, no blue button.
Signature moves: the hero as a full-viewport system diagram with labelled gate columns and two colour-coded exit bands; a persistent left rail numbering every section 01, 02, 03 … with the current section marked by a solid red square and a 2px rule; global sending mode as a fixed three-cell strip in the top bar — DRAFTS-ONLY / AUTOMATIC / PAUSED — where the active cell is a solid colour block (red, blue, black) and inactive cells are white with a 1px border, identical on every page; every claim carrying a source line in 12px caps (SOURCE: Contract system · SHEET v2.10 · VALIDATED 15 Oct 2026 14:02 Europe/Zurich) with tabular figures; the exception queue as a ruled table with a 6px severity gutter — red (blocking), blue (review), grey (informational) — and aligned columns for tenant/unit, reason, evidence link, proposed action, owner and next deadline. No cards, no lift.
Avoid: any blue-indigo primary on white (#0057FF, #2563EB, #4F46E5, #6366F1, #7C3AED); the only blue is #0B4EA2 as a coded signal, never a default button; gradient-blob heroes, soft glows, frosted glass, blurred backgrounds; grids of identical hover-lift cards; rounded corners, pill buttons, blob shapes, soft offset shadows; Inter, Roboto, Arial, Helvetica, Open Sans, Lato, Poppins or system-ui as heading or body font; decorative animation, bouncy easing, marquees, parallax; colour as the sole carrier of meaning; stock photography of smiling guests.
[Design proposal; unspecified choices are defaults.]
Interaction Model: Static (direction) Motion Tempo: still Hero Dimensionality: flat
Landing Hero Motion Brief. Focal subject: the schematic system diagram — inbound message entering the labelled gate columns and exiting as the blue AUTOMATIC or red DRAFTS-ONLY band. Thesis: an inbound message (input) is drawn through AUTH → DEDUPE → INTENT → HARD CHECKS → CONFIDENCE → PRE-SEND RECHECK (transformation) and resolves into exactly one coded exit band (outcome) — using only accepted behaviour, no new states. Motion vocabulary: instant and mechanical — a mode chip flips colour, a rule thickens, a row highlights; no easing theatrics, no parallax, no gradient drift. Composed first frame: headline flush-left above the full-bleed 2px red rule, diagram fully drawn, version metadata bottom-left, sending-mode strip fixed in the top bar. The single purposeful motion is the hero's rule-draw: the 2px line extends across the viewport on load in 400ms linear. Hover states swap fill and text colour with no transition longer than 120ms. Reduced-motion state: the rule appears fully drawn and the diagram is static and complete.
Readable text and controls stay whole at 375px, 768px and 1280px — headlines, wordmarks, labels, numbers and controls wrap or scale (e.g. font-size: clamp(...) with its mobile size) to fit inside the viewport and their container, and no element covers any part of them. Imagery and decoration may crop, bleed, rotate or overlap as the direction asks, provided they cover no readable text or control.
Acceptance scenarios and technical implementation points
Owner/team data and other guests' data remain internal, except for the defined viewing contact.
Restrict document and financial access by staff role. Keep credentials server-side, log changes and
Reliable messages and writes
restoration, secret recovery and workflow resumption. Approve recovery-time and data-loss targets
before production; perform a documented restore drill.
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.
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
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
facts. No code may enter model context or be sent before all identity, payment, contract and time gates
pass.
Deployment stages
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.
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.
Model and rule updates
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
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.
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
guest or authorise disclosure. Keep call metadata and voicemail access restricted; no live-call recording
comparison, test evidence and administrator handover. Preserve all existing WhatsApp and guest-data
safeguards.
Acceptance, costs and handover
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
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,
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
completion status in the CRM. Use a replaceable provider adapter; avoid browser automation for the
core signing workflow.
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.
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-34 define mandatory implementation, policy and delivery controls. Unchanged business rules
ACCOUNTING / 18-21 | RELIABLE AUTOMATION / 22-34
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
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
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
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
Change from version 1.0
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.
calibrated threshold. Uncertain cases become review drafts. A confidence
score never grants authority.
Business authority is separate from sending permission. Approved policies may cover multi-person
Termination confirmation and countersignature remain human decisions.
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
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
Version 2.8 - 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
10
Version 2.5 - 14 October 2026 - Developer specification
Version 2.6 - 15 October 2026 - Developer specification
Further automatic repetitions have not been specified.
System outage
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
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
13
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
• 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.
• WhatsApp: verify templates, media processing, delivery failures and account settings needed for
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.
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.
verified or configured before activation. Pages 22-32 add architecture, integration proof and acceptance gates.
verified or configured before activation. Pages 22-33 add architecture, integration proof and acceptance gates.
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
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.
18
approvals, preserve original files and configure retention/backups with Pearlstay. OCR confidence
thresholds and accounting rules are separate from the conversational AI sending threshold.
termination or collection escalation.
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
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.
developer has operational expertise; an equivalent must demonstrate durable timers, restart recovery,
replay-safe changes and observable failures before approval.
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
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
and acceptance requirements. No guessed limits or inferred availability. These policies remain disabled
External-channel limitations
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.
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
signed contracts.
launch. Use bounded retries with backoff, then a visible exception queue. Outages never imply vacancy
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
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
Integration proof before full build
Mandatory technical milestone
account-specific behaviour and platform requirements before activation.
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
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
Thresholds before activation
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.
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.
Handover and maintainability
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
adapter. Page 28 specifies migration, testing, rollback and cancellation gates. Existing search, discount,
consent, signature and accounting safeguards remain binding.
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
Retains version 2.2 automation safeguards and revised workflows. Version 2.8 targets Beds24 after
Retains version 2.2 automation safeguards and revised workflows. Version 2.8 targets Beds24 after
behaviour. Use test-safe records; do not send guest messages or connect two competing channel
managers to the same live listing.
original Lodgify IDs for migration history. Only the Beds24 production adapter is required; a second
complete adapter is not part of this scope.
Migration inventory and ownership
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
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
signing/audit capabilities cannot be reliably provided by the existing implementation. No new automated
signature or countersignature authority is granted.
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.
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
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.
Use supported messaging integrations; platform and message fees may remain. Centralise rental-related
cash receipts separately from accounting income and preserve source IDs. Avoid duplicate automations
in third-party workflow tools.
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.
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
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.
not send duplicate contracts, cause unintended charges or mark an incomplete contract as fully signed.
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
and signers. This section governs provider selection wherever an earlier section leaves the service
unspecified.
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
Version 2.8 - 15 October 2026 - Developer specification
template settings, migration results, recovery instructions and incremental costs. Cancel ClickUp only
after all remaining uses are addressed and Pearlstay approves.
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
contact. Deliver mappings, templates, costs and test results. A direct Olmero API connection is optional
future work; disable old workflows only after verified cutover.
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
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.
costs. Prefer shared supported integrations over a separate AI agent for each portal.
3
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
payment_received, termination_approved, pms_sync_confirmed, manual_approval, timer_due and
20
21
Version 2.5 - 14 October 2026 - Developer specification
31
Version 2.6 - 15 October 2026 - Developer specification

Global sending mode set to Drafts-only.
A WhatsApp AI for guests and prospects, and one CRM for rentals, accounting, rent collection and Beds24 channel management. Every rule is versioned, every check is recorded, and nothing is sent until its conditions are revalidated.
02 / System overview
Gates 01-06
An inbound WhatsApp message is authenticated, deduplicated and classified, then checked against availability, price, payment status, permissions and approvals before any reply is sent. It exits into exactly one of two coded outcomes.
Source: Contract systemSheet v2.10Validated 15 Oct 2026 14:02 Europe/Zurich
04 / Sending modes
One global sending mode governs every outbound message on the platform. Each process then runs in its own mode underneath it. The global mode always wins: if sending is paused, no process sends, whatever its own mode says.
Three cells · one active · platform-wide
Outbound guest and prospect messages are prepared as drafts for staff review. Nothing leaves the platform until a staff member approves and sends it.
Sending blocked · staff approval required
Messages are sent automatically only after every hard check passes and the configured confidence threshold is met for that process.
Sending permitted where all checks pass
External sending stops immediately and stays stopped until the mode is deliberately changed. Queued actions are held, not discarded.
Emergency stop · sending suspended
Drafts-only is the global override. It outranks a process set to automatic, and it blocks the release of access details, offers and payment confirmations until a staff member sends them.
Automatic / review / disabled · set per process
Applies to the named process only. The reply is generated, all hard checks are re-run immediately before sending, and the message is released without staff involvement.
The process prepares the reply and files it for staff review. A staff member edits, approves or rejects it; only an approved draft is sent.
The process produces no outbound message at all. Its internal tasks still run and still appear in the CRM queues, but nothing is drafted for sending.
Internal accounting tasks and arrears alerts operate independently of the global sending mode. Rent obligations, allocation checks and arrears cases continue to be created and surfaced in the CRM while sending is drafts-only or paused.
Business authority is separate from sending permission. Being responsible for a decision does not authorise the system to send it; approval is bound to the exact action details and is invalidated when those details materially change.
A confidence score never grants authority. A high confidence score does not bypass availability, price, payment, permission or approval conditions, and it is not a substitute for deterministic validation.
SOURCE: Contract system · SHEET v2.10 · VALIDATED 15 Oct 2026 14:02 Europe/Zurich
05 / Workflow gates and acceptance
Four hard gates — identity, payment, contract and time — are enforced by deterministic services. Release criteria, staged deployment, rollback and the model-and-rule update process are stated below as rules with their verification evidence.
Identity, payment, contract and time gates must pass before any access code enters model context or is sent.
Gate orderIdentity → Payment → Contract → Time
Enforced byDeterministic services
Release requires zero observed critical violations in the agreed acceptance suite.
ScopeThis is a release gate, not a guarantee of zero future errors. Fix and rerun failures before activating the affected process.
Acceptance suiteAgreed critical-violation suite
ThresholdZero observed critical violations
Stages 1-6 proceed in order; each stage completes before the next begins.
Stage countSix, executed in order
Stage 1Integration proof
Stage 6Monitor and expand
A failure returns the affected process to staff review; a global stop halts issuing across every process.
On failureProcess returns to review automatically
OverrideGlobal stop control
A change to any versioned artefact passes a representative regression suite before it reaches production.
RegressionRun 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.
Versioned artefacts5 tracked items
Before releaseRepresentative regression suite
SOURCE: Contract systemSHEET v2.10VALIDATED 15 Oct 2026 14:02 Europe/Zurich
06 / Access PathsVersion 2.1015 October 2026Pages 22-36
Six accepted personas reach Pearlstay through defined entry points. Staff authenticate before any record is reachable; guests and prospects enter through WhatsApp, where the message is authenticated and deduplicated before any answer is prepared. Each row carries its coded gutter as well as its text label.
01
Views the public landing page, then proceeds to authenticate as a staff account before any receipt, booking or rent record is reachable.
02
Views the public entry information before reaching cleaner and tradesperson tools. No existing cleaner or tradesperson account yet, so an account is created first.
03
Messages the Pearlstay WhatsApp number instead of using an account. The AI authenticates the sender and deduplicates the message before answering.
04
Views the public landing page before authenticating, then proceeds to authenticate. A new staff member registers before first access.
05
Views the public entry page carrying the system diagram and version metadata, then chooses to sign in to the CRM.
06
Lands on the public WhatsApp entry point and initiates WhatsApp or channel contact for an accommodation search.
SOURCE: Contract system · SHEET v2.10 · VALIDATED 15 Oct 2026 14:02 Europe/Zurich

Global sending mode set to Drafts-only.
A WhatsApp AI for guests and prospects, and one CRM for rentals, accounting, rent collection and Beds24 channel management. Every rule is versioned, every check is recorded, and nothing is sent until its conditions are revalidated.
02 / System overview
Gates 01-06
An inbound WhatsApp message is authenticated, deduplicated and classified, then checked against availability, price, payment status, permissions and approvals before any reply is sent. It exits into exactly one of two coded outcomes.
Source: Contract systemSheet v2.10Validated 15 Oct 2026 14:02 Europe/Zurich
04 / Sending modes
One global sending mode governs every outbound message on the platform. Each process then runs in its own mode underneath it. The global mode always wins: if sending is paused, no process sends, whatever its own mode says.
Three cells · one active · platform-wide
Outbound guest and prospect messages are prepared as drafts for staff review. Nothing leaves the platform until a staff member approves and sends it.
Sending blocked · staff approval required
Messages are sent automatically only after every hard check passes and the configured confidence threshold is met for that process.
Sending permitted where all checks pass
External sending stops immediately and stays stopped until the mode is deliberately changed. Queued actions are held, not discarded.
Emergency stop · sending suspended
Drafts-only is the global override. It outranks a process set to automatic, and it blocks the release of access details, offers and payment confirmations until a staff member sends them.
Automatic / review / disabled · set per process
Applies to the named process only. The reply is generated, all hard checks are re-run immediately before sending, and the message is released without staff involvement.
The process prepares the reply and files it for staff review. A staff member edits, approves or rejects it; only an approved draft is sent.
The process produces no outbound message at all. Its internal tasks still run and still appear in the CRM queues, but nothing is drafted for sending.
Internal accounting tasks and arrears alerts operate independently of the global sending mode. Rent obligations, allocation checks and arrears cases continue to be created and surfaced in the CRM while sending is drafts-only or paused.
Business authority is separate from sending permission. Being responsible for a decision does not authorise the system to send it; approval is bound to the exact action details and is invalidated when those details materially change.
A confidence score never grants authority. A high confidence score does not bypass availability, price, payment, permission or approval conditions, and it is not a substitute for deterministic validation.
SOURCE: Contract system · SHEET v2.10 · VALIDATED 15 Oct 2026 14:02 Europe/Zurich
05 / Workflow gates and acceptance
Four hard gates — identity, payment, contract and time — are enforced by deterministic services. Release criteria, staged deployment, rollback and the model-and-rule update process are stated below as rules with their verification evidence.
Identity, payment, contract and time gates must pass before any access code enters model context or is sent.
Gate orderIdentity → Payment → Contract → Time
Enforced byDeterministic services
Release requires zero observed critical violations in the agreed acceptance suite.
ScopeThis is a release gate, not a guarantee of zero future errors. Fix and rerun failures before activating the affected process.
Acceptance suiteAgreed critical-violation suite
ThresholdZero observed critical violations
Stages 1-6 proceed in order; each stage completes before the next begins.
Stage countSix, executed in order
Stage 1Integration proof
Stage 6Monitor and expand
A failure returns the affected process to staff review; a global stop halts issuing across every process.
On failureProcess returns to review automatically
OverrideGlobal stop control
A change to any versioned artefact passes a representative regression suite before it reaches production.
RegressionRun 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.
Versioned artefacts5 tracked items
Before releaseRepresentative regression suite
SOURCE: Contract systemSHEET v2.10VALIDATED 15 Oct 2026 14:02 Europe/Zurich
06 / Access PathsVersion 2.1015 October 2026Pages 22-36
Six accepted personas reach Pearlstay through defined entry points. Staff authenticate before any record is reachable; guests and prospects enter through WhatsApp, where the message is authenticated and deduplicated before any answer is prepared. Each row carries its coded gutter as well as its text label.
01
Views the public landing page, then proceeds to authenticate as a staff account before any receipt, booking or rent record is reachable.
02
Views the public entry information before reaching cleaner and tradesperson tools. No existing cleaner or tradesperson account yet, so an account is created first.
03
Messages the Pearlstay WhatsApp number instead of using an account. The AI authenticates the sender and deduplicates the message before answering.
04
Views the public landing page before authenticating, then proceeds to authenticate. A new staff member registers before first access.
05
Views the public entry page carrying the system diagram and version metadata, then chooses to sign in to the CRM.
06
Lands on the public WhatsApp entry point and initiates WhatsApp or channel contact for an accommodation search.
SOURCE: Contract system · SHEET v2.10 · VALIDATED 15 Oct 2026 14:02 Europe/Zurich
No comments yet. Be the first!