{
    "api": {
        "name": "PMS API Documentation v2.1",
        "version": "2.1.0",
        "description": "Property Management System API - Multi-Tenant Architecture with Auto Tenant Context (BelongsToTenant Trait)",
        "tenant_context": {
            "method": "Automatic via BelongsToTenant Trait",
            "middleware": "ResolveTenantContext (tenant_context)",
            "header": "X-Tenant-ID (required for tenant_required routes)",
            "how_it_works": [
                "1. Middleware sets current_tenant_id from X-Tenant-ID header",
                "2. BelongsToTenant trait automatically adds tenant_id on model creation",
                "3. Global scope filters all queries by tenant_id",
                "4. No manual tenant_id assignment needed in controllers"
            ]
        },
        "base_url": "https:\/\/test-api.novion.com.tr\/api",
        "framework": "Laravel 12.31.1",
        "authentication": "Laravel Sanctum (Bearer Token)"
    },
    "modules": {
        "authentication": "User registration, login, logout (tenant_required)",
        "tenants": "Tenant\/Site management (protected)",
        "blocks": "Building block management (auto tenant context \u2728)",
        "units": "Unit\/Flat management (auto tenant context \u2728)",
        "facilities": "Facility management (auto tenant context \u2728)",
        "residents": "Resident management (auto tenant context \u2728)",
        "reservations": "Reservation management (auto tenant context \u2728)",
        "rooms": "Room management (auto tenant context \u2728)",
        "task_categories": "Cleaning category management (system-wide, protected)",
        "roles": "Role management (protected)",
        "permissions": "Permission management (protected)",
        "users": "User management (protected)",
        "dashboard": "Dashboard statistics (tenant_required)",
        "settings": "User settings (protected)"
    },
    "models_with_trait": {
        "Block": "BelongsToTenant \u2705 (Auto tenant_id + Global Scope)",
        "Unit": "BelongsToTenant \u2705 (Auto tenant_id + Global Scope)",
        "Facility": "BelongsToTenant \u2705 (Auto tenant_id + Global Scope)",
        "Resident": "BelongsToTenant \u2705 (Auto tenant_id + Global Scope)",
        "Room": "BelongsToTenant \u2705 (Auto tenant_id + Global Scope)",
        "Reservation": "BelongsToTenant \u2705 (Auto tenant_id + Global Scope)"
    },
    "featured_endpoints": [
        "GET \/api\/staff\/timeline - Daily task timeline with recurrence support",
        "GET \/api\/cleaning-tasks\/{id}\/qr-logs - QR scan history",
        "POST \/api\/tenants\/{id}\/users - Add user to tenant",
        "GET \/api\/roles\/{id}\/permissions - Role permission management",
        "PUT \/api\/users\/{id}\/role - Assign role to user",
        "GET \/api\/dashboard\/statistics - Dashboard stats",
        "GET \/api\/cleaning-tasks\/performance - Staff performance reports"
    ],
    "total_endpoints": 95,
    "total_permissions": 44,
    "changelog": {
        "v2.2.0 (Latest - 2025-10-27)": [
            "\ud83d\udcf1 Added Staff Timeline endpoint with recurrence support",
            "\ud83d\udccb Added QR scan logs tracking (qr-logs endpoint)",
            "\ud83d\udc65 Enhanced Tenant management (add\/remove users)",
            "\ud83d\udd10 Complete Role-Permission management API",
            "\ud83d\udc64 User role assignment and permission viewing",
            "\ud83d\udcca Comprehensive API documentation updates",
            "\u2728 95 total endpoints now available"
        ],
        "v2.1.0": [
            "\u2728 Added BelongsToTenant trait for automatic tenant context",
            "\ud83e\uddf9 Removed manual tenant_id assignments from controllers",
            "\ud83d\udd0d Added global scope for automatic tenant filtering",
            "\ud83d\udee1\ufe0f Improved multi-tenant data isolation",
            "\ud83d\ude80 Cleaner controller code"
        ],
        "v2.0.0": [
            "Refactored without Properties module",
            "Direct tenant relationships"
        ]
    }
}