{
    "schemes": [],
    "swagger": "2.0",
    "info": {
        "description": "Multitenant real estate platform API",
        "title": "CodeKriti Real Estate API",
        "contact": {},
        "version": "1.0"
    },
    "host": "",
    "basePath": "",
    "paths": {
        "/public/realestate/sites/{handle}": {
            "get": {
                "tags": [
                    "realestate-public"
                ],
                "summary": "Get published realestate website",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Website handle",
                        "name": "handle",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicWebsiteResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/public/realestate/sites/{handle}/leads": {
            "post": {
                "tags": [
                    "realestate-public"
                ],
                "summary": "Create public realestate lead",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Website handle",
                        "name": "handle",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Optional idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header"
                    },
                    {
                        "description": "Public lead request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.PublicLeadCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicLeadCreateResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/public/realestate/sites/{handle}/listings": {
            "get": {
                "tags": [
                    "realestate-public"
                ],
                "summary": "List published realestate listings",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Website handle",
                        "name": "handle",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.PublicListingSummary"
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/public/realestate/sites/{handle}/listings/{slug}": {
            "get": {
                "tags": [
                    "realestate-public"
                ],
                "summary": "Get published realestate listing detail",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Website handle",
                        "name": "handle",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Listing slug",
                        "name": "slug",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicListingDetail"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/public/realestate/sites/{handle}/reservations": {
            "post": {
                "tags": [
                    "realestate-public"
                ],
                "summary": "Create public realestate reservation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Website handle",
                        "name": "handle",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Required idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Public reservation request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.PublicReservationCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicReservationCreateResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/buildings": {
            "get": {
                "description": "Query cost budget: max 100.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "buildings"
                ],
                "summary": "List buildings",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the next page",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the previous page",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include total count",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "building_type",
                                "code",
                                "created_at",
                                "floor_count",
                                "id",
                                "name",
                                "project_id",
                                "status",
                                "tenant_id",
                                "unit_count",
                                "updated_at"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Select fields",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Simple filters. Repeat for AND. Format: field:operator:value. Operators: eq, ne, gt, gte, lt, lte, like, in, is_null, not_null. Example: filter=status:eq:ACTIVE\u0026filter=role.name:eq:ADMIN. Filterable fields: project_id, code, name, building_type, status",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Advanced filter expression. Example: (status='ACTIVE' OR status='PENDING') AND (role.name='ADMIN' OR role.name='MANAGER')",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include soft-deleted records",
                        "name": "include_deleted",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.BuildingListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "buildings"
                ],
                "summary": "Create building",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.BuildingCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/handlers.BuildingResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/buildings/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "buildings"
                ],
                "summary": "Get building",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.BuildingResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "buildings"
                ],
                "summary": "Update building",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.BuildingUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.BuildingResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "buildings"
                ],
                "summary": "Delete building",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "buildings"
                ],
                "summary": "Patch building",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.BuildingPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.BuildingResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/buyers": {
            "get": {
                "description": "Query cost budget: max 100.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "buyers"
                ],
                "summary": "List buyers",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the next page",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the previous page",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include total count",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "address",
                                "created_at",
                                "email",
                                "full_name",
                                "id",
                                "kyc_status",
                                "lead_id",
                                "normalized_email",
                                "normalized_phone",
                                "pan",
                                "phone",
                                "public_pending",
                                "status",
                                "tenant_id",
                                "updated_at"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Select fields",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Simple filters. Repeat for AND. Format: field:operator:value. Operators: eq, ne, gt, gte, lt, lte, like, in, is_null, not_null. Example: filter=status:eq:ACTIVE\u0026filter=role.name:eq:ADMIN. Filterable fields: full_name, normalized_email, kyc_status, status, email, phone, normalized_phone, pan, lead_id, public_pending",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Advanced filter expression. Example: (status='ACTIVE' OR status='PENDING') AND (role.name='ADMIN' OR role.name='MANAGER')",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include soft-deleted records",
                        "name": "include_deleted",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.BuyerListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "buyers"
                ],
                "summary": "Create buyer",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.BuyerCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/handlers.BuyerResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/buyers/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "buyers"
                ],
                "summary": "Get buyer",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.BuyerResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "buyers"
                ],
                "summary": "Update buyer",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.BuyerUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.BuyerResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "buyers"
                ],
                "summary": "Delete buyer",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "buyers"
                ],
                "summary": "Patch buyer",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.BuyerPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.BuyerResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/floors": {
            "get": {
                "description": "Query cost budget: max 100.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "floors"
                ],
                "summary": "List floors",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the next page",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the previous page",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include total count",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "building_id",
                                "code",
                                "created_at",
                                "id",
                                "level_no",
                                "name",
                                "project_id",
                                "status",
                                "tenant_id",
                                "unit_count",
                                "updated_at"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Select fields",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Simple filters. Repeat for AND. Format: field:operator:value. Operators: eq, ne, gt, gte, lt, lte, like, in, is_null, not_null. Example: filter=status:eq:ACTIVE\u0026filter=role.name:eq:ADMIN. Filterable fields: project_id, code, building_id, name, status",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Advanced filter expression. Example: (status='ACTIVE' OR status='PENDING') AND (role.name='ADMIN' OR role.name='MANAGER')",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include soft-deleted records",
                        "name": "include_deleted",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.FloorListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "floors"
                ],
                "summary": "Create floor",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.FloorCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/handlers.FloorResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/floors/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "floors"
                ],
                "summary": "Get floor",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.FloorResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "floors"
                ],
                "summary": "Update floor",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.FloorUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.FloorResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "floors"
                ],
                "summary": "Delete floor",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "floors"
                ],
                "summary": "Patch floor",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.FloorPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.FloorResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/leads": {
            "get": {
                "description": "Query cost budget: max 100.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "leads"
                ],
                "summary": "List leads",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the next page",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the previous page",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include total count",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "budget_cents",
                                "created_at",
                                "currency_code",
                                "email",
                                "id",
                                "intent",
                                "listing_id",
                                "name",
                                "notes",
                                "phone",
                                "project_id",
                                "source",
                                "status",
                                "tenant_id",
                                "updated_at",
                                "website_id"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Select fields",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Simple filters. Repeat for AND. Format: field:operator:value. Operators: eq, ne, gt, gte, lt, lte, like, in, is_null, not_null. Example: filter=status:eq:ACTIVE\u0026filter=role.name:eq:ADMIN. Filterable fields: website_id, listing_id, email, phone, project_id, intent, currency_code, status, name, source",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Advanced filter expression. Example: (status='ACTIVE' OR status='PENDING') AND (role.name='ADMIN' OR role.name='MANAGER')",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include soft-deleted records",
                        "name": "include_deleted",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.LeadListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "leads"
                ],
                "summary": "Create lead",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.LeadCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/handlers.LeadResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/leads/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "leads"
                ],
                "summary": "Get lead",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.LeadResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "leads"
                ],
                "summary": "Update lead",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.LeadUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.LeadResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "leads"
                ],
                "summary": "Delete lead",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "leads"
                ],
                "summary": "Patch lead",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.LeadPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.LeadResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/leads/{id}:convert": {
            "post": {
                "tags": [
                    "realestate-leads"
                ],
                "summary": "Convert realestate lead",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Lead ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Required idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Lead conversion request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.LeadConvertRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.LeadConvertResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/listings": {
            "get": {
                "description": "Query cost budget: max 100.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "listings"
                ],
                "summary": "List listings",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the next page",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the previous page",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include total count",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "created_at",
                                "currency_code",
                                "description",
                                "display_price_cents",
                                "id",
                                "is_featured",
                                "project_id",
                                "published_at",
                                "slug",
                                "status",
                                "summary",
                                "tenant_id",
                                "title",
                                "unit_id",
                                "updated_at",
                                "website_id"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Select fields",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Simple filters. Repeat for AND. Format: field:operator:value. Operators: eq, ne, gt, gte, lt, lte, like, in, is_null, not_null. Example: filter=status:eq:ACTIVE\u0026filter=role.name:eq:ADMIN. Filterable fields: title, status, website_id, project_id, currency_code, slug, summary, unit_id",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Advanced filter expression. Example: (status='ACTIVE' OR status='PENDING') AND (role.name='ADMIN' OR role.name='MANAGER')",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include soft-deleted records",
                        "name": "include_deleted",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.ListingListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "listings"
                ],
                "summary": "Create listing",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.ListingCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/handlers.ListingResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/listings/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "listings"
                ],
                "summary": "Get listing",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.ListingResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "listings"
                ],
                "summary": "Update listing",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.ListingUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.ListingResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "listings"
                ],
                "summary": "Delete listing",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "listings"
                ],
                "summary": "Patch listing",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.ListingPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.ListingResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/payment-milestones/{id}:cancel": {
            "post": {
                "tags": [
                    "realestate-payment-milestones"
                ],
                "summary": "Cancel realestate payment milestone",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Payment milestone ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Required idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payment milestone cancellation request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.PaymentMilestoneCancelRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.PaymentMilestoneActionResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/payment-milestones/{id}:mark-paid": {
            "post": {
                "tags": [
                    "realestate-payment-milestones"
                ],
                "summary": "Mark realestate payment milestone paid",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Payment milestone ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Required idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payment milestone mark-paid request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.PaymentMilestoneMarkPaidRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.PaymentMilestoneActionResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/payment-milestones/{id}:release": {
            "post": {
                "tags": [
                    "realestate-payment-milestones"
                ],
                "summary": "Release realestate payment milestone",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Payment milestone ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Required idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payment milestone release request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.PaymentMilestoneReleaseRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.PaymentMilestoneActionResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/paymentMilestones": {
            "get": {
                "description": "Query cost budget: max 100.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "payment_milestones"
                ],
                "summary": "List payment_milestones",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the next page",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the previous page",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include total count",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "amount_cents",
                                "created_at",
                                "due_date",
                                "id",
                                "milestone_type",
                                "name",
                                "paid_at",
                                "payment_plan_id",
                                "payment_reference_id",
                                "payment_status",
                                "release_status",
                                "released_at",
                                "sequence_no",
                                "tenant_id",
                                "updated_at"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Select fields",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Simple filters. Repeat for AND. Format: field:operator:value. Operators: eq, ne, gt, gte, lt, lte, like, in, is_null, not_null. Example: filter=status:eq:ACTIVE\u0026filter=role.name:eq:ADMIN. Filterable fields: name, payment_plan_id, milestone_type, payment_status, release_status",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Advanced filter expression. Example: (status='ACTIVE' OR status='PENDING') AND (role.name='ADMIN' OR role.name='MANAGER')",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include soft-deleted records",
                        "name": "include_deleted",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentMilestoneListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "payment_milestones"
                ],
                "summary": "Create payment_milestone",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentMilestoneCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentMilestoneResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/paymentMilestones/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "payment_milestones"
                ],
                "summary": "Get payment_milestone",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentMilestoneResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "payment_milestones"
                ],
                "summary": "Update payment_milestone",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentMilestoneUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentMilestoneResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "payment_milestones"
                ],
                "summary": "Delete payment_milestone",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "payment_milestones"
                ],
                "summary": "Patch payment_milestone",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentMilestonePatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentMilestoneResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/paymentPlans": {
            "get": {
                "description": "Query cost budget: max 100.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "payment_plans"
                ],
                "summary": "List payment_plans",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the next page",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the previous page",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include total count",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "booking_amount_cents",
                                "created_at",
                                "currency_code",
                                "id",
                                "name",
                                "plan_type",
                                "project_id",
                                "reservation_id",
                                "status",
                                "tenant_id",
                                "total_amount_cents",
                                "unit_id",
                                "updated_at"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Select fields",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Simple filters. Repeat for AND. Format: field:operator:value. Operators: eq, ne, gt, gte, lt, lte, like, in, is_null, not_null. Example: filter=status:eq:ACTIVE\u0026filter=role.name:eq:ADMIN. Filterable fields: status, unit_id, name, plan_type, project_id, currency_code, reservation_id",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Advanced filter expression. Example: (status='ACTIVE' OR status='PENDING') AND (role.name='ADMIN' OR role.name='MANAGER')",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include soft-deleted records",
                        "name": "include_deleted",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentPlanListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "payment_plans"
                ],
                "summary": "Create payment_plan",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentPlanCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentPlanResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/paymentPlans/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "payment_plans"
                ],
                "summary": "Get payment_plan",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentPlanResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "payment_plans"
                ],
                "summary": "Update payment_plan",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentPlanUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentPlanResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "payment_plans"
                ],
                "summary": "Delete payment_plan",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "payment_plans"
                ],
                "summary": "Patch payment_plan",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentPlanPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.PaymentPlanResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/projects": {
            "get": {
                "description": "Query cost budget: max 100.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "List projects",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the next page",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the previous page",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include total count",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "address_line1",
                                "city",
                                "code",
                                "country",
                                "created_at",
                                "developer_name",
                                "id",
                                "latitude",
                                "launch_date",
                                "locality",
                                "longitude",
                                "name",
                                "possession_date",
                                "project_type",
                                "rera_number",
                                "state",
                                "status",
                                "tenant_id",
                                "updated_at",
                                "website_id"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Select fields",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Simple filters. Repeat for AND. Format: field:operator:value. Operators: eq, ne, gt, gte, lt, lte, like, in, is_null, not_null. Example: filter=status:eq:ACTIVE\u0026filter=role.name:eq:ADMIN. Filterable fields: rera_number, developer_name, state, city, locality, country, website_id, code, name, project_type, address_line1, status",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Advanced filter expression. Example: (status='ACTIVE' OR status='PENDING') AND (role.name='ADMIN' OR role.name='MANAGER')",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include soft-deleted records",
                        "name": "include_deleted",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.ProjectListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "Create project",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.ProjectCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/handlers.ProjectResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/projects/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "Get project",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.ProjectResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "Update project",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.ProjectUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.ProjectResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "Delete project",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "projects"
                ],
                "summary": "Patch project",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.ProjectPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.ProjectResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/propertyMedias": {
            "get": {
                "description": "Query cost budget: max 100.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "property_media"
                ],
                "summary": "List property_media",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the next page",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the previous page",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include total count",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "alt_text",
                                "created_at",
                                "id",
                                "is_primary",
                                "media_type",
                                "owner_id",
                                "owner_type",
                                "sort_order",
                                "status",
                                "tenant_id",
                                "updated_at",
                                "url"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Select fields",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Simple filters. Repeat for AND. Format: field:operator:value. Operators: eq, ne, gt, gte, lt, lte, like, in, is_null, not_null. Example: filter=status:eq:ACTIVE\u0026filter=role.name:eq:ADMIN. Filterable fields: owner_type, owner_id, media_type, alt_text, status",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Advanced filter expression. Example: (status='ACTIVE' OR status='PENDING') AND (role.name='ADMIN' OR role.name='MANAGER')",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include soft-deleted records",
                        "name": "include_deleted",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.PropertyMediaListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "property_media"
                ],
                "summary": "Create property_media",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.PropertyMediaCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/handlers.PropertyMediaResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/propertyMedias/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "property_media"
                ],
                "summary": "Get property_media",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.PropertyMediaResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "property_media"
                ],
                "summary": "Update property_media",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.PropertyMediaUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.PropertyMediaResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "property_media"
                ],
                "summary": "Delete property_media",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "property_media"
                ],
                "summary": "Patch property_media",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.PropertyMediaPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.PropertyMediaResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/reservations": {
            "get": {
                "description": "Query cost budget: max 100.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reservations"
                ],
                "summary": "List reservations",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the next page",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the previous page",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include total count",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "buyer_id",
                                "created_at",
                                "currency_code",
                                "expires_at",
                                "id",
                                "payment_status",
                                "project_id",
                                "reference_number",
                                "reservation_amount_cents",
                                "reserved_at",
                                "status",
                                "tenant_id",
                                "unit_id",
                                "updated_at"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Select fields",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Simple filters. Repeat for AND. Format: field:operator:value. Operators: eq, ne, gt, gte, lt, lte, like, in, is_null, not_null. Example: filter=status:eq:ACTIVE\u0026filter=role.name:eq:ADMIN. Filterable fields: project_id, reference_number, currency_code, unit_id, buyer_id, payment_status, status",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Advanced filter expression. Example: (status='ACTIVE' OR status='PENDING') AND (role.name='ADMIN' OR role.name='MANAGER')",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include soft-deleted records",
                        "name": "include_deleted",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.ReservationListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reservations"
                ],
                "summary": "Create reservation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.ReservationCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/handlers.ReservationResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/reservations/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reservations"
                ],
                "summary": "Get reservation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.ReservationResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reservations"
                ],
                "summary": "Update reservation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.ReservationUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.ReservationResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reservations"
                ],
                "summary": "Delete reservation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reservations"
                ],
                "summary": "Patch reservation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.ReservationPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.ReservationResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/reservations/{id}:activate": {
            "post": {
                "tags": [
                    "realestate-reservations"
                ],
                "summary": "Activate realestate reservation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Reservation ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Required idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Reservation activation request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ReservationActivateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.ReservationActionResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/reservations/{id}:cancel": {
            "post": {
                "tags": [
                    "realestate-reservations"
                ],
                "summary": "Cancel realestate reservation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Reservation ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Required idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Reservation cancellation request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ReservationCancelRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.ReservationActionResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/reservations/{id}:convert": {
            "post": {
                "tags": [
                    "realestate-reservations"
                ],
                "summary": "Convert realestate reservation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Reservation ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Required idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Reservation conversion request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ReservationConvertRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.ReservationActionResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/reservations/{id}:expire": {
            "post": {
                "tags": [
                    "realestate-reservations"
                ],
                "summary": "Expire realestate reservation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Reservation ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Required idempotency key",
                        "name": "Idempotency-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Reservation expiration request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ReservationExpireRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.ReservationActionResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/dto.PublicErrorResponse"
                        }
                    }
                }
            }
        },
        "/v1/units": {
            "get": {
                "description": "Query cost budget: max 100.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "units"
                ],
                "summary": "List units",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the next page",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the previous page",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include total count",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "base_price_cents",
                                "bhk_type",
                                "building_id",
                                "builtup_area_sqft",
                                "carpet_area_sqft",
                                "created_at",
                                "currency_code",
                                "facing",
                                "floor_id",
                                "id",
                                "project_id",
                                "reservation_amount_cents",
                                "status",
                                "super_builtup_area_sqft",
                                "tenant_id",
                                "unit_no",
                                "unit_type",
                                "updated_at"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Select fields",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Simple filters. Repeat for AND. Format: field:operator:value. Operators: eq, ne, gt, gte, lt, lte, like, in, is_null, not_null. Example: filter=status:eq:ACTIVE\u0026filter=role.name:eq:ADMIN. Filterable fields: unit_type, status, floor_id, unit_no, facing, building_id, bhk_type, currency_code, project_id",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Advanced filter expression. Example: (status='ACTIVE' OR status='PENDING') AND (role.name='ADMIN' OR role.name='MANAGER')",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include soft-deleted records",
                        "name": "include_deleted",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.UnitListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "units"
                ],
                "summary": "Create unit",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.UnitCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/handlers.UnitResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/units/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "units"
                ],
                "summary": "Get unit",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.UnitResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "units"
                ],
                "summary": "Update unit",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.UnitUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.UnitResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "units"
                ],
                "summary": "Delete unit",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "units"
                ],
                "summary": "Patch unit",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.UnitPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.UnitResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/websites": {
            "get": {
                "description": "Query cost budget: max 100.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "websites"
                ],
                "summary": "List websites",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Offset",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the next page",
                        "name": "after",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Opaque cursor for the previous page",
                        "name": "before",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include total count",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "enum": [
                                "contact_email",
                                "contact_phone",
                                "created_at",
                                "domain",
                                "handle",
                                "id",
                                "name",
                                "primary_color",
                                "published_at",
                                "seo_description",
                                "status",
                                "tenant_id",
                                "theme",
                                "updated_at"
                            ],
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Select fields",
                        "name": "fields",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi",
                        "description": "Simple filters. Repeat for AND. Format: field:operator:value. Operators: eq, ne, gt, gte, lt, lte, like, in, is_null, not_null. Example: filter=status:eq:ACTIVE\u0026filter=role.name:eq:ADMIN. Filterable fields: handle, status, name, domain, contact_email, contact_phone, theme",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Advanced filter expression. Example: (status='ACTIVE' OR status='PENDING') AND (role.name='ADMIN' OR role.name='MANAGER')",
                        "name": "q",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include soft-deleted records",
                        "name": "include_deleted",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.WebsiteListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "websites"
                ],
                "summary": "Create website",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.WebsiteCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/handlers.WebsiteResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        },
        "/v1/websites/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "websites"
                ],
                "summary": "Get website",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.WebsiteResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "websites"
                ],
                "summary": "Update website",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.WebsiteUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.WebsiteResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "websites"
                ],
                "summary": "Delete website",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "websites"
                ],
                "summary": "Patch website",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Tenant ID",
                        "name": "X-TENANT-ID",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.WebsitePatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/handlers.WebsiteResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/handlers.ErrorBody"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "dto.BuyerResponse": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "full_name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "kyc_status": {
                    "type": "string"
                },
                "lead_id": {
                    "type": "string"
                },
                "normalized_email": {
                    "type": "string"
                },
                "normalized_phone": {
                    "type": "string"
                },
                "pan": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "public_pending": {
                    "type": "boolean"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.BuyerUpsertInput": {
            "type": "object",
            "required": [
                "full_name"
            ],
            "properties": {
                "address": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "full_name": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                }
            }
        },
        "dto.LeadConvertRequest": {
            "type": "object",
            "required": [
                "conversion_reference"
            ],
            "properties": {
                "buyer": {
                    "$ref": "#/definitions/dto.BuyerUpsertInput"
                },
                "buyer_id": {
                    "type": "string"
                },
                "conversion_reference": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                }
            }
        },
        "dto.LeadConvertResponse": {
            "type": "object",
            "properties": {
                "buyer": {
                    "$ref": "#/definitions/dto.BuyerResponse"
                },
                "idempotent_replay": {
                    "type": "boolean"
                },
                "lead": {
                    "$ref": "#/definitions/dto.LeadResponse"
                }
            }
        },
        "dto.LeadResponse": {
            "type": "object",
            "properties": {
                "budget_cents": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "intent": {
                    "type": "string"
                },
                "listing_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "dto.PaymentMilestoneActionResponse": {
            "type": "object",
            "properties": {
                "idempotent_replay": {
                    "type": "boolean"
                },
                "milestone": {
                    "$ref": "#/definitions/dto.PaymentMilestoneResponse"
                }
            }
        },
        "dto.PaymentMilestoneCancelRequest": {
            "type": "object",
            "required": [
                "reason"
            ],
            "properties": {
                "cancelled_at": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "dto.PaymentMilestoneMarkPaidRequest": {
            "type": "object",
            "required": [
                "currency_code",
                "paid_amount_cents",
                "payment_reference_id"
            ],
            "properties": {
                "currency_code": {
                    "type": "string"
                },
                "paid_amount_cents": {
                    "type": "integer"
                },
                "paid_at": {
                    "type": "string"
                },
                "payment_reference_id": {
                    "type": "string"
                }
            }
        },
        "dto.PaymentMilestoneReleaseRequest": {
            "type": "object",
            "required": [
                "reason"
            ],
            "properties": {
                "reason": {
                    "type": "string"
                },
                "released_at": {
                    "type": "string"
                }
            }
        },
        "dto.PaymentMilestoneResponse": {
            "type": "object",
            "properties": {
                "amount_cents": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "due_date": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "milestone_type": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "paid_at": {
                    "type": "string"
                },
                "payment_plan_id": {
                    "type": "string"
                },
                "payment_reference_id": {
                    "type": "string"
                },
                "payment_status": {
                    "type": "string"
                },
                "release_status": {
                    "type": "string"
                },
                "released_at": {
                    "type": "string"
                },
                "sequence_no": {
                    "type": "integer"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.PublicErrorResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "details": {},
                "message": {
                    "type": "string"
                },
                "request_id": {
                    "type": "string"
                }
            }
        },
        "dto.PublicLeadCaptureConfig": {
            "type": "object",
            "properties": {
                "allowed_intents": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "enabled": {
                    "type": "boolean"
                },
                "required_fields": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "dto.PublicLeadCreateRequest": {
            "type": "object",
            "required": [
                "name",
                "phone"
            ],
            "properties": {
                "budget_cents": {
                    "type": "integer"
                },
                "currency_code": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "intent": {
                    "type": "string"
                },
                "listing_id": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                }
            }
        },
        "dto.PublicLeadCreateResponse": {
            "type": "object",
            "properties": {
                "idempotent_replay": {
                    "type": "boolean"
                },
                "lead_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "dto.PublicListingDetail": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "lead_capture": {
                    "$ref": "#/definitions/dto.PublicLeadCaptureConfig"
                },
                "listing": {
                    "$ref": "#/definitions/dto.PublicListingSummary"
                },
                "media": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.PublicMedia"
                    }
                },
                "project_location": {
                    "type": "string"
                }
            }
        },
        "dto.PublicListingSummary": {
            "type": "object",
            "properties": {
                "bhk_type": {
                    "type": "string"
                },
                "carpet_area_sqft": {
                    "type": "integer"
                },
                "currency_code": {
                    "type": "string"
                },
                "display_price_cents": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "is_featured": {
                    "type": "boolean"
                },
                "media": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.PublicMedia"
                    }
                },
                "project_id": {
                    "type": "string"
                },
                "project_name": {
                    "type": "string"
                },
                "slug": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "unit_no": {
                    "type": "string"
                },
                "unit_type": {
                    "type": "string"
                }
            }
        },
        "dto.PublicMedia": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "media_type": {
                    "type": "string"
                },
                "sort_order": {
                    "type": "integer"
                },
                "title": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "dto.PublicReservationBuyerInput": {
            "type": "object",
            "required": [
                "full_name",
                "phone"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "full_name": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                }
            }
        },
        "dto.PublicReservationCreateRequest": {
            "type": "object",
            "required": [
                "buyer",
                "listing_id"
            ],
            "properties": {
                "buyer": {
                    "$ref": "#/definitions/dto.PublicReservationBuyerInput"
                },
                "listing_id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                }
            }
        },
        "dto.PublicReservationCreateResponse": {
            "type": "object",
            "properties": {
                "idempotent_replay": {
                    "type": "boolean"
                },
                "reservation_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "dto.PublicWebsiteResponse": {
            "type": "object",
            "properties": {
                "contact_email": {
                    "type": "string"
                },
                "contact_phone": {
                    "type": "string"
                },
                "domain": {
                    "type": "string"
                },
                "handle": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "primary_color": {
                    "type": "string"
                },
                "published_at": {
                    "type": "string"
                },
                "seo_description": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "theme": {
                    "type": "string"
                }
            }
        },
        "dto.ReservationActionResponse": {
            "type": "object",
            "properties": {
                "idempotent_replay": {
                    "type": "boolean"
                },
                "reservation": {
                    "$ref": "#/definitions/dto.ReservationResponse"
                }
            }
        },
        "dto.ReservationActivateRequest": {
            "type": "object"
        },
        "dto.ReservationCancelRequest": {
            "type": "object",
            "properties": {
                "reason": {
                    "type": "string"
                },
                "release_unit": {
                    "type": "boolean"
                }
            }
        },
        "dto.ReservationConvertRequest": {
            "type": "object",
            "properties": {
                "conversion_reference": {
                    "type": "string"
                }
            }
        },
        "dto.ReservationExpireRequest": {
            "type": "object",
            "properties": {
                "reason": {
                    "type": "string"
                },
                "release_unit": {
                    "type": "boolean"
                }
            }
        },
        "dto.ReservationResponse": {
            "type": "object",
            "properties": {
                "buyer_id": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "expires_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "payment_status": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reference_number": {
                    "type": "string"
                },
                "reservation_amount_cents": {
                    "type": "integer"
                },
                "reserved_at": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "handlers.BuildingCreateRequest": {
            "type": "object",
            "required": [
                "code",
                "name",
                "project_id"
            ],
            "properties": {
                "building_type": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "floor_count": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "unit_count": {
                    "type": "integer"
                }
            }
        },
        "handlers.BuildingListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlers.BuildingResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "handlers.BuildingPatchRequest": {
            "type": "object",
            "properties": {
                "building_type": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "floor_count": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "unit_count": {
                    "type": "integer"
                }
            }
        },
        "handlers.BuildingResponse": {
            "type": "object",
            "properties": {
                "building_type": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "floor_count": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "unit_count": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "handlers.BuildingUpdateRequest": {
            "type": "object",
            "properties": {
                "building_type": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "floor_count": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "unit_count": {
                    "type": "integer"
                }
            }
        },
        "handlers.BuyerCreateRequest": {
            "type": "object",
            "required": [
                "full_name",
                "phone"
            ],
            "properties": {
                "address": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "full_name": {
                    "type": "string"
                },
                "kyc_status": {
                    "type": "string"
                },
                "lead_id": {
                    "type": "string"
                },
                "pan": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "handlers.BuyerListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlers.BuyerResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "handlers.BuyerPatchRequest": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "full_name": {
                    "type": "string"
                },
                "kyc_status": {
                    "type": "string"
                },
                "lead_id": {
                    "type": "string"
                },
                "pan": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "handlers.BuyerResponse": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "full_name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "kyc_status": {
                    "type": "string"
                },
                "lead_id": {
                    "type": "string"
                },
                "normalized_email": {
                    "type": "string"
                },
                "normalized_phone": {
                    "type": "string"
                },
                "pan": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "public_pending": {
                    "type": "boolean"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "handlers.BuyerUpdateRequest": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "full_name": {
                    "type": "string"
                },
                "kyc_status": {
                    "type": "string"
                },
                "lead_id": {
                    "type": "string"
                },
                "pan": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "handlers.ErrorBody": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "details": {},
                "message": {
                    "type": "string"
                },
                "request_id": {
                    "type": "string"
                }
            }
        },
        "handlers.FloorCreateRequest": {
            "type": "object",
            "required": [
                "building_id",
                "code",
                "name",
                "project_id"
            ],
            "properties": {
                "building_id": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "level_no": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "unit_count": {
                    "type": "integer"
                }
            }
        },
        "handlers.FloorListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlers.FloorResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "handlers.FloorPatchRequest": {
            "type": "object",
            "properties": {
                "building_id": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "level_no": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "unit_count": {
                    "type": "integer"
                }
            }
        },
        "handlers.FloorResponse": {
            "type": "object",
            "properties": {
                "building_id": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "level_no": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "unit_count": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "handlers.FloorUpdateRequest": {
            "type": "object",
            "properties": {
                "building_id": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "level_no": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "unit_count": {
                    "type": "integer"
                }
            }
        },
        "handlers.LeadCreateRequest": {
            "type": "object",
            "required": [
                "name",
                "phone"
            ],
            "properties": {
                "budget_cents": {
                    "type": "integer"
                },
                "currency_code": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "intent": {
                    "type": "string"
                },
                "listing_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "handlers.LeadListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlers.LeadResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "handlers.LeadPatchRequest": {
            "type": "object",
            "properties": {
                "budget_cents": {
                    "type": "integer"
                },
                "currency_code": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "intent": {
                    "type": "string"
                },
                "listing_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "handlers.LeadResponse": {
            "type": "object",
            "properties": {
                "budget_cents": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "intent": {
                    "type": "string"
                },
                "listing_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "handlers.LeadUpdateRequest": {
            "type": "object",
            "properties": {
                "budget_cents": {
                    "type": "integer"
                },
                "currency_code": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "intent": {
                    "type": "string"
                },
                "listing_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "handlers.ListingCreateRequest": {
            "type": "object",
            "required": [
                "project_id",
                "slug",
                "title",
                "unit_id",
                "website_id"
            ],
            "properties": {
                "currency_code": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "display_price_cents": {
                    "type": "integer"
                },
                "is_featured": {
                    "type": "boolean"
                },
                "project_id": {
                    "type": "string"
                },
                "published_at": {
                    "type": "string"
                },
                "slug": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "handlers.ListingListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlers.ListingResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "handlers.ListingPatchRequest": {
            "type": "object",
            "properties": {
                "currency_code": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "display_price_cents": {
                    "type": "integer"
                },
                "is_featured": {
                    "type": "boolean"
                },
                "project_id": {
                    "type": "string"
                },
                "published_at": {
                    "type": "string"
                },
                "slug": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "handlers.ListingResponse": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "display_price_cents": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "is_featured": {
                    "type": "boolean"
                },
                "project_id": {
                    "type": "string"
                },
                "published_at": {
                    "type": "string"
                },
                "slug": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "handlers.ListingUpdateRequest": {
            "type": "object",
            "properties": {
                "currency_code": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "display_price_cents": {
                    "type": "integer"
                },
                "is_featured": {
                    "type": "boolean"
                },
                "project_id": {
                    "type": "string"
                },
                "published_at": {
                    "type": "string"
                },
                "slug": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "summary": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "handlers.PaymentMilestoneCreateRequest": {
            "type": "object",
            "required": [
                "name",
                "payment_plan_id"
            ],
            "properties": {
                "amount_cents": {
                    "type": "integer"
                },
                "due_date": {
                    "type": "string"
                },
                "milestone_type": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "payment_plan_id": {
                    "type": "string"
                },
                "payment_status": {
                    "type": "string"
                },
                "release_status": {
                    "type": "string"
                },
                "released_at": {
                    "type": "string"
                },
                "sequence_no": {
                    "type": "integer"
                }
            }
        },
        "handlers.PaymentMilestoneListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlers.PaymentMilestoneResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "handlers.PaymentMilestonePatchRequest": {
            "type": "object",
            "properties": {
                "amount_cents": {
                    "type": "integer"
                },
                "due_date": {
                    "type": "string"
                },
                "milestone_type": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "payment_plan_id": {
                    "type": "string"
                },
                "payment_status": {
                    "type": "string"
                },
                "release_status": {
                    "type": "string"
                },
                "released_at": {
                    "type": "string"
                },
                "sequence_no": {
                    "type": "integer"
                }
            }
        },
        "handlers.PaymentMilestoneResponse": {
            "type": "object",
            "properties": {
                "amount_cents": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "due_date": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "milestone_type": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "paid_at": {
                    "type": "string"
                },
                "payment_plan_id": {
                    "type": "string"
                },
                "payment_reference_id": {
                    "type": "string"
                },
                "payment_status": {
                    "type": "string"
                },
                "release_status": {
                    "type": "string"
                },
                "released_at": {
                    "type": "string"
                },
                "sequence_no": {
                    "type": "integer"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "handlers.PaymentMilestoneUpdateRequest": {
            "type": "object",
            "properties": {
                "amount_cents": {
                    "type": "integer"
                },
                "due_date": {
                    "type": "string"
                },
                "milestone_type": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "payment_plan_id": {
                    "type": "string"
                },
                "payment_status": {
                    "type": "string"
                },
                "release_status": {
                    "type": "string"
                },
                "released_at": {
                    "type": "string"
                },
                "sequence_no": {
                    "type": "integer"
                }
            }
        },
        "handlers.PaymentPlanCreateRequest": {
            "type": "object",
            "required": [
                "name",
                "project_id"
            ],
            "properties": {
                "booking_amount_cents": {
                    "type": "integer"
                },
                "currency_code": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "plan_type": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reservation_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "total_amount_cents": {
                    "type": "integer"
                },
                "unit_id": {
                    "type": "string"
                }
            }
        },
        "handlers.PaymentPlanListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlers.PaymentPlanResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "handlers.PaymentPlanPatchRequest": {
            "type": "object",
            "properties": {
                "booking_amount_cents": {
                    "type": "integer"
                },
                "currency_code": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "plan_type": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reservation_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "total_amount_cents": {
                    "type": "integer"
                },
                "unit_id": {
                    "type": "string"
                }
            }
        },
        "handlers.PaymentPlanResponse": {
            "type": "object",
            "properties": {
                "booking_amount_cents": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "plan_type": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reservation_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "total_amount_cents": {
                    "type": "integer"
                },
                "unit_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "handlers.PaymentPlanUpdateRequest": {
            "type": "object",
            "properties": {
                "booking_amount_cents": {
                    "type": "integer"
                },
                "currency_code": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "plan_type": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reservation_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "total_amount_cents": {
                    "type": "integer"
                },
                "unit_id": {
                    "type": "string"
                }
            }
        },
        "handlers.ProjectCreateRequest": {
            "type": "object",
            "required": [
                "code",
                "name"
            ],
            "properties": {
                "address_line1": {
                    "type": "string"
                },
                "city": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                },
                "developer_name": {
                    "type": "string"
                },
                "latitude": {
                    "type": "string"
                },
                "launch_date": {
                    "type": "string"
                },
                "locality": {
                    "type": "string"
                },
                "longitude": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "possession_date": {
                    "type": "string"
                },
                "project_type": {
                    "type": "string"
                },
                "rera_number": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "handlers.ProjectListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlers.ProjectResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "handlers.ProjectPatchRequest": {
            "type": "object",
            "properties": {
                "address_line1": {
                    "type": "string"
                },
                "city": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                },
                "developer_name": {
                    "type": "string"
                },
                "latitude": {
                    "type": "string"
                },
                "launch_date": {
                    "type": "string"
                },
                "locality": {
                    "type": "string"
                },
                "longitude": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "possession_date": {
                    "type": "string"
                },
                "project_type": {
                    "type": "string"
                },
                "rera_number": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "handlers.ProjectResponse": {
            "type": "object",
            "properties": {
                "address_line1": {
                    "type": "string"
                },
                "city": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "developer_name": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "latitude": {
                    "type": "string"
                },
                "launch_date": {
                    "type": "string"
                },
                "locality": {
                    "type": "string"
                },
                "longitude": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "possession_date": {
                    "type": "string"
                },
                "project_type": {
                    "type": "string"
                },
                "rera_number": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "handlers.ProjectUpdateRequest": {
            "type": "object",
            "properties": {
                "address_line1": {
                    "type": "string"
                },
                "city": {
                    "type": "string"
                },
                "code": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                },
                "developer_name": {
                    "type": "string"
                },
                "latitude": {
                    "type": "string"
                },
                "launch_date": {
                    "type": "string"
                },
                "locality": {
                    "type": "string"
                },
                "longitude": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "possession_date": {
                    "type": "string"
                },
                "project_type": {
                    "type": "string"
                },
                "rera_number": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "website_id": {
                    "type": "string"
                }
            }
        },
        "handlers.PropertyMediaCreateRequest": {
            "type": "object",
            "required": [
                "media_type",
                "owner_id",
                "owner_type",
                "url"
            ],
            "properties": {
                "alt_text": {
                    "type": "string"
                },
                "is_primary": {
                    "type": "boolean"
                },
                "media_type": {
                    "type": "string"
                },
                "owner_id": {
                    "type": "string"
                },
                "owner_type": {
                    "type": "string"
                },
                "sort_order": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "handlers.PropertyMediaListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlers.PropertyMediaResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "handlers.PropertyMediaPatchRequest": {
            "type": "object",
            "properties": {
                "alt_text": {
                    "type": "string"
                },
                "is_primary": {
                    "type": "boolean"
                },
                "media_type": {
                    "type": "string"
                },
                "owner_id": {
                    "type": "string"
                },
                "owner_type": {
                    "type": "string"
                },
                "sort_order": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "handlers.PropertyMediaResponse": {
            "type": "object",
            "properties": {
                "alt_text": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "is_primary": {
                    "type": "boolean"
                },
                "media_type": {
                    "type": "string"
                },
                "owner_id": {
                    "type": "string"
                },
                "owner_type": {
                    "type": "string"
                },
                "sort_order": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "handlers.PropertyMediaUpdateRequest": {
            "type": "object",
            "properties": {
                "alt_text": {
                    "type": "string"
                },
                "is_primary": {
                    "type": "boolean"
                },
                "media_type": {
                    "type": "string"
                },
                "owner_id": {
                    "type": "string"
                },
                "owner_type": {
                    "type": "string"
                },
                "sort_order": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "handlers.ReservationCreateRequest": {
            "type": "object",
            "required": [
                "buyer_id",
                "project_id",
                "reference_number",
                "unit_id"
            ],
            "properties": {
                "buyer_id": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "expires_at": {
                    "type": "string"
                },
                "payment_status": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reference_number": {
                    "type": "string"
                },
                "reservation_amount_cents": {
                    "type": "integer"
                },
                "reserved_at": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                }
            }
        },
        "handlers.ReservationListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlers.ReservationResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "handlers.ReservationPatchRequest": {
            "type": "object",
            "properties": {
                "buyer_id": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "expires_at": {
                    "type": "string"
                },
                "payment_status": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reference_number": {
                    "type": "string"
                },
                "reservation_amount_cents": {
                    "type": "integer"
                },
                "reserved_at": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                }
            }
        },
        "handlers.ReservationResponse": {
            "type": "object",
            "properties": {
                "buyer_id": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "expires_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "payment_status": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reference_number": {
                    "type": "string"
                },
                "reservation_amount_cents": {
                    "type": "integer"
                },
                "reserved_at": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "handlers.ReservationUpdateRequest": {
            "type": "object",
            "properties": {
                "buyer_id": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "expires_at": {
                    "type": "string"
                },
                "payment_status": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reference_number": {
                    "type": "string"
                },
                "reservation_amount_cents": {
                    "type": "integer"
                },
                "reserved_at": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "unit_id": {
                    "type": "string"
                }
            }
        },
        "handlers.UnitCreateRequest": {
            "type": "object",
            "required": [
                "building_id",
                "floor_id",
                "project_id",
                "unit_no"
            ],
            "properties": {
                "base_price_cents": {
                    "type": "integer"
                },
                "bhk_type": {
                    "type": "string"
                },
                "building_id": {
                    "type": "string"
                },
                "builtup_area_sqft": {
                    "type": "integer"
                },
                "carpet_area_sqft": {
                    "type": "integer"
                },
                "currency_code": {
                    "type": "string"
                },
                "facing": {
                    "type": "string"
                },
                "floor_id": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reservation_amount_cents": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "super_builtup_area_sqft": {
                    "type": "integer"
                },
                "unit_no": {
                    "type": "string"
                },
                "unit_type": {
                    "type": "string"
                }
            }
        },
        "handlers.UnitListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlers.UnitResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "handlers.UnitPatchRequest": {
            "type": "object",
            "properties": {
                "base_price_cents": {
                    "type": "integer"
                },
                "bhk_type": {
                    "type": "string"
                },
                "building_id": {
                    "type": "string"
                },
                "builtup_area_sqft": {
                    "type": "integer"
                },
                "carpet_area_sqft": {
                    "type": "integer"
                },
                "currency_code": {
                    "type": "string"
                },
                "facing": {
                    "type": "string"
                },
                "floor_id": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reservation_amount_cents": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "super_builtup_area_sqft": {
                    "type": "integer"
                },
                "unit_no": {
                    "type": "string"
                },
                "unit_type": {
                    "type": "string"
                }
            }
        },
        "handlers.UnitResponse": {
            "type": "object",
            "properties": {
                "base_price_cents": {
                    "type": "integer"
                },
                "bhk_type": {
                    "type": "string"
                },
                "building_id": {
                    "type": "string"
                },
                "builtup_area_sqft": {
                    "type": "integer"
                },
                "carpet_area_sqft": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "facing": {
                    "type": "string"
                },
                "floor_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reservation_amount_cents": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "super_builtup_area_sqft": {
                    "type": "integer"
                },
                "tenant_id": {
                    "type": "string"
                },
                "unit_no": {
                    "type": "string"
                },
                "unit_type": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "handlers.UnitUpdateRequest": {
            "type": "object",
            "properties": {
                "base_price_cents": {
                    "type": "integer"
                },
                "bhk_type": {
                    "type": "string"
                },
                "building_id": {
                    "type": "string"
                },
                "builtup_area_sqft": {
                    "type": "integer"
                },
                "carpet_area_sqft": {
                    "type": "integer"
                },
                "currency_code": {
                    "type": "string"
                },
                "facing": {
                    "type": "string"
                },
                "floor_id": {
                    "type": "string"
                },
                "project_id": {
                    "type": "string"
                },
                "reservation_amount_cents": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "super_builtup_area_sqft": {
                    "type": "integer"
                },
                "unit_no": {
                    "type": "string"
                },
                "unit_type": {
                    "type": "string"
                }
            }
        },
        "handlers.WebsiteCreateRequest": {
            "type": "object",
            "required": [
                "handle",
                "name"
            ],
            "properties": {
                "contact_email": {
                    "type": "string"
                },
                "contact_phone": {
                    "type": "string"
                },
                "domain": {
                    "type": "string"
                },
                "handle": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "primary_color": {
                    "type": "string"
                },
                "published_at": {
                    "type": "string"
                },
                "seo_description": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "theme": {
                    "type": "string"
                }
            }
        },
        "handlers.WebsiteListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/handlers.WebsiteResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "handlers.WebsitePatchRequest": {
            "type": "object",
            "properties": {
                "contact_email": {
                    "type": "string"
                },
                "contact_phone": {
                    "type": "string"
                },
                "domain": {
                    "type": "string"
                },
                "handle": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "primary_color": {
                    "type": "string"
                },
                "published_at": {
                    "type": "string"
                },
                "seo_description": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "theme": {
                    "type": "string"
                }
            }
        },
        "handlers.WebsiteResponse": {
            "type": "object",
            "properties": {
                "contact_email": {
                    "type": "string"
                },
                "contact_phone": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "domain": {
                    "type": "string"
                },
                "handle": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "primary_color": {
                    "type": "string"
                },
                "published_at": {
                    "type": "string"
                },
                "seo_description": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "theme": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "handlers.WebsiteUpdateRequest": {
            "type": "object",
            "properties": {
                "contact_email": {
                    "type": "string"
                },
                "contact_phone": {
                    "type": "string"
                },
                "domain": {
                    "type": "string"
                },
                "handle": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "primary_color": {
                    "type": "string"
                },
                "published_at": {
                    "type": "string"
                },
                "seo_description": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "theme": {
                    "type": "string"
                }
            }
        }
    },
    "securityDefinitions": {
        "BearerAuth": {
            "description": "Bearer token",
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}