Visual Facility Mapping
AI-powered floor plan extraction that converts photos of fire escape plans, napkin sketches, or existing layouts into functional table management configurations.
Overview
Visual Facility Mapping eliminates manual floor plan setup by:
- Auto-extracting layouts from images of existing floor plans
- Detecting table positions from photos of your dining room
- Converting sketches into digital floor plans
- Importing CAD files from architects or designers
Supported Input Formats
| Input Type | Format | Accuracy | Best For |
|---|---|---|---|
| Fire Escape Plan | Photo/PDF | 95%+ | Existing buildings |
| Architect CAD | DXF, DWG, PDF | 98%+ | New construction |
| Floor Photo | JPG, PNG | 85%+ | Quick setup |
| Hand Sketch | Photo of drawing | 80%+ | Planning changes |
| Existing POS Export | CSV, JSON | 100% | Competitor migration |
How It Works
┌─────────────────────────────────────────────────────────────────┐
│ VISUAL FACILITY MAPPING AI Floor Plan Setup │
├─────────────────────────────────────────────────────────────────┤
│ │
│ STEP 1: Upload Image │
│ ───────────────────── │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ [Drag & drop your floor plan image here] │ │
│ │ │ │
│ │ Or: [Take Photo] [Browse Files] [Import from CAD] │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ STEP 2: AI Analysis │
│ ─────────────────── │
│ [████████████████████████████████████████] 100% │
│ │
│ ✓ Detected: 24 tables, 3 sections, 2 exits, 1 bar area │
│ ✓ Extracted: Wall boundaries, doorways, windows │
│ ✓ Estimated: Total capacity 96 seats │
│ │
│ STEP 3: Review & Adjust │
│ ─────────────────────── │
│ [Preview Layout] [Edit Manually] [Confirm & Import] │
│ │
└─────────────────────────────────────────────────────────────────┘
AI Detection Capabilities
| Element | Detection | Notes |
|---|---|---|
| Tables | Shape, size, position | Round, square, rectangular |
| Seating Capacity | Per-table estimation | Based on size |
| Walls | Structural boundaries | Interior and exterior |
| Doorways | Entry/exit points | Main, service, emergency |
| Windows | Natural boundaries | Optional for seating |
| Bar Area | Counter, stools | Separate section |
| Kitchen | Service areas | Excluded from seating |
| Restrooms | Facility locations | Excluded from seating |
Workflow
API: Extract Floor Plan
POST /api/v1/vision/facility/extract
Content-Type: multipart/form-data
Authorization: Bearer {access_token}
file: <image_binary>
Response:
{
"job_id": "vfm_abc123",
"status": "processing",
"detected_type": "fire_escape_plan",
"confidence": 0.94,
"estimated_completion": "2026-01-24T20:15:00Z"
}
API: Get Extraction Results
GET /api/v1/vision/facility/extract/{job_id}
Authorization: Bearer {access_token}
Response:
{
"job_id": "vfm_abc123",
"status": "completed",
"floor_plan": {
"dimensions": {
"width_ft": 60,
"height_ft": 45
},
"tables": [
{
"id": "tbl_001",
"shape": "round",
"seats": 4,
"x": 0.15,
"y": 0.25,
"width": 0.08,
"height": 0.08,
"section": "main_dining",
"confidence": 0.96
},
{
"id": "tbl_002",
"shape": "rectangular",
"seats": 6,
"x": 0.35,
"y": 0.25,
"width": 0.12,
"height": 0.06,
"section": "main_dining",
"confidence": 0.94
}
],
"sections": [
{
"id": "sec_main",
"name": "Main Dining",
"tables": ["tbl_001", "tbl_002", "tbl_003"],
"capacity": 42
},
{
"id": "sec_patio",
"name": "Patio",
"tables": ["tbl_020", "tbl_021"],
"capacity": 16
}
],
"walls": [
{"start_x": 0, "start_y": 0, "end_x": 1, "end_y": 0},
{"start_x": 1, "start_y": 0, "end_x": 1, "end_y": 1}
],
"total_capacity": 96
},
"needs_review": ["tbl_015"],
"review_message": "Table 15 shape unclear - please confirm round or square"
}
Manager Guide: Setting Up Floor Plans
From Fire Escape Plan
- Locate your fire escape plan (usually posted near exits)
- Take a clear photo with your phone
- Go to Settings > Tables > Import Floor Plan
- Upload the photo
- Wait for AI analysis (typically 30-60 seconds)
- Review detected tables and sections
- Make any adjustments in the editor
- Click Save & Activate
From Architect Drawings
- Request DXF or PDF from your architect
- Go to Settings > Tables > Import Floor Plan
- Select CAD Import
- Upload the file
- AI extracts table positions and sections
- Review and adjust as needed
- Click Save & Activate
From a Photo of Your Restaurant
- During closed hours, take photos of each dining area
- Go to Settings > Tables > Import Floor Plan
- Upload photos for each section
- AI identifies table positions
- Manually confirm table sizes and capacities
- Click Save & Activate
Tips for Best Results
| Input Type | Best Practices |
|---|---|
| Fire Escape Plans | Ensure good lighting, capture full plan |
| Photos | Take from elevated position, clear walkways |
| Sketches | Use clear lines, label sections |
| CAD Files | Request furniture layer included |
Error Handling
| Issue | AI Response | User Action |
|---|---|---|
| Blurry image | Request re-upload | Take clearer photo |
| Partial plan | Request additional images | Upload remaining areas |
| Unclear tables | Mark for review | Confirm in editor |
| Missing sections | Detect and prompt | Add manually |
Related Documentation
- Data Ingestion API - Universal import engine
- Tables API - Table management
- Seating API - Seating configuration