Skip to main content
All Docs
FeaturesBlockManOSUpdated April 9, 2026

Diary & Inspection Scheduling

Diary & Inspection Scheduling

The Diary & Inspection Scheduling module gives property management agents a single place to record all office diary activity and site inspection history against developments, units, owners, and contractors. It is accessible from the Operations section of the main navigation under Diary & Inspections.


Overview

The module has two distinct but linked areas:

AreaPurpose
Office DiarySchedule and track all events, calls, meetings, deadlines, and reminders related to a development or contact
Site InspectionsRecord structured site inspection visits with findings, outcomes, and follow-up actions

The two areas are integrated: creating a site inspection can automatically generate a linked diary entry, and completing an inspection automatically completes its linked diary entry.


Office Diary

Diary Entry Types

Each diary entry has a type that categorises the activity:

TypeDescription
site_visitOn-site visit to a development or unit
phone_callPhone call with an owner, contractor, or contact
meetingFormal meeting (internal or external)
inspectionInspection activity (use Site Inspections for structured records)
follow_upFollow-up action on a previous entry
deadlineKey deadline (e.g. service charge payment, compliance filing)
reminderInternal reminder for staff
agm_relatedAGM preparation or follow-up activity
contractor_visitScheduled contractor attendance on site
owner_meetingOne-to-one or group meeting with unit owners
otherAny activity not covered above

Status Lifecycle

scheduled → completed
         → cancelled
         → overdue  (automatic when past scheduled date without completion)

Priority Levels

  • low — routine, no urgency
  • medium — standard priority
  • high — requires prompt attention
  • urgent — immediate action required

Linking

Diary entries can be linked to any combination of:

  • Development
  • Unit
  • Owner
  • Contact
  • Contractor
  • Staff assignee

Completing a Diary Entry

Use the Complete action on a diary entry to mark it as done and record outcome notes. Once completed, the entry status changes to completed and is recorded in the audit log.


Site Inspections

Inspection Types

TypeDescription
routineStandard periodic site inspection
pre_agmInspection conducted before an AGM
post_worksPost-contractor-works sign-off inspection
insuranceInsurance-required inspection
health_safetyHealth & Safety inspection
fire_safetyFire safety compliance inspection
lettings_checkinLettings check-in inspection
lettings_checkoutLettings check-out inspection
snaggingSnagging inspection for new or refurbished units
ad_hocUnplanned or ad hoc visit
otherAny inspection not covered above

Inspection Outcomes

OutcomeMeaning
satisfactoryNo issues found
minor_issuesSmall issues noted, no immediate action required
major_issuesSignificant issues requiring action
urgent_action_requiredImmediate action required

Structured Findings

Each inspection record supports structured findings with:

  • Area — the part of the development or unit inspected
  • Description — what was found
  • Severity — how serious the finding is
  • Photo URL — link to supporting photographic evidence
  • Action required — what needs to be done

Executive Summary & Follow-up

Inspections include a free-text executive summary and an actions required field, along with a follow-up date for scheduling any remedial work or re-inspection.

Auto-Diary Integration

When creating a site inspection, you can opt to automatically create a linked diary entry. This keeps a chronological diary record alongside the structured inspection report. When the inspection is marked as complete, its linked diary entry is also automatically completed.


Dashboard UI

Navigate to Operations → Diary & Inspections to access the module.

Summary Cards

The top of the page shows live summary counts:

CardDescription
TodayDiary entries scheduled for today
Next 7 DaysEntries scheduled in the next 7 days
ScheduledAll entries with scheduled status
OverdueEntries that are past their scheduled date and not completed
Upcoming InspectionsInspections not yet completed
Urgent ActionsInspections with urgent_action_required outcome

Filtering

Both the diary and inspections table views support filtering by:

  • Status (scheduled, completed, cancelled, overdue / in progress)
  • Type (entry type or inspection type)
  • Priority (diary entries only)

Creating Entries

  • Use the + New Entry button on the Office Diary tab to open the create diary entry dialog. You can link the entry to a development at creation time.
  • Use the + New Inspection button on the Site Inspections tab to open the create inspection dialog. You can opt in to auto-creating a linked diary entry at the same time.

Detail Panels

Clicking any row opens a detail panel showing all fields, linked entities, and findings (for inspections). The completion workflow is accessible from the detail panel.


tRPC API Reference

All procedures are under the diary router namespace.

Diary Entry Procedures

ProcedureDescription
diary.summaryDashboard summary counts for diary and inspections
diary.listDiaryEntriesPaginated list with filters: status, entryType, priority, date range, assignedUserId, developmentId
diary.getDiaryEntrySingle entry with all linked entity names
diary.createDiaryEntryCreate a new diary entry
diary.updateDiaryEntryPartial update of an existing diary entry
diary.completeDiaryEntryMark an entry as completed with outcome notes
diary.deleteDiaryEntryDelete an entry (admin only)
diary.entriesForDevelopmentAll diary entries scoped to a specific development

Inspection Procedures

ProcedureDescription
diary.listInspectionsPaginated list with filters: status, inspectionType, developmentId, inspectorId
diary.getInspectionDetailed inspection view including findings
diary.createInspectionCreate an inspection; optionally auto-creates a linked diary entry
diary.updateInspectionPartial update with findings management
diary.completeInspectionRecord outcome; auto-completes linked diary entry if present
diary.deleteInspectionDelete an inspection (admin only)
diary.inspectionsForDevelopmentAll inspections scoped to a specific development

All mutation procedures are covered by full audit logging.


Database Schema

Two new tables are introduced in src/db/schema-diary.ts:

diary_entries

Key columns: id, orgId, developmentId, unitId, ownerId, contactId, contractorId, assignedUserId, entryType, status, priority, title, notes, scheduledDate, scheduledTime, duration, recurrence, outcomeNotes, createdAt, updatedAt.

Indexes: orgId, developmentId, scheduledDate, status, assignedUserId.

inspection_records

Key columns: id, orgId, developmentId, inspectorId, linkedDiaryEntryId, inspectionType, status, outcome, scheduledDate, completedDate, executiveSummary, actionsRequired, followUpDate, findings (structured JSON array), createdAt, updatedAt.

Indexes: orgId, developmentId, scheduledDate, status, inspectorId.


Integration Points

  • Development detail pages — use diary.entriesForDevelopment and diary.inspectionsForDevelopment to embed diary and inspection history directly on a development's detail page
  • Existing schema — diary entries link to the existing developments, units, owners, contacts, and contractors tables
  • Inspection → Diary — the auto-diary-entry feature on inspection creation keeps the office diary automatically up to date without double-entry