{
    "type": "object",
    "properties": {
        "user": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identifier for the created user"
                },
                "name": {
                    "type": "string",
                    "description": "User's full name"
                },
                "firstName": {
                    "type": "string",
                    "description": "User's first name"
                },
                "lastName": {
                    "type": "string",
                    "description": "User's last name"
                },
                "email": {
                    "type": "string",
                    "description": "User's email address"
                },
                "phone": {
                    "type": "string",
                    "description": "User's phone number"
                },
                "username": {
                    "type": "string",
                    "description": "User's username"
                },
                "companyId": {
                    "type": "string",
                    "description": "Company ID the user belongs to"
                },
                "locationIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Array of location IDs the user has access to"
                },
                "roles": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "role": {
                                "type": "string",
                                "enum": ["admin", "user", "readonly", "manager", "agent", "owner"],
                                "description": "User role"
                            },
                            "locationId": {
                                "type": "string",
                                "description": "Location ID for this role"
                            },
                            "type": {
                                "type": "string",
                                "enum": ["account", "location", "company"],
                                "description": "Role scope type"
                            }
                        }
                    },
                    "description": "User roles and permissions"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Specific permissions granted to the user"
                },
                "profile": {
                    "type": "object",
                    "properties": {
                        "avatar": {
                            "type": "string",
                            "description": "URL to user's avatar image"
                        },
                        "bio": {
                            "type": "string",
                            "description": "User's biography"
                        },
                        "timezone": {
                            "type": "string",
                            "description": "User's timezone"
                        },
                        "language": {
                            "type": "string",
                            "description": "User's preferred language"
                        },
                        "title": {
                            "type": "string",
                            "description": "User's job title"
                        },
                        "department": {
                            "type": "string",
                            "description": "User's department"
                        }
                    },
                    "description": "User profile information"
                },
                "status": {
                    "type": "string",
                    "enum": ["active", "inactive", "pending", "suspended", "invited"],
                    "description": "User account status"
                },
                "isEmailVerified": {
                    "type": "boolean",
                    "description": "Whether the user's email is verified"
                },
                "isPhoneVerified": {
                    "type": "boolean",
                    "description": "Whether the user's phone is verified"
                },
                "invitationSent": {
                    "type": "boolean",
                    "description": "Whether an invitation email was sent"
                },
                "temporaryPassword": {
                    "type": "string",
                    "description": "Temporary password for the user (if generated)"
                },
                "invitationToken": {
                    "type": "string",
                    "description": "Invitation token for account activation"
                },
                "invitationExpiresAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "When the invitation expires"
                },
                "createdBy": {
                    "type": "string",
                    "description": "User ID who created this user"
                },
                "createdAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "User creation timestamp"
                },
                "invitedAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "When the user was invited"
                }
            },
            "description": "Created user details"
        },
        "invitation": {
            "type": "object",
            "properties": {
                "sent": {
                    "type": "boolean",
                    "description": "Whether invitation was sent successfully"
                },
                "email": {
                    "type": "string",
                    "description": "Email address where invitation was sent"
                },
                "token": {
                    "type": "string",
                    "description": "Invitation token"
                },
                "expiresAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "When the invitation expires"
                },
                "activationUrl": {
                    "type": "string",
                    "description": "URL for account activation"
                }
            },
            "description": "Invitation details"
        },
        "success": {
            "type": "boolean",
            "description": "Whether the user was created successfully"
        },
        "message": {
            "type": "string",
            "description": "Success or error message"
        }
    },
    "version": 1
}
