REQUEST - Senior Full-Stack Developer (NON GREENFIELD)
Budget: $750.0
FIXED /
⭐ 3.41 (14)
United States
mysql, javascript, jquery, restful-api, php
Revision Note — v1.4 (identity & tracking — a first-class citizen). Made explicit that a service_request is a first-class
object in the shared operational object model (Library/Board v1.5 §2), carrying the platform-standard identity ( uuid
VARCHAR(36) + human-readable reference_id , exactly as organizations/hotels do per migration 010), tenant scope, lifecycle,
immutable provenance, and relationship links — defined once, reused, never a parallel identity or tracking scheme. Added §11A
Tracked with everything else — toward outcomes: requests correlate to the guest stay, room/asset, property, and time so
reactive-work performance reports alongside all operational data and rolls up toward guest-experience outcomes (OHI). Object
model, audit, and milestones updated.
Revision Note — v1.3 (notifications & delivery, reconciled to Communications Layer v4). Added §7B Notifications & delivery
— an event-based model where Requests emits its lifecycle events and subscribes to Comms intent events, never reaching into the
Comms layer (Comms v4 §23 anti-rewrite spine). Channels: live voice announce, push via the Thin Native Container (Comms
§20), in-app, email, SMS fallback — with delivery owned by Comms/the container, not Requests. Reuses Comms addressing
resolvers (presence / department / position / area / board) instead of inventing routing. Adds a configurable settings matrix (event ×
channel × role, org/property defaults, shift-aware quiet hours, escalation ladder, safety override). §9 corrected: Comms transcribes +
classifies + emits the intent event; Requests is the consumer (the one Comms v4 says is "built later in Agenda/PDEE"), with
acknowledge ↔ request correlation so a spoken "taking it" can't drift from an open request. Dependencies, milestones, audit
updated.
Revision Note — v1.2 (communication intelligence + share + view receipts). Per direction, the request's communication is
treated as a first-class data source — not just a thread to read later. Added: share (give someone visibility without making them an
owner — a viewer grant via the existing chat participant role); view receipts (delivered → viewed → acknowledged, reusing
messages_seen + last_read_at , with unviewed-by-assignee surfaced for accountability); voice notes transcribed into the
searchable thread; and Intelligence over the thread (§8) — theme/asset extraction ("TV remote again"), sentiment/guest-impact
flags, thread summaries for handoff, and resolution-knowledge capture that mines how a request was fixed and drafts it into the
Library. All advisory, tenant-scoped, and functional with Intelligence disabled.
Revision Note — v1.1 (collaboration added). A gap was caught: v1.0 covered evidence-on-close but not the live, day-to-day team
interaction on a request — comments, responses, adding people, and attaching photos/files mid-flight — which the legacy system
had. §7A is added to specify request collaboration, built entirely on existing infrastructure: the tie-message thread pattern
( message_model ), the chat participant model ( Chat_model — add/remove people, search), and the governed media spine
( Media_attachment / Media_file / Media_link ). No second chat system is built. Object model, dependencies, milestones,
and audit updated to match.
Revision Note — v1.0 (code-audit reconciliation). The develop branch was audited against this scope. Most dependencies
check out and are richer than assumed; several findings changed this document so the developer builds onto existing infrastructure
instead of reinventing it.
Confirmed present (reuse, don't rebuild): the Foundations spine — organization , hotels , hotel_branches (hotel
locations), and user_hotel_location_assignments + user_active_hotel_location for portfolio scoping; the
inventory_usage / inventory_adjustment / inventory_restock ledger (a mature subsystem); the
NotificationService library (the single notification entry point — the legacy ticket even disabled its own writes in favor of it); the
ai_governance_* layer plus ai_structured_output_model (ideal for voice → structured draft); per-user language
preferences + the translation layer; immutable audit_logs triggers.
Findings that changed the scope: (1) scoping resolves through hotel_location_id (org → hotel → location), not hotel_id
alone — corrected
Openen op Upwork