{
    "openapi": "3.0.3",
    "info": {
        "title": "Real Estate Mobile API",
        "version": "1.0.0",
        "description": "API \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430, \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u043a\u0432\u0430\u0440\u0442\u0438\u0440, \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0435 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0438\u0437 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f."
    },
    "paths": {
        "/api/v1/residential-complexes/{residentialComplex}/apartments": {
            "get": {
                "tags": [
                    "\u041d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u044c"
                ],
                "summary": "\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u0432\u0430\u0440\u0442\u0438\u0440 \u0432 \u0436\u0438\u043b\u043e\u043c \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0435",
                "description": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u0434\u043b\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430: \u043a\u043e\u043c\u043d\u0430\u0442\u044b, \u0441\u0442\u0430\u0442\u0443\u0441, \u044d\u0442\u0430\u0436, \u0446\u0435\u043d\u0430 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.",
                "operationId": "listComplexApartments",
                "parameters": [
                    {
                        "name": "residentialComplex",
                        "in": "path",
                        "description": "\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "rooms",
                        "in": "query",
                        "description": "\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043d\u0430\u0442.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 10,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "description": "\u0421\u0442\u0430\u0442\u0443\u0441 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "available",
                                "reserved",
                                "sold"
                            ]
                        }
                    },
                    {
                        "name": "floor_from",
                        "in": "query",
                        "description": "\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u0442\u0430\u0436.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "floor_to",
                        "in": "query",
                        "description": "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u0442\u0430\u0436.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "price_from",
                        "in": "query",
                        "description": "\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043d\u0430.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "price_to",
                        "in": "query",
                        "description": "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043d\u0430.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 12,
                            "maximum": 50,
                            "minimum": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "\u041f\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u0432\u0430\u0440\u0442\u0438\u0440",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApartmentCollectionResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "\u0416\u0438\u043b\u043e\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d"
                    }
                }
            }
        },
        "/api/v1/apartments/{apartment}": {
            "get": {
                "tags": [
                    "\u041d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u044c"
                ],
                "summary": "\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0435\u0442\u0430\u043b\u0438 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b",
                "description": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0443 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b, \u0435\u0451 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.",
                "operationId": "showApartment",
                "parameters": [
                    {
                        "name": "apartment",
                        "in": "path",
                        "description": "\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b.",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "\u0414\u0435\u0442\u0430\u043b\u0438 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApartmentDetailResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "\u041a\u0432\u0430\u0440\u0442\u0438\u0440\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430"
                    }
                }
            }
        },
        "/api/v1/apartments/{apartment}/requests": {
            "post": {
                "tags": [
                    "\u041d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u044c"
                ],
                "summary": "\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0437\u0430\u044f\u0432\u043a\u0443 \u043f\u043e \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0435",
                "description": "\u0421\u043e\u0437\u0434\u0430\u0451\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0443\u044e \u0437\u0430\u044f\u0432\u043a\u0443 \u043d\u0430 \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u0446\u0438\u044e, \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u043e\u043a\u0443\u043f\u043a\u0443 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b. \u041f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0441 \u0442\u0435\u043c \u0436\u0435 `Idempotency-Key` \u0432\u0435\u0440\u043d\u0451\u0442 \u0443\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0443\u044e \u0437\u0430\u044f\u0432\u043a\u0443 \u0431\u0435\u0437 \u0434\u0443\u0431\u043b\u0435\u0439.",
                "operationId": "storeApartmentRequest",
                "parameters": [
                    {
                        "name": "apartment",
                        "in": "path",
                        "description": "\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0437\u0430\u044f\u0432\u043a\u0430.",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "Idempotency-Key",
                        "in": "header",
                        "description": "\u041a\u043b\u044e\u0447 \u0438\u0434\u0435\u043c\u043f\u043e\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0431\u0435\u0437 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0434\u0443\u0431\u043b\u0435\u0439.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "f2d88099-e867-49fb-9e53-1f2a0b55a7ae"
                    }
                ],
                "requestBody": {
                    "description": "\u0414\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 \u0442\u0438\u043f \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u043e \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0435.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ApartmentRequestStoreRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "\u0417\u0430\u044f\u0432\u043a\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0430",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApartmentRequestStoreResponse"
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u0430 \u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0430\u044f \u0437\u0430\u044f\u0432\u043a\u0430 \u0441 \u0442\u0435\u043c \u0436\u0435 \u043a\u043b\u044e\u0447\u043e\u043c \u0438\u0434\u0435\u043c\u043f\u043e\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApartmentRequestStoreResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/residential-complexes": {
            "get": {
                "tags": [
                    "\u041d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u044c"
                ],
                "summary": "\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0436\u0438\u043b\u044b\u0445 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043e\u0432",
                "description": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0436\u0438\u043b\u044b\u0445 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043e\u0432 \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u043a\u0440\u0430\u043d\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430. \u041c\u043e\u0436\u043d\u043e \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0433\u043e\u0440\u043e\u0434\u0443 \u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043a\u0432\u0430\u0440\u0442\u0438\u0440.",
                "operationId": "listResidentialComplexes",
                "parameters": [
                    {
                        "name": "city",
                        "in": "query",
                        "description": "\u0424\u0438\u043b\u044c\u0442\u0440 \u043f\u043e \u0433\u043e\u0440\u043e\u0434\u0443.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "Almaty"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 10,
                            "maximum": 50,
                            "minimum": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "\u041f\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0436\u0438\u043b\u044b\u0445 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043e\u0432",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResidentialComplexCollectionResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/residential-complexes/{residentialComplex}": {
            "get": {
                "tags": [
                    "\u041d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u044c"
                ],
                "summary": "\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0435\u0442\u0430\u043b\u0438 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430",
                "description": "\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0443 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u044b \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435\u043c \u0441\u043f\u0438\u0441\u043a\u0430 \u043a\u0432\u0430\u0440\u0442\u0438\u0440.",
                "operationId": "showResidentialComplex",
                "parameters": [
                    {
                        "name": "residentialComplex",
                        "in": "path",
                        "description": "\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "\u0414\u0435\u0442\u0430\u043b\u0438 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResidentialComplexDetailResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "\u0416\u0438\u043b\u043e\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "ResidentialComplexCollectionResponse": {
                "description": "\u041f\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0441\u043e \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u0436\u0438\u043b\u044b\u0445 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043e\u0432.",
                "properties": {
                    "data": {
                        "description": "\u0421\u043f\u0438\u0441\u043e\u043a \u0436\u0438\u043b\u044b\u0445 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043e\u0432 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ResidentialComplexItem"
                        }
                    },
                    "links": {
                        "$ref": "#/components/schemas/PaginationLinks"
                    },
                    "meta": {
                        "$ref": "#/components/schemas/PaginationMeta"
                    }
                },
                "type": "object"
            },
            "ResidentialComplexDetailResponse": {
                "description": "\u041e\u0442\u0432\u0435\u0442 \u0441 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043f\u043e \u0436\u0438\u043b\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0443.",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/ResidentialComplexItem"
                    }
                ]
            },
            "ResidentialComplexItem": {
                "description": "\u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                "required": [
                    "id",
                    "name",
                    "slug",
                    "city",
                    "district",
                    "address",
                    "price_range",
                    "amenities",
                    "transport",
                    "integration"
                ],
                "properties": {
                    "id": {
                        "description": "\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "description": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                        "type": "string",
                        "example": "Aqbobek Riverside"
                    },
                    "slug": {
                        "description": "\u0427\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0434\u043b\u044f \u0441\u0441\u044b\u043b\u043e\u043a \u0438 \u0440\u043e\u0443\u0442\u0438\u043d\u0433\u0430.",
                        "type": "string",
                        "example": "aqbobek-riverside"
                    },
                    "city": {
                        "description": "\u0413\u043e\u0440\u043e\u0434, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u0436\u0438\u043b\u043e\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441.",
                        "type": "string",
                        "example": "Almaty"
                    },
                    "district": {
                        "description": "\u0420\u0430\u0439\u043e\u043d \u0433\u043e\u0440\u043e\u0434\u0430.",
                        "type": "string",
                        "example": "Bostandyk district"
                    },
                    "address": {
                        "description": "\u041f\u043e\u043b\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u0430.",
                        "type": "string",
                        "example": "18 Toraigyrov street"
                    },
                    "completion_date": {
                        "description": "\u041f\u043b\u0430\u043d\u043e\u0432\u0430\u044f \u0434\u0430\u0442\u0430 \u0441\u0434\u0430\u0447\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430.",
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "price_range": {
                        "description": "\u0414\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0446\u0435\u043d \u043f\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430\u043c \u0432 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0435.",
                        "properties": {
                            "from": {
                                "description": "\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043d\u0430.",
                                "type": "integer",
                                "example": 28500000
                            },
                            "to": {
                                "description": "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043d\u0430.",
                                "type": "integer",
                                "example": 74200000
                            },
                            "currency": {
                                "description": "\u0412\u0430\u043b\u044e\u0442\u0430 \u0446\u0435\u043d.",
                                "type": "string",
                                "example": "KZT"
                            }
                        },
                        "type": "object"
                    },
                    "cover_image_url": {
                        "description": "\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0431\u043b\u043e\u0436\u043a\u0443 \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0438 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                        "type": "string",
                        "example": "https://example.test/images/complexes/riverside-cover.jpg",
                        "nullable": true
                    },
                    "amenities": {
                        "description": "\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432 \u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "transport": {
                        "description": "\u0422\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0438 \u0431\u043b\u0438\u0437\u043b\u0435\u0436\u0430\u0449\u0438\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b.",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sales_phone": {
                        "description": "\u0422\u0435\u043b\u0435\u0444\u043e\u043d \u043e\u0442\u0434\u0435\u043b\u0430 \u043f\u0440\u043e\u0434\u0430\u0436.",
                        "type": "string",
                        "example": "+7 700 123 45 67",
                        "nullable": true
                    },
                    "available_apartments_count": {
                        "description": "\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u0432\u0430\u0440\u0442\u0438\u0440 \u0441\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u043c `available`.",
                        "type": "integer",
                        "example": 14,
                        "nullable": true
                    },
                    "description": {
                        "description": "\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                        "type": "string",
                        "example": "Family-oriented residential complex with direct access to the riverside promenade.",
                        "nullable": true
                    },
                    "gallery": {
                        "description": "\u0413\u0430\u043b\u0435\u0440\u0435\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "integration": {
                        "description": "\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438.",
                        "properties": {
                            "external_system": {
                                "description": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.",
                                "type": "string",
                                "example": "crm",
                                "nullable": true
                            },
                            "external_id": {
                                "description": "\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435.",
                                "type": "string",
                                "example": "RC-1001",
                                "nullable": true
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "ApartmentCollectionResponse": {
                "description": "\u041f\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0441\u043e \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u043a\u0432\u0430\u0440\u0442\u0438\u0440.",
                "properties": {
                    "data": {
                        "description": "\u0421\u043f\u0438\u0441\u043e\u043a \u043a\u0432\u0430\u0440\u0442\u0438\u0440 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApartmentItem"
                        }
                    },
                    "links": {
                        "$ref": "#/components/schemas/PaginationLinks"
                    },
                    "meta": {
                        "$ref": "#/components/schemas/PaginationMeta"
                    }
                },
                "type": "object"
            },
            "ApartmentDetailResponse": {
                "description": "\u041e\u0442\u0432\u0435\u0442 \u0441 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043f\u043e \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0435.",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/ApartmentItem"
                    }
                ]
            },
            "ApartmentItem": {
                "description": "\u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b.",
                "required": [
                    "id",
                    "residential_complex_id",
                    "unit_number",
                    "rooms",
                    "floor",
                    "total_floors",
                    "area_sqm",
                    "price",
                    "status",
                    "features",
                    "available_actions",
                    "integration"
                ],
                "properties": {
                    "id": {
                        "description": "\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b.",
                        "type": "integer",
                        "example": 51
                    },
                    "residential_complex_id": {
                        "description": "\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                        "type": "integer",
                        "example": 1
                    },
                    "unit_number": {
                        "description": "\u041d\u043e\u043c\u0435\u0440 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b \u0438\u043b\u0438 \u043b\u043e\u0442\u0430.",
                        "type": "string",
                        "example": "B2-143"
                    },
                    "rooms": {
                        "description": "\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043d\u0430\u0442.",
                        "type": "integer",
                        "example": 3
                    },
                    "floor": {
                        "description": "\u042d\u0442\u0430\u0436 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b.",
                        "type": "integer",
                        "example": 14
                    },
                    "total_floors": {
                        "description": "\u041e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u0442\u0430\u0436\u0435\u0439 \u0432 \u043a\u043e\u0440\u043f\u0443\u0441\u0435.",
                        "type": "integer",
                        "example": 16
                    },
                    "area_sqm": {
                        "description": "\u041f\u043b\u043e\u0449\u0430\u0434\u044c \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0430\u0445.",
                        "type": "number",
                        "format": "float",
                        "example": 82.5
                    },
                    "price": {
                        "description": "\u0421\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b.",
                        "properties": {
                            "amount": {
                                "description": "\u0421\u0443\u043c\u043c\u0430.",
                                "type": "integer",
                                "example": 58700000
                            },
                            "currency": {
                                "description": "\u0412\u0430\u043b\u044e\u0442\u0430.",
                                "type": "string",
                                "example": "KZT"
                            }
                        },
                        "type": "object"
                    },
                    "status": {
                        "description": "\u0421\u0442\u0430\u0442\u0443\u0441 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b: \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430, \u0437\u0430\u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0438\u043b\u0438 \u043f\u0440\u043e\u0434\u0430\u043d\u0430.",
                        "type": "string",
                        "enum": [
                            "available",
                            "reserved",
                            "sold"
                        ]
                    },
                    "finishing": {
                        "description": "\u0422\u0438\u043f \u043e\u0442\u0434\u0435\u043b\u043a\u0438.",
                        "type": "string",
                        "example": "pre-finished",
                        "nullable": true
                    },
                    "orientation": {
                        "description": "\u041e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b \u043f\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u0430\u043c \u0441\u0432\u0435\u0442\u0430.",
                        "type": "string",
                        "example": "south-east",
                        "nullable": true
                    },
                    "layout_image_url": {
                        "description": "\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u043a\u0438.",
                        "type": "string",
                        "example": "https://example.test/images/layouts/B2-143.png",
                        "nullable": true
                    },
                    "features": {
                        "description": "\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b.",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "description": {
                        "description": "\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b.",
                        "type": "string",
                        "example": "Corner apartment with panoramic glazing and separate laundry niche.",
                        "nullable": true
                    },
                    "booking_expires_at": {
                        "description": "\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0431\u0440\u043e\u043d\u0438, \u0435\u0441\u043b\u0438 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f.",
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "available_actions": {
                        "description": "\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0435.",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "consultation",
                                "reservation",
                                "purchase"
                            ]
                        }
                    },
                    "complex": {
                        "description": "\u041a\u0440\u0430\u0442\u043a\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0436\u0438\u043b\u043e\u043c \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0435, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430.",
                        "properties": {
                            "id": {
                                "description": "\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                                "type": "integer",
                                "example": 1
                            },
                            "name": {
                                "description": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                                "type": "string",
                                "example": "Aqbobek Riverside"
                            },
                            "slug": {
                                "description": "Slug \u0436\u0438\u043b\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u0430.",
                                "type": "string",
                                "example": "aqbobek-riverside"
                            }
                        },
                        "type": "object",
                        "nullable": true
                    },
                    "integration": {
                        "description": "\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438.",
                        "properties": {
                            "external_system": {
                                "description": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.",
                                "type": "string",
                                "example": "erp",
                                "nullable": true
                            },
                            "external_id": {
                                "description": "\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435.",
                                "type": "string",
                                "example": "APT-220143",
                                "nullable": true
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "ApartmentRequestStoreRequest": {
                "description": "\u0422\u0435\u043b\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u044f\u0432\u043a\u0438 \u043f\u043e \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0435.",
                "required": [
                    "type",
                    "customer_name",
                    "phone",
                    "preferred_contact_method"
                ],
                "properties": {
                    "type": {
                        "description": "\u0422\u0438\u043f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f: \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u0446\u0438\u044f, \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u043e\u043a\u0443\u043f\u043a\u0430.",
                        "type": "string",
                        "example": "reservation",
                        "enum": [
                            "consultation",
                            "reservation",
                            "purchase"
                        ]
                    },
                    "customer_name": {
                        "description": "\u0418\u043c\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430.",
                        "type": "string",
                        "example": "Aruzhan Sadykova"
                    },
                    "phone": {
                        "description": "\u0422\u0435\u043b\u0435\u0444\u043e\u043d \u043a\u043b\u0438\u0435\u043d\u0442\u0430.",
                        "type": "string",
                        "example": "+7 777 987 65 43"
                    },
                    "email": {
                        "description": "Email \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0435\u0441\u043b\u0438 \u043e\u043d \u0443\u043a\u0430\u0437\u0430\u043d.",
                        "type": "string",
                        "format": "email",
                        "example": "aruzhan@example.kz",
                        "nullable": true
                    },
                    "comment": {
                        "description": "\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043a\u043b\u0438\u0435\u043d\u0442\u0430.",
                        "type": "string",
                        "example": "Need a callback after 19:00 and mortgage options.",
                        "nullable": true
                    },
                    "preferred_contact_method": {
                        "description": "\u041f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u0432\u044f\u0437\u0438.",
                        "type": "string",
                        "example": "whatsapp",
                        "enum": [
                            "phone",
                            "whatsapp",
                            "telegram",
                            "email"
                        ]
                    },
                    "source_channel": {
                        "description": "\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0437\u0430\u044f\u0432\u043a\u0438. \u0415\u0441\u043b\u0438 \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u043d, \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.",
                        "type": "string",
                        "example": "mobile_app_ios",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "ApartmentRequestStoreResponse": {
                "description": "\u041e\u0442\u0432\u0435\u0442 \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u044f\u0432\u043a\u0438 \u043f\u043e \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0435.",
                "required": [
                    "id",
                    "apartment_id",
                    "type",
                    "status",
                    "customer_name",
                    "phone",
                    "preferred_contact_method",
                    "integration"
                ],
                "properties": {
                    "id": {
                        "description": "\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0437\u0430\u044f\u0432\u043a\u0438.",
                        "type": "integer",
                        "example": 9001
                    },
                    "apartment_id": {
                        "description": "\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b.",
                        "type": "integer",
                        "example": 51
                    },
                    "type": {
                        "description": "\u0422\u0438\u043f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u043b \u043a\u043b\u0438\u0435\u043d\u0442.",
                        "type": "string",
                        "enum": [
                            "consultation",
                            "reservation",
                            "purchase"
                        ]
                    },
                    "status": {
                        "description": "\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0430\u044f\u0432\u043a\u0438.",
                        "type": "string",
                        "example": "queued_for_sync",
                        "enum": [
                            "new",
                            "queued_for_sync",
                            "sent_to_crm",
                            "confirmed",
                            "cancelled"
                        ]
                    },
                    "customer_name": {
                        "description": "\u0418\u043c\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430.",
                        "type": "string",
                        "example": "Aruzhan Sadykova"
                    },
                    "phone": {
                        "description": "\u0422\u0435\u043b\u0435\u0444\u043e\u043d \u043a\u043b\u0438\u0435\u043d\u0442\u0430.",
                        "type": "string",
                        "example": "+7 777 987 65 43"
                    },
                    "email": {
                        "description": "Email \u043a\u043b\u0438\u0435\u043d\u0442\u0430.",
                        "type": "string",
                        "format": "email",
                        "example": "aruzhan@example.kz",
                        "nullable": true
                    },
                    "comment": {
                        "description": "\u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043a\u043b\u0438\u0435\u043d\u0442\u0430.",
                        "type": "string",
                        "nullable": true
                    },
                    "preferred_contact_method": {
                        "description": "\u041f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 \u043a\u0430\u043d\u0430\u043b \u0441\u0432\u044f\u0437\u0438.",
                        "type": "string",
                        "example": "whatsapp"
                    },
                    "source_channel": {
                        "description": "\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a, \u043e\u0442\u043a\u0443\u0434\u0430 \u043f\u0440\u0438\u0448\u043b\u0430 \u0437\u0430\u044f\u0432\u043a\u0430.",
                        "type": "string",
                        "example": "mobile_app_ios",
                        "nullable": true
                    },
                    "submitted_at": {
                        "description": "\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0437\u0430\u044f\u0432\u043a\u0438.",
                        "type": "string",
                        "format": "date-time"
                    },
                    "integration": {
                        "description": "\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0437\u0430\u044f\u0432\u043a\u0438 \u0441 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439.",
                        "properties": {
                            "external_system": {
                                "description": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.",
                                "type": "string",
                                "example": "crm",
                                "nullable": true
                            },
                            "external_reference": {
                                "description": "\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0437\u0430\u044f\u0432\u043a\u0438.",
                                "type": "string",
                                "example": "REQ-W8M82Z8AYK",
                                "nullable": true
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "ValidationErrorResponse": {
                "description": "\u041e\u0442\u0432\u0435\u0442 \u0441 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438.",
                "properties": {
                    "message": {
                        "description": "\u041e\u0431\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435.",
                        "type": "string",
                        "example": "\u041f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u043f\u0440\u043e\u0448\u043b\u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044e."
                    },
                    "errors": {
                        "description": "\u041e\u0448\u0438\u0431\u043a\u0438 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u043c\u0443 \u043f\u043e\u043b\u044e.",
                        "type": "object",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                },
                "type": "object"
            },
            "PaginationLinks": {
                "description": "\u0421\u0441\u044b\u043b\u043a\u0438 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c.",
                "properties": {
                    "first": {
                        "description": "\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043f\u0435\u0440\u0432\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443.",
                        "type": "string",
                        "nullable": true
                    },
                    "last": {
                        "description": "\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443.",
                        "type": "string",
                        "nullable": true
                    },
                    "prev": {
                        "description": "\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443.",
                        "type": "string",
                        "nullable": true
                    },
                    "next": {
                        "description": "\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443.",
                        "type": "string",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "PaginationMeta": {
                "description": "\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u043e\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u0430.",
                "properties": {
                    "current_page": {
                        "description": "\u041d\u043e\u043c\u0435\u0440 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.",
                        "type": "integer",
                        "example": 1
                    },
                    "from": {
                        "description": "\u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.",
                        "type": "integer",
                        "example": 1,
                        "nullable": true
                    },
                    "last_page": {
                        "description": "\u041d\u043e\u043c\u0435\u0440 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.",
                        "type": "integer",
                        "example": 2
                    },
                    "path": {
                        "description": "\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u043f\u0443\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430.",
                        "type": "string",
                        "example": "http://localhost/api/residential-complexes"
                    },
                    "per_page": {
                        "description": "\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.",
                        "type": "integer",
                        "example": 10
                    },
                    "to": {
                        "description": "\u041f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.",
                        "type": "integer",
                        "example": 10,
                        "nullable": true
                    },
                    "total": {
                        "description": "\u041e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432.",
                        "type": "integer",
                        "example": 12
                    }
                },
                "type": "object"
            }
        },
        "securitySchemes": {
            "sanctumBearerAuth": {
                "type": "http",
                "description": "\u041f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0439\u0442\u0435 Sanctum API token \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 Authorization.",
                "bearerFormat": "Token",
                "scheme": "bearer"
            }
        }
    },
    "tags": [
        {
            "name": "\u041d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u044c",
            "description": "\u041d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u044c"
        }
    ],
    "servers": [
        {
            "url": "https://realestate.testsrv1.ru",
            "description": "Current application server"
        }
    ]
}