Skip to content
OpenAppPhysical access, simplified
Login

Invitation curfew

Type
invitation_curfew
Category
Invitations
Enforced at
Access-time
Tiers
OrgIntegrationDevice
Enforcement
Enforce
Default
Not configured — no hour restrictions on invitation-based access.

An invitation curfew denies guest opens during a local time window even when the invitation schedule itself covers those hours. The invitation row is never rewritten. Admins and residents are never curfewed — the limit targets invitation-based access only. Local time uses the organization IANA timezone (for example Asia/Jerusalem); when unset, evaluation falls back to UTC and follows DST in that zone. An organization admin may mark a specific invitation as exempt from curfew. When the curfew is first set, OpenApp surfaces a report of existing invitations that overlap the window.

When it is enforced

Evaluated when someone opens a door or gate or triggers an entity action. If this policy applies, the open is denied even when roles and grants would otherwise allow it.

Where to set it

Settings → Policies (org), the integration Policies tab, or — on PalGate — the device steward Policies tab.

Policies never grant access. See thepolicies architecture guidefor how org, integration, and device tiers combine.

Arguments

The config object on create/update. Shared row fieldsenforcement (enforce, require_approval,audit_only) and enabled apply to every type;audit_only and disabled rows never block.

NameTypeRequiredValuesDescription
startstringYes
HH:MM
Inclusive start of the window as local `HH:MM` (00:00–23:59). May be later than end (midnight-wrapping, for example 22:30→06:00).
endstringYes
HH:MM
Inclusive end of the window as local `HH:MM`. At 06:00 the minute 06:00 is blocked and 06:01 is not.
outputstring or integerNoOptional channel or output id. When set, the policy binds only that output. When omitted, it binds every output of the tier target. A scoped row does not apply when the acting output is unknown.

How overlapping rows combine

Any applicable enforcing row denies the open. Disabled and audit_only rows never block. Device-tier rows bind every org on that hardware.

Example

A guest with a valid 48-hour invitation cannot open the door at 02:00. The guest sees a “subject to curfew” note. The invitation itself is unchanged and still works during allowed hours.

config
{
"start": "22:00",
"end": "06:00"
}

Integrations

This type is documented on these connectors: