176 lines
2.4 KiB
Markdown
176 lines
2.4 KiB
Markdown
# Contracts and JSON Schemas_ Templates Inventory Edge Capture
|
|
|
|
**Date:** 2026-04-16
|
|
**Status:** Contract baseline
|
|
**Owner:** Sayan
|
|
**Purpose:** Define the minimum JSON and contract entities for this workstream.
|
|
|
|
## 1. Template Catalog Contracts
|
|
|
|
### TemplateChapter
|
|
|
|
- `chapterId`
|
|
- `name`
|
|
- `description`
|
|
- `sortOrder`
|
|
|
|
### TemplateSubchapter
|
|
|
|
- `subchapterId`
|
|
- `chapterId`
|
|
- `name`
|
|
- `description`
|
|
- `sortOrder`
|
|
|
|
### OracleComponentTemplate
|
|
|
|
- `templateId`
|
|
- `chapterId`
|
|
- `subchapterId`
|
|
- `name`
|
|
- `componentType`
|
|
- `acceptedShapes`
|
|
- `jsonTemplate`
|
|
- `origin`
|
|
- `status`
|
|
- `version`
|
|
|
|
### OracleTemplateSeedExample
|
|
|
|
- `exampleId`
|
|
- `templateId`
|
|
- `title`
|
|
- `exampleJson`
|
|
- `qualityNotes`
|
|
|
|
## 2. Kimi Synthetic Data Contracts
|
|
|
|
### SyntheticExpansionJob
|
|
|
|
- `jobId`
|
|
- `templateId`
|
|
- `chapterId`
|
|
- `subchapterId`
|
|
- `model`
|
|
- `status`
|
|
- `requestedCount`
|
|
- `acceptedCount`
|
|
|
|
## 3. Inventory Contracts
|
|
|
|
### InventoryProperty
|
|
|
|
- `propertyId`
|
|
- `sourceId`
|
|
- `projectName`
|
|
- `developerName`
|
|
- `location`
|
|
- `propertyType`
|
|
- `priceBands`
|
|
- `unitMix`
|
|
- `amenities`
|
|
- `mediaRefs`
|
|
- `status`
|
|
|
|
### InventoryImportBatch
|
|
|
|
- `batchId`
|
|
- `sourceType`
|
|
- `submittedBy`
|
|
- `status`
|
|
- `startedAt`
|
|
- `completedAt`
|
|
|
|
## 4. Edge Capture Contracts
|
|
|
|
### CommunicationEvent
|
|
|
|
- `eventId`
|
|
- `leadId`
|
|
- `channel`
|
|
- `direction`
|
|
- `provider`
|
|
- `captureMode`
|
|
- `timestamp`
|
|
- `summary`
|
|
- `rawReference`
|
|
- `recordingRef`
|
|
|
|
### CommunicationMemoryFact
|
|
|
|
- `factId`
|
|
- `leadId`
|
|
- `eventId`
|
|
- `factType`
|
|
- `factText`
|
|
- `effectiveDate`
|
|
- `confidence`
|
|
- `extractedFrom`
|
|
|
|
### TranscriptSegment
|
|
|
|
- `segmentId`
|
|
- `eventId`
|
|
- `speakerLabel`
|
|
- `startMs`
|
|
- `endMs`
|
|
- `text`
|
|
- `confidence`
|
|
|
|
### CalendarEvent
|
|
|
|
- `calendarEventId`
|
|
- `ownerUserId`
|
|
- `leadId`
|
|
- `sourceEventId`
|
|
- `title`
|
|
- `description`
|
|
- `startAt`
|
|
- `endAt`
|
|
- `status`
|
|
- `createdBy`
|
|
|
|
### InsightRecommendation
|
|
|
|
- `recommendationId`
|
|
- `leadId`
|
|
- `sourceEventId`
|
|
- `recommendationType`
|
|
- `summary`
|
|
- `suggestedAction`
|
|
- `targetSystem`
|
|
- `status`
|
|
|
|
### TranscriptionJob
|
|
|
|
- `transcriptionJobId`
|
|
- `eventId`
|
|
- `mediaType`
|
|
- `status`
|
|
- `transcriptRef`
|
|
- `consentState`
|
|
|
|
## 5. Admin Contracts
|
|
|
|
### AdminActionRequest
|
|
|
|
- `actionId`
|
|
- `actionType`
|
|
- `targetType`
|
|
- `targetId`
|
|
- `requestedBy`
|
|
- `payload`
|
|
|
|
### AdminActionResult
|
|
|
|
- `actionId`
|
|
- `status`
|
|
- `message`
|
|
- `artifacts`
|
|
|
|
## 6. Contract Rules
|
|
|
|
- all contracts must be backend-owned
|
|
- mobile and web surfaces consume, not redefine
|
|
- communication capture contracts must include consent and provider provenance
|