{
  "openapi": "3.0.3",
  "info": {
    "title": "FBank Offers API",
    "version": "1.0.0",
    "description": "Local fake API for the FBank offers screens."
  },
  "servers": [
    {
      "url": "https://faptok.ru"
    }
  ],
  "paths": {
    "/api/loan-offers": {
      "get": {
        "summary": "Get loan offers",
        "operationId": "getLoanOffers",
        "responses": {
          "200": {
            "description": "Loan offers response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "offers"
                  ],
                  "properties": {
                    "offers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LoanOffer"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/debit-card-offers": {
      "get": {
        "summary": "Get debit card offers",
        "operationId": "getDebitCardOffers",
        "responses": {
          "200": {
            "description": "Debit card offers response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "offers"
                  ],
                  "properties": {
                    "offers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DebitCardOffer"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/credit-card-offers": {
      "get": {
        "summary": "Get credit card offers",
        "operationId": "getCreditCardOffers",
        "responses": {
          "200": {
            "description": "Credit card offers response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "offers"
                  ],
                  "properties": {
                    "offers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CreditCardOffer"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/deposit-offers": {
      "get": {
        "summary": "Get deposit offers",
        "operationId": "getDepositOffers",
        "responses": {
          "200": {
            "description": "Deposit offers response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "offers"
                  ],
                  "properties": {
                    "offers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DepositOffer"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/cash-credit-offers": {
      "get": {
        "summary": "Get cash credit offers",
        "operationId": "getCashCreditOffers",
        "responses": {
          "200": {
            "description": "Cash credit offers response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "offers"
                  ],
                  "properties": {
                    "offers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CashCreditOffer"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/business-page": {
      "get": {
        "summary": "Get business page",
        "operationId": "getBusinessPage",
        "responses": {
          "200": {
            "description": "Business page response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessPage"
                }
              }
            }
          }
        }
      }
    },
    "/api/fssp/individual": {
      "get": {
        "summary": "Check FSSP records for an individual",
        "operationId": "getFsspIndividual",
        "parameters": [
          {
            "in": "query",
            "name": "lastname",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Иванов"
            }
          },
          {
            "in": "query",
            "name": "firstname",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Иван"
            }
          },
          {
            "in": "query",
            "name": "birthdate",
            "required": true,
            "schema": {
              "type": "string",
              "example": "01.01.1990"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "FSSP individual response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FsspResponse"
                }
              }
            }
          },
          "400": {
            "description": "Missing required query parameters"
          }
        }
      }
    },
    "/api/fssp/legal": {
      "get": {
        "summary": "Check FSSP records for a legal entity",
        "operationId": "getFsspLegal",
        "parameters": [
          {
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string",
              "example": "ООО Ромашка"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "FSSP legal entity response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FsspResponse"
                }
              }
            }
          },
          "400": {
            "description": "Missing required query parameters"
          }
        }
      }
    },
    "/api/card-activation-page": {
      "get": {
        "summary": "Get card activation page",
        "operationId": "getCardActivationPage",
        "responses": {
          "200": {
            "description": "Card activation page response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecommendationPage"
                }
              }
            }
          }
        }
      }
    },
    "/api/application-status-page": {
      "get": {
        "summary": "Get application status page",
        "operationId": "getApplicationStatusPage",
        "responses": {
          "200": {
            "description": "Application status page response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecommendationPage"
                }
              }
            }
          }
        }
      }
    },
    "/api/travel-page": {
      "get": {
        "summary": "Get travel page",
        "operationId": "getTravelPage",
        "responses": {
          "200": {
            "description": "Travel page response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TravelPage"
                }
              }
            }
          }
        }
      }
    },
    "/api/auto-credit-page": {
      "get": {
        "summary": "Get auto credit page",
        "operationId": "getAutoCreditPage",
        "responses": {
          "200": {
            "description": "Auto credit page response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutoCreditPage"
                }
              }
            }
          }
        }
      }
    },
    "/api/bank-rating-page": {
      "get": {
        "summary": "Get bank rating page",
        "operationId": "getBankRatingPage",
        "responses": {
          "200": {
            "description": "Bank rating page response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BankRatingPage"
                }
              }
            }
          }
        }
      }
    },
    "/api/bank-rating-page/{bankId}": {
      "get": {
        "summary": "Get bank rating detail page",
        "operationId": "getBankRatingDetail",
        "parameters": [
          {
            "name": "bankId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bank rating detail response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BankRatingDetail"
                }
              }
            }
          },
          "404": {
            "description": "Bank not found"
          }
        }
      }
    },
    "/api/locations": {
      "get": {
        "summary": "Get countries and cities for offer filters",
        "operationId": "getOfferLocations",
        "responses": {
          "200": {
            "description": "Offer locations response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OfferLocations"
                }
              }
            }
          }
        }
      }
    },
    "/api/cashback-offers": {
      "get": {
        "summary": "Get cashback offers",
        "operationId": "getCashbackOffers",
        "responses": {
          "200": {
            "description": "Cashback offers response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "offers"
                  ],
                  "properties": {
                    "offers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CashbackOffer"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/tbank-atms": {
      "get": {
        "summary": "Get TBank ATMs",
        "operationId": "getTbankAtms",
        "parameters": [
          {
            "in": "query",
            "name": "lat",
            "schema": {
              "type": "number",
              "example": 55.755864
            }
          },
          {
            "in": "query",
            "name": "lng",
            "schema": {
              "type": "number",
              "example": 37.617698
            }
          },
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "type": "integer",
              "example": 0
            }
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "type": "integer",
              "example": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "TBank ATMs response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TbankAtmsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/expenses": {
      "get": {
        "summary": "Get expenses",
        "operationId": "getExpenses",
        "responses": {
          "200": {
            "description": "Expenses response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "expenses"
                  ],
                  "properties": {
                    "expenses": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ExpenseEntry"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create expense",
        "operationId": "createExpense",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExpenseCreateInput"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created expense response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "expense"
                  ],
                  "properties": {
                    "expense": {
                      "$ref": "#/components/schemas/ExpenseEntry"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid expense payload"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "FsspResponse": {
        "type": "object",
        "required": [
          "ambiguityNotice",
          "found",
          "mode",
          "records",
          "totalAmount"
        ],
        "properties": {
          "ambiguityNotice": {
            "type": "string"
          },
          "found": {
            "type": "boolean"
          },
          "mode": {
            "type": "string",
            "enum": [
              "demo",
              "external"
            ]
          },
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FsspRecord"
            }
          },
          "totalAmount": {
            "type": "number",
            "example": 16400
          }
        }
      },
      "FsspRecord": {
        "type": "object",
        "required": [
          "id",
          "debtor",
          "proceedingNumber",
          "subject",
          "amount"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "demo-person-1"
          },
          "amount": {
            "type": "number",
            "example": 12500
          },
          "bailiff": {
            "type": "string",
            "example": "Петрова А. Н."
          },
          "debtor": {
            "type": "string",
            "example": "Иванов Иван"
          },
          "department": {
            "type": "string",
            "example": "ОСП по Центральному административному округу"
          },
          "proceedingDate": {
            "type": "string",
            "example": "12.03.2026"
          },
          "proceedingNumber": {
            "type": "string",
            "example": "34567/26/77001-ИП"
          },
          "status": {
            "type": "string",
            "example": "В работе"
          },
          "subject": {
            "type": "string",
            "example": "Административный штраф"
          }
        }
      },
      "ExpenseCreateInput": {
        "type": "object",
        "required": [
          "amount",
          "category",
          "date"
        ],
        "properties": {
          "amount": {
            "type": "number",
            "example": 25
          },
          "category": {
            "type": "string",
            "example": "Дом"
          },
          "date": {
            "type": "string",
            "example": "2026-06-14"
          }
        }
      },
      "ExpenseEntry": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ExpenseCreateInput"
          },
          {
            "type": "object",
            "required": [
              "id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "example": "expense-1"
              }
            }
          }
        ]
      },
      "LoanOffer": {
        "type": "object",
        "required": [
          "id",
          "brand",
          "subtitle",
          "logo",
          "compareLabel",
          "primaryLabel",
          "metrics"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "ekapusta"
          },
          "brand": {
            "type": "string",
            "example": "Екапуста"
          },
          "subtitle": {
            "type": "string",
            "example": "Первый заём бесплатно"
          },
          "logo": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ImageLogo"
              },
              {
                "$ref": "#/components/schemas/IconLogo"
              }
            ]
          },
          "compareLabel": {
            "type": "string",
            "example": "Сравнить"
          },
          "primaryLabel": {
            "type": "string",
            "example": "Быстрое оформление"
          },
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanMetric"
            }
          }
        }
      },
      "DebitCardOffer": {
        "type": "object",
        "required": [
          "id",
          "brand",
          "subtitle",
          "logo",
          "compareLabel",
          "primaryLabel",
          "metrics"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "tbank-black"
          },
          "brand": {
            "type": "string",
            "example": "Т-Банк Black карта"
          },
          "subtitle": {
            "type": "string",
            "example": "Быстрое оформление без паспорта"
          },
          "badge": {
            "type": "string",
            "example": "Подойдёт к вашей Т-Банк Платинум"
          },
          "logo": {
            "$ref": "#/components/schemas/DebitCardLogo"
          },
          "compareLabel": {
            "type": "string",
            "example": "Сравнить"
          },
          "primaryLabel": {
            "type": "string",
            "example": "Быстрое оформление"
          },
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanMetric"
            }
          }
        }
      },
      "CreditCardOffer": {
        "type": "object",
        "required": [
          "id",
          "brand",
          "subtitle",
          "logo",
          "compareLabel",
          "primaryLabel",
          "metrics"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "tbank-credit-summer"
          },
          "brand": {
            "type": "string",
            "example": "Кредитная карта от Т-Банка"
          },
          "subtitle": {
            "type": "string",
            "example": "Минимум документов"
          },
          "badge": {
            "type": "string",
            "example": "ЛУЧШЕЕ ПРЕДЛОЖЕНИЕ"
          },
          "promo": {
            "$ref": "#/components/schemas/CreditCardPromo"
          },
          "logo": {
            "$ref": "#/components/schemas/CreditCardLogo"
          },
          "compareLabel": {
            "type": "string",
            "example": "Сравнить"
          },
          "primaryLabel": {
            "type": "string",
            "example": "Быстрое оформление"
          },
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanMetric"
            }
          }
        }
      },
      "DepositOffer": {
        "type": "object",
        "required": [
          "id",
          "brand",
          "logo",
          "primaryLabel",
          "metrics"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "tbank-deposit"
          },
          "brand": {
            "type": "string",
            "example": "Т-Банк Вклад"
          },
          "badge": {
            "type": "string",
            "example": "Максимальная сумма 500 000 ₽"
          },
          "logo": {
            "$ref": "#/components/schemas/DepositLogo"
          },
          "primaryLabel": {
            "type": "string",
            "example": "Быстрое оформление"
          },
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanMetric"
            }
          }
        }
      },
      "CashCreditOffer": {
        "type": "object",
        "required": [
          "id",
          "brand",
          "subtitle",
          "logo",
          "compareLabel",
          "primaryLabel",
          "metrics"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "zaymer"
          },
          "brand": {
            "type": "string",
            "example": "Займер"
          },
          "subtitle": {
            "type": "string",
            "example": "Рекомендуем"
          },
          "logo": {
            "$ref": "#/components/schemas/CashCreditLogo"
          },
          "compareLabel": {
            "type": "string",
            "example": "Сравнить"
          },
          "primaryLabel": {
            "type": "string",
            "example": "Быстрое оформление"
          },
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanMetric"
            }
          }
        }
      },
      "BusinessPage": {
        "type": "object",
        "required": [
          "sections",
          "offers"
        ],
        "properties": {
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessSection"
            }
          },
          "offers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOffer"
            }
          }
        }
      },
      "BusinessSection": {
        "type": "object",
        "required": [
          "id",
          "title",
          "tone",
          "initiallyExpanded",
          "items"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "services"
          },
          "title": {
            "type": "string",
            "example": "Сервисы"
          },
          "tone": {
            "type": "string",
            "enum": [
              "purple",
              "yellow"
            ]
          },
          "initiallyExpanded": {
            "type": "boolean",
            "example": false
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessSectionItem"
            }
          }
        }
      },
      "BusinessSectionItem": {
        "type": "object",
        "required": [
          "id",
          "title",
          "logo"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "fssp"
          },
          "title": {
            "type": "string",
            "example": "ФССП"
          },
          "action": {
            "type": "string",
            "enum": [
              "businessLogin",
              "alfaBusinessLogin",
              "gazpromBusinessLogin",
              "fssp",
              "fns"
            ]
          },
          "description": {
            "type": "string",
            "example": "Проверьте наличие делопроизводства у юр. или физ. лица"
          },
          "logo": {
            "$ref": "#/components/schemas/BusinessLogo"
          }
        }
      },
      "BusinessOffer": {
        "type": "object",
        "required": [
          "id",
          "brand",
          "title",
          "description",
          "logo",
          "primaryLabel"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "business-credit"
          },
          "brand": {
            "type": "string",
            "example": "Кредиты для бизнеса"
          },
          "title": {
            "type": "string",
            "example": "Деньги на развитие бизнеса"
          },
          "description": {
            "type": "string",
            "example": "Без визита в банк: все онлайн. Можем выдать кредит на срок от 3 месяцев до 5 лет"
          },
          "logo": {
            "$ref": "#/components/schemas/BusinessLogo"
          },
          "primaryLabel": {
            "type": "string",
            "example": "Подробнее"
          }
        }
      },
      "RecommendationPage": {
        "type": "object",
        "required": [
          "title",
          "heading",
          "banners",
          "offers"
        ],
        "properties": {
          "title": {
            "type": "string",
            "example": "Статус заявки"
          },
          "heading": {
            "type": "string",
            "example": "Интересные предложения:"
          },
          "banners": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecommendationBanner"
            }
          },
          "offers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecommendationOffer"
            }
          }
        }
      },
      "RecommendationBanner": {
        "type": "object",
        "required": [
          "id",
          "asset",
          "accessibilityLabel"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "no-active"
          },
          "asset": {
            "type": "string",
            "enum": [
              "noActiveApplications",
              "statusWarning",
              "creditHistory"
            ]
          },
          "accessibilityLabel": {
            "type": "string",
            "example": "У вас нет активных заявок"
          }
        }
      },
      "RecommendationOffer": {
        "type": "object",
        "required": [
          "id",
          "brand",
          "logo",
          "compareLabel",
          "primaryLabel",
          "metrics"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "status-tbank-black"
          },
          "brand": {
            "type": "string",
            "example": "Т-Банк"
          },
          "subtitle": {
            "type": "string",
            "example": "Black карта"
          },
          "logo": {
            "$ref": "#/components/schemas/RecommendationLogo"
          },
          "compareLabel": {
            "type": "string",
            "example": "Сравнить"
          },
          "primaryLabel": {
            "type": "string",
            "example": "Быстрое оформление"
          },
          "topBadge": {
            "type": "string",
            "example": "Быстрое оформление без паспорта"
          },
          "innerBadge": {
            "type": "string",
            "example": "ЛУЧШЕЕ ПРЕДЛОЖЕНИЕ"
          },
          "promo": {
            "$ref": "#/components/schemas/RecommendationPromo"
          },
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanMetric"
            }
          }
        }
      },
      "RecommendationPromo": {
        "type": "object",
        "required": [
          "tone",
          "label",
          "caption",
          "title"
        ],
        "properties": {
          "tone": {
            "type": "string",
            "enum": [
              "blue",
              "purple"
            ]
          },
          "label": {
            "type": "string",
            "example": "Акция"
          },
          "caption": {
            "type": "string",
            "example": "по 21.06.2026"
          },
          "title": {
            "type": "string",
            "example": "Летняя кредитка от Т-Банка с бесплатным обслуживанием"
          }
        }
      },
      "CreditCardPromo": {
        "type": "object",
        "required": [
          "label",
          "caption",
          "title"
        ],
        "properties": {
          "label": {
            "type": "string",
            "example": "Акция"
          },
          "caption": {
            "type": "string",
            "example": "по 21.06.2026"
          },
          "title": {
            "type": "string",
            "example": "Летняя кредитка от Т-Банка с бесплатным обслуживанием"
          }
        }
      },
      "ImageLogo": {
        "type": "object",
        "required": [
          "kind",
          "asset"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "image"
            ]
          },
          "asset": {
            "type": "string",
            "enum": [
              "ekapusta"
            ]
          }
        }
      },
      "DebitCardLogo": {
        "type": "object",
        "required": [
          "kind",
          "asset"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "image"
            ]
          },
          "asset": {
            "type": "string",
            "enum": [
              "tbankBlack",
              "tbankPremium",
              "tbankYouth"
            ]
          }
        }
      },
      "CreditCardLogo": {
        "type": "object",
        "required": [
          "kind",
          "asset"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "image"
            ]
          },
          "asset": {
            "type": "string",
            "enum": [
              "tbankCredit",
              "alfaCard",
              "tbankForeign"
            ]
          }
        }
      },
      "DepositLogo": {
        "type": "object",
        "required": [
          "kind",
          "asset"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "image"
            ]
          },
          "asset": {
            "type": "string",
            "enum": [
              "tbankDeposit",
              "gazpromDeposit"
            ]
          }
        }
      },
      "CashCreditLogo": {
        "type": "object",
        "required": [
          "kind",
          "asset"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "image"
            ]
          },
          "asset": {
            "type": "string",
            "enum": [
              "zaymer",
              "sovcombank"
            ]
          }
        }
      },
      "BusinessLogo": {
        "type": "object",
        "required": [
          "kind",
          "asset"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "image"
            ]
          },
          "asset": {
            "type": "string",
            "enum": [
              "serviceFssp",
              "serviceFns",
              "tbankBusiness",
              "alfaBusiness",
              "gazpromBusiness",
              "tbankOffer"
            ]
          }
        }
      },
      "RecommendationLogo": {
        "type": "object",
        "required": [
          "kind",
          "asset"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "image"
            ]
          },
          "asset": {
            "type": "string",
            "enum": [
              "tbankBlack",
              "tbankCredit"
            ]
          }
        }
      },
      "TravelPage": {
        "type": "object",
        "required": [
          "dropdowns",
          "infoCards"
        ],
        "properties": {
          "dropdowns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TravelDropdown"
            }
          },
          "infoCards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TravelInfoCard"
            }
          }
        }
      },
      "TravelDropdown": {
        "type": "object",
        "required": [
          "id",
          "iconName",
          "label",
          "partners"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "hotels"
          },
          "iconName": {
            "type": "string",
            "enum": [
              "busFront",
              "hotel",
              "plane",
              "trainFront",
              "umbrella"
            ]
          },
          "label": {
            "type": "string",
            "example": "Отели"
          },
          "partners": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TravelPartner"
            }
          }
        }
      },
      "TravelPartner": {
        "type": "object",
        "required": [
          "id",
          "brand",
          "badge",
          "badgeTone",
          "logo"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "hotels-tbank-special"
          },
          "brand": {
            "type": "string",
            "example": "Т-Путешествия"
          },
          "badge": {
            "type": "string",
            "example": "Специальные предложения и скид..."
          },
          "badgeTone": {
            "type": "string",
            "enum": [
              "blue",
              "green",
              "yellow"
            ]
          },
          "logo": {
            "$ref": "#/components/schemas/TravelLogo"
          },
          "url": {
            "type": "string",
            "example": "https://www.tbank.ru/travel/hotels/new/"
          }
        }
      },
      "TravelInfoCard": {
        "type": "object",
        "required": [
          "id",
          "color",
          "iconName",
          "title",
          "text"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "cashback"
          },
          "color": {
            "type": "string",
            "example": "#7D63E7"
          },
          "iconName": {
            "type": "string",
            "enum": [
              "circleDollarSign",
              "circleHelp",
              "gift",
              "walletCards"
            ]
          },
          "title": {
            "type": "string",
            "example": "Кэшбэк за билеты, отели и туры"
          },
          "text": {
            "type": "string",
            "example": "Вернем до 10% за покупки через Путешествия"
          }
        }
      },
      "TravelLogo": {
        "type": "object",
        "required": [
          "kind",
          "asset"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "image"
            ]
          },
          "asset": {
            "type": "string",
            "enum": [
              "aviasales",
              "ostrovok",
              "ozon",
              "tbank",
              "yandex"
            ]
          }
        }
      },
      "AutoCreditPage": {
        "type": "object",
        "required": [
          "offer",
          "notice"
        ],
        "properties": {
          "offer": {
            "$ref": "#/components/schemas/AutoCreditOffer"
          },
          "notice": {
            "$ref": "#/components/schemas/AutoCreditNotice"
          }
        }
      },
      "AutoCreditOffer": {
        "type": "object",
        "required": [
          "id",
          "bank",
          "logo",
          "primaryLabel",
          "sections"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "tbank-auto-credit"
          },
          "bank": {
            "type": "string",
            "example": "Т-Банк"
          },
          "logo": {
            "$ref": "#/components/schemas/BankBrandLogo"
          },
          "primaryLabel": {
            "type": "string",
            "example": "Подать заявку"
          },
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutoCreditSection"
            }
          }
        }
      },
      "AutoCreditSection": {
        "type": "object",
        "required": [
          "id",
          "title",
          "text"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "online"
          },
          "title": {
            "type": "string",
            "example": "Автокредит онлайн"
          },
          "text": {
            "type": "string",
            "example": "Быстрое оформление автокредита в онлайн режиме"
          }
        }
      },
      "AutoCreditNotice": {
        "type": "object",
        "required": [
          "title",
          "text"
        ],
        "properties": {
          "title": {
            "type": "string",
            "example": "Не ждите рабочего дня!"
          },
          "text": {
            "type": "string",
            "example": "Заявки одобряются в выходные, получите кредит или карту уже сегодня"
          }
        }
      },
      "BankRatingPage": {
        "type": "object",
        "required": [
          "banks"
        ],
        "properties": {
          "banks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BankRatingBank"
            }
          }
        }
      },
      "BankRatingBank": {
        "type": "object",
        "required": [
          "id",
          "name",
          "logo",
          "rating",
          "primaryLabel"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "tbank"
          },
          "name": {
            "type": "string",
            "example": "Т-Банк"
          },
          "logo": {
            "$ref": "#/components/schemas/BankBrandLogo"
          },
          "rating": {
            "type": "number",
            "example": 5
          },
          "primaryLabel": {
            "type": "string",
            "example": "Предложения банка"
          }
        }
      },
      "BankRatingDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BankRatingBank"
          },
          {
            "type": "object",
            "required": [
              "description",
              "offers"
            ],
            "properties": {
              "description": {
                "type": "string",
                "example": "Т-Банк — финансовая онлайн-экосистема для частных клиентов и бизнеса."
              },
              "offers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BankRatingOffer"
                }
              }
            }
          }
        ]
      },
      "BankRatingOffer": {
        "type": "object",
        "required": [
          "id",
          "brand",
          "logo",
          "primaryLabel",
          "metrics"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "tbank-detail-credit"
          },
          "badge": {
            "type": "string",
            "example": "гарантированная ставка"
          },
          "brand": {
            "type": "string",
            "example": "Кредитная карта от Т-Банка"
          },
          "compareLabel": {
            "type": "string",
            "example": "Сравнить"
          },
          "subtitle": {
            "type": "string",
            "example": "Platinum с доставкой на дом"
          },
          "logo": {
            "$ref": "#/components/schemas/BankBrandLogo"
          },
          "primaryLabel": {
            "type": "string",
            "example": "Быстрое оформление"
          },
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoanMetric"
            }
          }
        }
      },
      "OfferLocations": {
        "type": "object",
        "required": [
          "countries"
        ],
        "properties": {
          "countries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OfferLocationCountry"
            }
          }
        }
      },
      "OfferLocationCountry": {
        "type": "object",
        "required": [
          "id",
          "name",
          "cities"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "ru"
          },
          "name": {
            "type": "string",
            "example": "Россия"
          },
          "cities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "г. Москва",
              "г. Санкт-Петербург"
            ]
          }
        }
      },
      "CashbackOffer": {
        "type": "object",
        "required": [
          "id",
          "badge",
          "brand",
          "date",
          "description",
          "discount",
          "expiresLabel",
          "logoText",
          "primaryLabel"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "golden-apple"
          },
          "badge": {
            "type": "string",
            "example": "Выбор пользователей"
          },
          "brand": {
            "type": "string",
            "example": "Золотое Яблоко"
          },
          "date": {
            "type": "string",
            "example": "2026-06-14"
          },
          "description": {
            "type": "string",
            "example": "Скидка до 20% на первый заказ"
          },
          "discount": {
            "type": "string",
            "example": "Скидка 20%"
          },
          "expiresLabel": {
            "type": "string",
            "example": "Акция действует до 1 июля"
          },
          "logoText": {
            "type": "string",
            "example": "З"
          },
          "primaryLabel": {
            "type": "string",
            "example": "Активировать"
          }
        }
      },
      "TbankAtmsResponse": {
        "type": "object",
        "required": [
          "items",
          "nextOffset",
          "hasMore",
          "source"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TbankAtm"
            }
          },
          "nextOffset": {
            "type": "integer",
            "example": 10
          },
          "hasMore": {
            "type": "boolean",
            "example": true
          },
          "source": {
            "type": "string",
            "enum": [
              "tbank",
              "fallback"
            ]
          }
        }
      },
      "TbankAtm": {
        "type": "object",
        "required": [
          "id",
          "title",
          "address",
          "distanceLabel"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "010685"
          },
          "title": {
            "type": "string",
            "example": "Т-Банк"
          },
          "installPlace": {
            "type": "string",
            "example": "Супермаркет «Дикси»"
          },
          "address": {
            "type": "string",
            "example": "Победы ул., 4"
          },
          "distanceLabel": {
            "type": "string",
            "example": "1,2 км от вас"
          }
        }
      },
      "BankBrandLogo": {
        "type": "object",
        "required": [
          "kind",
          "asset"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "brand"
            ]
          },
          "asset": {
            "type": "string",
            "enum": [
              "tbank",
              "alfaBank",
              "vtb",
              "gazprombank",
              "pochtabank"
            ]
          }
        }
      },
      "IconLogo": {
        "type": "object",
        "required": [
          "kind",
          "iconName",
          "backgroundColor",
          "color"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "icon"
            ]
          },
          "iconName": {
            "type": "string",
            "enum": [
              "landmark",
              "walletCards",
              "sparkles",
              "briefcaseBusiness",
              "creditCard",
              "badgePercent",
              "shieldCheck",
              "piggyBank",
              "star"
            ]
          },
          "backgroundColor": {
            "type": "string",
            "example": "#EAF2FF"
          },
          "color": {
            "type": "string",
            "example": "#2767DA"
          }
        }
      },
      "LoanMetric": {
        "type": "object",
        "required": [
          "id",
          "label",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "amount"
          },
          "label": {
            "type": "string",
            "example": "Сумма до"
          },
          "value": {
            "type": "string",
            "example": "30 000 ₽"
          },
          "success": {
            "type": "boolean",
            "example": true
          }
        }
      }
    }
  }
}