{
  "openapi": "3.0.1",
  "info": {
    "title": "api/loads/published",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "/"
    },
    {
      "url": "https://api.ati.su"
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "paths": {
    "/v2/cargos": {
      "post": {
        "tags": [
          "cargos.api",
          "public",
          "CreateCargoApplicationPublic"
        ],
        "operationId": "POST-public/v2/cargos",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateCargoApplicationPublicRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateCargoApplicationPublicResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.0/loads": {
      "post": {
        "tags": [
          "Грузы"
        ],
        "summary": "Добавление груза",
        "operationId": "Loads_Post",
        "requestBody": {
          "x-name": "load",
          "description": "Груз",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InsertLoadDto"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Груз",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoadView"
                }
              }
            }
          },
          "202": {
            "description": "У Вас уже есть груз с такими же параметрами, поэтому два груза объединены в один",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfLoadMergeException"
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Грузы"
        ],
        "summary": "Получение всех грузов фирмы",
        "operationId": "Loads_GetAll",
        "parameters": [
          {
            "name": "contactId",
            "in": "query",
            "description": "ID контакта",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Грузы",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LoadView"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Грузы"
        ],
        "summary": "Позволяет удалить грузы с указанными id.",
        "operationId": "Loads_Delete",
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": true,
            "description": "ID грузов",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "guid"
              }
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Статус",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/OperationStatus"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      }
    },
    "/v2/cargos/{cargoApplicationId}": {
      "put": {
        "tags": [
          "cargos.api",
          "public",
          "UpdateCargoApplicationPublic"
        ],
        "operationId": "PUT-public/v2/cargos/{cargoApplicationId}",
        "parameters": [
          {
            "name": "cargoApplicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpdateCargoApplicationPublicRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateCargoApplicationPublicResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "cargos.api",
          "public",
          "GetCargoApplicationPublic"
        ],
        "operationId": "GET-public/v2/cargos/{cargoApplicationId}",
        "parameters": [
          {
            "name": "cargoApplicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCargoApplicationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.0/loads/{loadId}": {
      "put": {
        "tags": [
          "Грузы"
        ],
        "summary": "Редактирование груза",
        "operationId": "Loads_Put",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "load",
          "description": "Груз",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditLoadDto"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Груз",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoadView"
                }
              }
            }
          },
          "202": {
            "description": "У Вас уже есть груз с такими же параметрами, поэтому два груза объединены в один",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfLoadMergeException"
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Грузы"
        ],
        "summary": "Получение одного груза с выбранным id",
        "operationId": "Loads_Get4",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Груз",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoadView"
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Грузы"
        ],
        "summary": "Позволяет удалить груз с указанным id.",
        "operationId": "Loads_Delete5",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Статус",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/OperationStatus"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      }
    },
    "/v2/cargos/{requestedCargoApplicationId}/refresh": {
      "put": {
        "tags": [
          "cargos.api",
          "public",
          "RefreshCargoApplicationPublic"
        ],
        "summary": "Позволяет обновить груз с указанным id.\nОбновление груза нужно, чтобы он поднимался на более высокие позиции в поисковой выдаче.",
        "operationId": "PUT-public/v2/cargos/{requestedCargoApplicationId}/refresh",
        "parameters": [
          {
            "name": "requestedCargoApplicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/v1.0/loads/{loadId}/renew": {
      "put": {
        "tags": [
          "Грузы"
        ],
        "summary": "Позволяет обновить груз с указанным id.\nОбновление грузов нужно, чтобы ваш груз показывался в списке грузов на более высокой позиции.",
        "operationId": "Loads_Renew",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Статус",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/OperationStatus"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      }
    },
    "/v2/cargos/refresh": {
      "put": {
        "tags": [
          "cargos.api",
          "public",
          "RefreshCargoApplicationPublic"
        ],
        "summary": "Позволяет обновить грузы с указанными id.\nОбновление груза нужно, чтобы он поднимался на более высокие позиции в поисковой выдаче.",
        "operationId": "PUT-public/v2/cargos/refresh",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "uniqueItems": true,
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefreshCargoApplicationPublicResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.0/loads/renew": {
      "put": {
        "tags": [
          "Грузы"
        ],
        "summary": "Позволяет обновить грузы с указанными id.\nОбновление грузов нужно, чтобы ваш груз показывался в списке грузов на более высокой позиции.",
        "operationId": "Loads_Renew9",
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "guid"
              }
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Статус",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/OperationStatus"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      }
    },
    "/v1.0/loads/{loadId}/priority": {
      "put": {
        "tags": [
          "Грузы"
        ],
        "summary": "Изменение параметров приоритетного показа у груза.",
        "operationId": "Loads_SavePriority",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "priority",
          "description": "Параметры приоритетного показа",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoadPriorityView"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Актуальное состояние груза",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoadView"
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Грузы"
        ],
        "summary": "Обнуление параметров приоритетного показа у груза.",
        "operationId": "Loads_DeletePriority",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Актуальное состояние груза",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoadView"
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      }
    },
    "/v2/cargos/{cargoApplicationId}/priority-view": {
      "put": {
        "tags": [
          "cargos-priority-view-api",
          "public",
          "UpsertCargosPriorityPublic"
        ],
        "description": "Сохранение или обновление настроек приоритетного показа на груз",
        "operationId": "POST-v2/cargos/{cargoApplicationId}/priority-view",
        "parameters": [
          {
            "name": "cargoApplicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UpsertPriorityViewPublicRequest"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "delete": {
        "tags": [
          "cargos-priority-view-api",
          "public",
          "DeleteCargosPriorityPublic"
        ],
        "description": "Удаление настроек приоритетного показа с груза",
        "operationId": "DELETE-v2/cargos/{cargoApplicationId}/priority-view",
        "parameters": [
          {
            "name": "cargoApplicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/v1.0/loads/comments": {
      "get": {
        "tags": [
          "Грузы"
        ],
        "summary": "Получение всех комментариев фирмы ко всем грузам",
        "operationId": "Loads_GetCommentsForAllLoads",
        "responses": {
          "200": {
            "description": "Комментарии ко всем грузам фирмы",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Comment"
                    }
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      }
    },
    "/v1.0/loads/{loadId}/comments": {
      "get": {
        "tags": [
          "Грузы"
        ],
        "summary": "Получение всех комментариев к грузу для текущей фирмы.",
        "operationId": "Loads_GetLoadCommentsAll",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Комментарии к грузу",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Comment"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Грузы"
        ],
        "summary": "Добавление либо редактирование комментария к грузу",
        "operationId": "Loads_UpsertLoadComment",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "comment",
          "description": "Комментарий",
          "content": {
            "application/json": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Комментарий к грузу",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Грузы"
        ],
        "summary": "Удаление комментария у груза.",
        "operationId": "Loads_DeleteLoadComment",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Комментарий к грузу успешно удален",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      }
    },
    "/gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers": {
      "post": {
        "parameters": [
          {
            "name": "cargoId",
            "in": "path",
            "required": true,
            "description": "Id груза, для которого создаётся встречное предложение",
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Id груза, для которого создаётся встречное предложение"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CargoCounterOfferIntegratorDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Созданное встречное предложение",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CargoCounterOfferIntegratorView"
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      },
      "delete": {
        "parameters": [
          {
            "name": "cargoId",
            "in": "path",
            "required": true,
            "description": "Id своего опубликованного груза, для которого нужно удалить чужие встречные предложения",
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Id своего опубликованного груза, для которого нужно удалить чужие встречные предложения"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "description": "Список id встречных предложений, которые нужно удалить",
                "items": {
                  "type": "string",
                  "format": "uuid",
                  "description": "Id встречного предложения"
                }
              },
              "example": [
                "c1a01f34-d39a-4fbc-b67d-065afce257e8"
              ]
            }
          }
        },
        "responses": {
          "200": {
            "description": "Статусы удаления по встречным предложениям",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "x-dictionary-key-name": "counter_offer_id",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/OperationStatusCargoCounterOfferIntegratorView"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      },
      "get": {
        "parameters": [
          {
            "name": "cargoId",
            "in": "path",
            "required": true,
            "description": "Id груза, для которого нужно получить встречные предложения",
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Id груза, для которого нужно получить встречные предложения"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true,
              "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Список встречных предложений",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CargoCounterOfferIntegratorView"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    },
    "/gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers/{id}": {
      "put": {
        "parameters": [
          {
            "name": "cargoId",
            "in": "path",
            "required": true,
            "description": "Id груза, к которому относится изменяемое встречное предложение",
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Id груза, к которому относится изменяемое встречное предложение"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id встречного предложения",
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Id встречного предложения"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CargoCounterOfferIntegratorDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Измененное встречное предложение",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CargoCounterOfferIntegratorView"
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    },
    "/gw/cargo-counter-offers-api/integrator/v1/cargos/{cargoId}/counter-offers/my": {
      "delete": {
        "parameters": [
          {
            "name": "cargoId",
            "in": "path",
            "required": true,
            "description": "Id чужого опубликованного груза, для которого нужно удалить свои встречные предложения",
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Id чужого опубликованного груза, для которого нужно удалить свои встречные предложения"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное удаление",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteOwnCounterOffersResponse"
                },
                "example": {
                  "success": true
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    },
    "/gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers": {
      "get": {
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true,
              "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Список встречных предложений",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CargoCounterOfferIntegratorView"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    },
    "/gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/by-cargo-ids": {
      "get": {
        "description": "Ответ будет представлен в виде словаря, где ключ - id груза, а значение - структура со статусом и списком встречных предложений.\n\n* `result`, представляющий набор встречных предложений для данного груза;\n* `status`, представляющий статус груза: если груз с таким id не найден у вашей фирмы, статус равен 1, иначе статус равен 0. Если у груза статус равен 1, то массив встречных предложений всегда пуст.\n\nСписок ключей словаря полностью совпадает со списком грузов, для которых были запрошены встречные предложения.",
        "parameters": [
          {
            "name": "dateFrom",
            "in": "query",
            "required": false,
            "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          {
            "name": "onlyActual",
            "in": "query",
            "required": true,
            "description": "Только актуальные встречные предложения",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "cargoIds",
            "in": "query",
            "required": true,
            "style": "form",
            "explode": true,
            "description": "Массив id грузов, для которых нужно получить встречные предложения",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Словарь встречных предложений по грузам",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "x-dictionary-key-name": "cargo_id",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/OperationStatusCargoCounterOfferIntegratorViewList"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    },
    "/gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/statuses": {
      "get": {
        "parameters": [
          {
            "name": "dateFrom",
            "in": "query",
            "required": false,
            "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true,
              "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Список статусов",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CargoCounterOfferStatus"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    },
    "/gw/cargo-counter-offers-api/integrator/v1/cargos/counter-offers/{id}": {
      "get": {
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Id встречного предложения",
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Id встречного предложения"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Встречное предложение",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CargoCounterOfferIntegratorView"
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    },
    "/gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/counter-offers": {
      "get": {
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true,
              "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Список встречных предложений",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CargoCounterOfferIntegratorView"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    },
    "/gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/{cargoId}/counter-offers": {
      "get": {
        "parameters": [
          {
            "name": "cargoId",
            "in": "path",
            "required": true,
            "description": "Id неопубликованного груза, для которого нужно получить встречные предложения",
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Id неопубликованного груза, для которого нужно получить встречные предложения"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true,
              "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Список встречных предложений",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CargoCounterOfferIntegratorView"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      },
      "delete": {
        "parameters": [
          {
            "name": "cargoId",
            "in": "path",
            "required": true,
            "description": "Id неопубликованного груза, для которого нужно удалить встречные предложения",
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "Id неопубликованного груза, для которого нужно удалить встречные предложения"
            }
          },
          {
            "name": "counterOfferIds",
            "in": "query",
            "required": true,
            "style": "form",
            "explode": true,
            "description": "Массив id встречных предложений, которые нужно удалить",
            "schema": {
              "type": "array",
              "description": "Массив id встречных предложений, которые нужно удалить",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Статусы удаления по встречным предложениям",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "x-dictionary-key-name": "counter_offer_id",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/OperationStatusCargoCounterOfferIntegratorView"
                  }
                },
                "example": {
                  "c1a01f34-d39a-4fbc-b67d-065afce257e8": {
                    "status": 0,
                    "message": null,
                    "error": null,
                    "result": {
                      "id": "c1a01f34-d39a-4fbc-b67d-065afce257e8",
                      "cargo_id": "b7e02d91-4f6c-4a9e-9d31-2c8b5f4e1a00",
                      "cargo_number": "ГР-102938",
                      "cargo_firm_id": 123456,
                      "firm_id": 654321,
                      "added_at": "2026-05-04T10:15:30.000Z",
                      "updated_at": "2026-05-04T12:00:00.000Z",
                      "price": 45000,
                      "currency_id": 2,
                      "nds_price": 42000,
                      "nds_currency_id": 2,
                      "not_nds_price": 38000,
                      "not_nds_currency_id": 2,
                      "counter_offer_source": 2,
                      "note": null,
                      "pay_attributes": 10,
                      "prepay_percent": 0,
                      "pay_after_max_bank_days": 0,
                      "loading_date": "2026-05-06T08:00:00.000Z",
                      "is_outdated": false,
                      "is_cargo_published": false,
                      "firm_info": {
                        "total_score": 4.7,
                        "status": 1,
                        "full_firm_name": "ООО «Пример Транспорт»",
                        "contact": {
                          "id": 42,
                          "name": "Иван Петров",
                          "telephone": "+74951234567",
                          "email": "contact@example.ru",
                          "icq": null,
                          "mobile": null,
                          "mobile_operator": null,
                          "skype_name": null,
                          "city_id": 1,
                          "location": {
                            "city_id": 1
                          }
                        },
                        "inn": "7707083893"
                      }
                    }
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    },
    "/gw/cargo-counter-offers-api/integrator/v1/cargos/unpublished/counter-offers/by-cargo-ids": {
      "get": {
        "description": "Ответ будет представлен в виде словаря, где ключ - id груза, а значение - структура со статусом и списком встречных предложений.\n\n* `result`, представляющий набор встречных предложений для данного груза;\n* `status`, представляющий статус груза: если груз с таким id не найден у вашей фирмы, статус равен 1, иначе статус равен 0. Если у груза статус равен 1, то массив встречных предложений всегда пуст.\n\nСписок ключей словаря полностью совпадает со списком грузов, для которых были запрошены встречные предложения.",
        "parameters": [
          {
            "name": "cargoIds",
            "in": "query",
            "required": true,
            "style": "form",
            "explode": true,
            "description": "Массив id грузов, для которых нужно получить встречные предложения",
            "schema": {
              "type": "array",
              "description": "Массив id грузов, для которых нужно получить встречные предложения",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true,
              "description": "Дата в UTC, начиная с которой необходимо показывать встречные предложения. Если ничего не передано, показываются все встречные предложения."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Словарь встречных предложений по грузам",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "x-dictionary-key-name": "cargo_id",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/OperationStatusCargoCounterOfferIntegratorViewList"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1.0/loads/new/responses": {
      "get": {
        "tags": [
          "Новая структура отзывов"
        ],
        "summary": "Получение встречных предложений на грузы фирмы с одной или несколькими ставками .",
        "operationId": "NewLoadResponses_GetResponsesForAllLoadsAll",
        "parameters": [
          {
            "name": "dateFrom",
            "in": "query",
            "description": "Дата в UTC, начиная с которой необходимо показывать отзывы. Если ничего не передано, значит показываем абсолютно все отзывы.\nЕсли не передать модификатор часового пояса, дата отправляется в формате UTC+3 (Москва)\n            ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Массив отзывов на все грузы фирмы",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NewLoadResponseViewStandart"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      }
    },
    "/v1.0/loads/new/{loadId}/responses": {
      "get": {
        "tags": [
          "Новая структура отзывов"
        ],
        "summary": "Получение отзывов на конкретный груз фирмы.\nНа данный момент можно получить только встречные предложения.",
        "description": "Если груз твой, то вернутся все отзывы на твой груз с полной информацией.\nЕсли груз чужой, то вернутся все отзывы на этот груз, но все отзывы, кроме твоего, будут иметь в поле FirmInfo.Contact значение null.",
        "operationId": "NewLoadResponses_GetResponsesForLoadAll",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          },
          {
            "name": "dateFrom",
            "in": "query",
            "description": "Дата в UTC, начиная с которой необходимо показывать отзывы. Если ничего не передано, значит показываем абсолютно все отзывы.\nЕсли не передать модификатор часового пояса, дата отправляется в формате UTC+3 (Москва)\n            ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Массив отзывов",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NewLoadResponseViewStandart"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Новая структура отзывов"
        ],
        "summary": "Добавление либо редактирование отзыва на чужой груз.",
        "operationId": "NewLoadResponses_UpsertResponse",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "response",
          "description": "Отзыв на груз",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoadResponseModel"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Отзыв на груз",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NewLoadResponseViewStandart"
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Новая структура отзывов"
        ],
        "summary": "Позволяет удалить встречные предложения с указанными id для своего груза или удалить отзыв фирмы у чужого груза.",
        "operationId": "NewLoadResponses_DeleteResponse",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          },
          {
            "name": "ids",
            "in": "query",
            "style": "form",
            "explode": true,
            "description": "ID отзывов (если нужно удалить встречные предложения у своего груза)",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "guid"
              }
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/DeleteNewResponseOperationStatusView"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      }
    },
    "/v1.0/loads/new/responses/by-ids": {
      "get": {
        "tags": [
          "Новая структура отзывов"
        ],
        "summary": "Получение отзывов на заданные грузы фирмы в виде словаря.\nНа данный момент можно получить только встречные предложения.",
        "operationId": "NewLoadResponses_GetResponsesForLoadsByIds",
        "parameters": [
          {
            "name": "dateFrom",
            "in": "query",
            "description": "Дата в UTC, начиная с которой необходимо показывать отзывы. Если ничего не передано, значит показываем абсолютно все отзывы.\nЕсли не передать модификатор часового пояса, дата отправляется в формате UTC+3 (Москва)\n            ",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 1
          },
          {
            "name": "onlyActual",
            "in": "query",
            "description": "Только актуальные отзывы",
            "schema": {
              "type": "boolean"
            },
            "x-position": 2
          },
          {
            "name": "loadIds",
            "in": "query",
            "style": "form",
            "explode": true,
            "description": "Массив id грузов, для которых нужно получить отзывы",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "guid"
              }
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "Массив отзывов по заданным грузам в виде словаря",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/NewResponseOperationStatusView"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      }
    },
    "/v1.0/loads/search/byboards": {
      "get": {
        "tags": [
          "Грузы на площадках"
        ],
        "summary": "Проводит поиск грузов, которые размещены на указанных площадках. В результате присутствуют как ваши грузы, так и грузы других пользователей. ",
        "operationId": "LoadsSearch_GetAll",
        "parameters": [
          {
            "name": "boardIds",
            "in": "query",
            "style": "form",
            "explode": true,
            "description": "Массив ID площадок",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Массив грузов, которые опубликованы на выбранных площадках",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LoadView"
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      }
    },
    "/v1.0/loads/{loadId}/atidocs/{documentType}": {
      "post": {
        "tags": [
          "Грузы"
        ],
        "summary": "Позволяет создавать документ заданного типа в АТИ-Доках на груз с заданным id.",
        "operationId": "Loads_CreateDocument",
        "parameters": [
          {
            "name": "loadId",
            "in": "path",
            "required": true,
            "description": "ID груза",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          },
          {
            "name": "documentType",
            "in": "path",
            "required": true,
            "description": "Тип документа, который нужно создать",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Статус",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AtiDocsCreateLoadDocumentResponse"
                }
              }
            }
          },
          "4XX": {
            "description": "Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/api/loads/#loads-title-errors)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalExceptionModelOfFinalException"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ArchiveApplicationAuctionEndActionRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AuctionEndActionRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          }
        }
      },
      "ArchiveApplicationAuctionEndActionResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AuctionEndActionResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Действие:\r\n`archive` — переместить заявку в архив\r\n`publish-with-rate` — опубликовать заявку со ставкой\r\n`publish-rate-request` — опубликовать заявку с запросом ставки"
          }
        }
      },
      "AuctionCounterOffersOptionsRequest": {
        "type": "object",
        "properties": {
          "acceptance_delay": {
            "type": "string",
            "description": "Принимать встречные предложения через:\r\n- `30m` — 30 минут\r\n- `1h` — 1 час \r\n- `2h` — 2 часа\r\n- `3h` — 3 часа\r\n- `4h` — 4 часа\r\n- `6h` — 6 часов\r\n- `12h` — 12 часов"
          },
          "until_first_bid": {
            "type": "boolean",
            "description": "Принимать встречные предложения до первой ставки по Торгам",
            "nullable": true
          }
        }
      },
      "AuctionCounterOffersOptionsResponse": {
        "required": [
          "until_first_bid"
        ],
        "type": "object",
        "properties": {
          "acceptance_delay": {
            "type": "string",
            "description": "Может быть null, в таком случае будем принимать встречные предложения сразу.\r\nПринимать встречные предложения через:\r\n- `30m` — 30 минут\r\n- `1h` — 1 час\r\n- `2h` — 2 часа\r\n- `3h` — 3 часа\r\n- `4h` — 4 часа\r\n- `6h` — 6 часов\r\n- `12h` — 12 часов",
            "nullable": true
          },
          "until_first_bid": {
            "type": "boolean",
            "description": "Принимать встречные предложения до первой ставки по Торгам"
          }
        }
      },
      "AuctionDurationOptionsRequest": {
        "type": "object",
        "properties": {
          "fixed_duration": {
            "type": "string",
            "description": "Длительность торгов:\r\n- `30m` — 30 минут\r\n- `1h` — 1 час \r\n- `2h` — 2 часа\r\n- `3h` — 3 часа\r\n- `4h` — 4 часа\r\n- `6h` — 6 часов\r\n- `12h` — 12 часов\r\n- `1d` — 1 день\r\n- `2d` — 2 дня\r\n- `3d` — 3 дня\r\n- `4d` — 4 дня\r\n- `5d` — 5 дней"
          },
          "count_from_first_bid": {
            "type": "boolean",
            "description": "Отсчитывать длительность Торгов с момента первой ставки",
            "nullable": true
          },
          "finish_until": {
            "type": "string",
            "description": "Точные дата и время завершения Торгов",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "AuctionDurationOptionsResponse": {
        "required": [
          "count_from_first_bid"
        ],
        "type": "object",
        "properties": {
          "fixed_duration": {
            "type": "string",
            "description": "Может быть null, если есть значение у поля FinishUntil.\r\nДлительность проведения Торгов:\r\n`30m` — 30 минут\r\n`1h` — 1 час\r\n`2h` — 2 часа\r\n`3h` — 3 часа\r\n`4h` — 4 часа\r\n`6h` — 6 часов\r\n`12h` — 12 часов\r\n`1d` — 1 день\r\n`2d` — 2 дня\r\n`3d` — 3 дня\r\n`4d` — 4 дня\r\n`5d` — 5 дней",
            "nullable": true
          },
          "count_from_first_bid": {
            "type": "boolean",
            "description": "Отсчитывать длительность Торгов с момента первой ставки"
          },
          "finish_until": {
            "type": "string",
            "description": "Точные дата и время завершения Торгов",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "AuctionEndActionRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Действие\r\n- `archive` — переместить заявку в архив\r\n- `publish-with-rate` — опубликовать заявку со ставкой\r\n- `publish-rate-request` — опубликовать заявку с запросом ставки"
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "archive": "#/components/schemas/ArchiveApplicationAuctionEndActionRequest",
            "publish-with-rate": "#/components/schemas/PublishWithRatesAuctionEndActionRequest",
            "publish-rate-request": "#/components/schemas/PublishRateRequestAuctionEndActionRequest"
          }
        }
      },
      "AuctionEndActionResponse": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Действие:\r\n`archive` — переместить заявку в архив\r\n`publish-with-rate` — опубликовать заявку со ставкой\r\n`publish-rate-request` — опубликовать заявку с запросом ставки"
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "archive": "#/components/schemas/ArchiveApplicationAuctionEndActionResponse",
            "publish-with-rate": "#/components/schemas/PublishWithRatesAuctionEndActionResponse",
            "publish-rate-request": "#/components/schemas/PublishRateRequestAuctionEndActionResponse"
          }
        }
      },
      "AuctionPaymentRequest": {
        "required": [
          "accept_bids_with_vat",
          "auction_currency_type",
          "auction_duration",
          "bid_step",
          "no_winner_end_options",
          "start_rate",
          "time_to_provide_documents",
          "winner_criteria"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "accept_bids_with_vat": {
            "type": "boolean",
            "description": "Принимать ставки с НДС",
            "nullable": true
          },
          "accept_bids_without_vat": {
            "type": "boolean",
            "description": "Принимать ставки без НДС",
            "nullable": true
          },
          "vat_percents": {
            "type": "integer",
            "description": "Размер НДС, в процентах",
            "format": "int32",
            "nullable": true
          },
          "start_rate": {
            "type": "number",
            "description": "Начальная ставка Торгов",
            "format": "double",
            "nullable": true
          },
          "auction_currency_type": {
            "type": "integer",
            "description": "Id валюты, в которой будут вестись Торги. Значение из <a href=\"/developers/api/dictionaries/cargoes/\">словаря валют</a>",
            "format": "int32",
            "nullable": true
          },
          "bid_step": {
            "type": "number",
            "description": "Шаг ставок",
            "format": "double",
            "nullable": true
          },
          "auction_duration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuctionDurationOptionsRequest"
              }
            ],
            "description": "Параметры длительности Торгов"
          },
          "accept_counter_offers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuctionCounterOffersOptionsRequest"
              }
            ],
            "description": "Параметры доступности встречных предложений во время проведения Торгов"
          },
          "auto_renew": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuctionRenewOptionsRequest"
              }
            ],
            "description": "Параметры автопродления Торгов"
          },
          "is_antisniper": {
            "type": "boolean",
            "description": "Опция Антиснайпер",
            "nullable": true
          },
          "rate_rise": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuctionRateRiseOptionsRequest"
              }
            ],
            "description": "Параметры повышения ставки Торгов при отсутствии ставок"
          },
          "winner_criteria": {
            "type": "string",
            "description": "Критерий выбора победителя:\r\n- `best-rate` — по лучшей ставке\r\n- `matching-date` — с учётом даты загрузки и лучшей ставки"
          },
          "time_to_provide_documents": {
            "type": "string",
            "description": "Время, за которое победитель обязан предоставить документы",
            "format": "HH:mm",
            "nullable": true
          },
          "winner_reselection_count": {
            "type": "integer",
            "description": "Количество автоматических переназначений победителя Торгов, в случае отказа от груза",
            "format": "int32",
            "nullable": true
          },
          "auction_restart": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuctionRestartOptionsRequest"
              }
            ],
            "description": "Параметры перезапуска Торгов в случае отсутствия ставок"
          },
          "no_winner_end_options": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ArchiveApplicationAuctionEndActionRequest"
              },
              {
                "$ref": "#/components/schemas/PublishWithRatesAuctionEndActionRequest"
              },
              {
                "$ref": "#/components/schemas/PublishRateRequestAuctionEndActionRequest"
              }
            ],
            "description": "Действие при окончательном завершении Торгов без победителя",
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "archive": "#/components/schemas/ArchiveApplicationAuctionEndActionRequest",
                "publish-with-rate": "#/components/schemas/PublishWithRatesAuctionEndActionRequest",
                "publish-rate-request": "#/components/schemas/PublishRateRequestAuctionEndActionRequest"
              }
            }
          },
          "keep_rates": {
            "type": "boolean",
            "description": "Сохранять ставки при редактировании груза",
            "nullable": true
          }
        }
      },
      "AuctionPaymentResponse": {
        "required": [
          "accept_bids_with_vat",
          "auction_currency_type",
          "auction_duration",
          "auction_id",
          "bid_step",
          "is_antisniper",
          "no_winner_end_options",
          "start_rate",
          "time_to_provide_documents",
          "winner_criteria"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип оплаты:\r\n- `with-bargaining` - ставка с возможностью торга\r\n- `without-bargaining` - ставка без возможности торга\r\n- `rate-request` - запрос ставки\r\n- `auction` - у заявки проводятся Торги"
          },
          "auction_id": {
            "type": "string",
            "description": "Id Торгов",
            "format": "uuid"
          },
          "start_rate": {
            "type": "number",
            "description": "Начальная ставка Торгов",
            "format": "double"
          },
          "auction_currency_type": {
            "type": "integer",
            "description": "Id валюты, в которой будут вестись Торги. Значение из <a href=\"/developers/api/dictionaries/cargoes/\">словаря валют</a>",
            "format": "int32"
          },
          "bid_step": {
            "type": "number",
            "description": "Шаг ставки Торгов",
            "format": "double"
          },
          "accept_bids_with_vat": {
            "type": "boolean",
            "description": "Принимать ставки с НДС"
          },
          "accept_bids_without_vat": {
            "type": "boolean",
            "description": "Принимать ставки без НДС",
            "nullable": true
          },
          "vat_percents": {
            "type": "integer",
            "description": "Размер НДС, в процентах",
            "format": "int32",
            "nullable": true
          },
          "is_antisniper": {
            "type": "boolean",
            "description": "Опция Антиснайпер"
          },
          "time_to_provide_documents": {
            "type": "string",
            "description": "Время, за которое победитель обязан предоставить документы",
            "format": "HH:mm"
          },
          "winner_criteria": {
            "type": "string",
            "description": "Критерий выбора победителя:\r\n`best-rate` — по лучшей ставке\r\n`matching-date` — с учётом даты загрузки и лучшей ставки"
          },
          "winner_reselection_count": {
            "type": "integer",
            "description": "Количество автоматических переназначений победителя Торгов, в случае отказа от груза",
            "format": "int32",
            "nullable": true
          },
          "auction_duration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuctionDurationOptionsResponse"
              }
            ],
            "description": "Параметры длительности Торгов"
          },
          "no_winner_end_options": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ArchiveApplicationAuctionEndActionResponse"
              },
              {
                "$ref": "#/components/schemas/PublishWithRatesAuctionEndActionResponse"
              },
              {
                "$ref": "#/components/schemas/PublishRateRequestAuctionEndActionResponse"
              }
            ],
            "description": "Действие при окончательном завершении Торгов без победителя",
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "archive": "#/components/schemas/ArchiveApplicationAuctionEndActionResponse",
                "publish-with-rate": "#/components/schemas/PublishWithRatesAuctionEndActionResponse",
                "publish-rate-request": "#/components/schemas/PublishRateRequestAuctionEndActionResponse"
              }
            }
          },
          "accept_counter_offers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuctionCounterOffersOptionsResponse"
              }
            ],
            "description": "Параметры доступности встречных предложений во время проведения Торгов",
            "nullable": true
          },
          "auto_renew": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuctionRenewOptionsResponse"
              }
            ],
            "description": "Параметры автопродления Торгов",
            "nullable": true
          },
          "rate_rise": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuctionRateRiseOptionsResponse"
              }
            ],
            "description": "Параметры повышения ставки Торгов при отсутствии ставок",
            "nullable": true
          },
          "auction_restart": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuctionRestartOptionsResponse"
              }
            ],
            "description": "Параметры перезапуска Торгов в случае отсутствия ставок",
            "nullable": true
          }
        }
      },
      "AuctionRateRiseOptionsRequest": {
        "required": [
          "periodicity",
          "rate_limit"
        ],
        "type": "object",
        "properties": {
          "periodicity": {
            "type": "integer",
            "description": "Периодичность повышения",
            "format": "int32",
            "nullable": true
          },
          "rate_limit": {
            "type": "number",
            "description": "Максимальное значение ставки Торгов",
            "format": "double",
            "nullable": true
          }
        }
      },
      "AuctionRateRiseOptionsResponse": {
        "required": [
          "periodicity",
          "rate_limit"
        ],
        "type": "object",
        "properties": {
          "periodicity": {
            "type": "integer",
            "description": "Периодичность повышения",
            "format": "int32"
          },
          "rate_limit": {
            "type": "number",
            "description": "Максимальное значение ставки Торгов",
            "format": "double"
          }
        }
      },
      "AuctionRenewOptionsRequest": {
        "required": [
          "limit",
          "step"
        ],
        "type": "object",
        "properties": {
          "step": {
            "type": "integer",
            "description": "Количество минут, на которые будут продливаться Торги",
            "format": "int32",
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "description": "Максимальное время, на которое будут продливаться Торги (в минутах)",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "AuctionRenewOptionsResponse": {
        "required": [
          "limit",
          "step"
        ],
        "type": "object",
        "properties": {
          "step": {
            "type": "integer",
            "description": "Количество минут, на которые будут продливаться Торги",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "description": "Максимальное время, на которое будут продливаться Торги (в минутах)",
            "format": "int32"
          }
        }
      },
      "AuctionRestartCurrencyRateIncreaseRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AuctionRestartRateIncreaseRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          }
        }
      },
      "AuctionRestartIncreaseRateByPercentResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AuctionRestartRateIncreaseResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип повышения ставки после перезапуска:\r\n`currency` — в валюте ставки, абсолютное значение\r\n`percent` — процент от начальной ставки"
          }
        }
      },
      "AuctionRestartIncreaseRateByValueResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AuctionRestartRateIncreaseResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип повышения ставки после перезапуска:\r\n`currency` — в валюте ставки, абсолютное значение\r\n`percent` — процент от начальной ставки"
          }
        }
      },
      "AuctionRestartOptionsRequest": {
        "required": [
          "count",
          "new_duration"
        ],
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Количество перезапусков",
            "format": "int32",
            "nullable": true
          },
          "new_duration": {
            "type": "string",
            "description": "Длительность Торгов после перезапуска:\r\n- `30m` — 30 минут\r\n- `1h` — 1 час\r\n- `2h` — 2 часа\r\n- `3h` — 3 часа\r\n- `4h` — 4 часа\r\n- `6h` — 6 часов\r\n- `12h` — 12 часов"
          },
          "rate_increase": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AuctionRestartCurrencyRateIncreaseRequest"
              },
              {
                "$ref": "#/components/schemas/AuctionRestartPercentRateIncreaseRequest"
              }
            ],
            "description": "Параметры повышения начальной ставки после перезапуска торгов.",
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "currency": "#/components/schemas/AuctionRestartCurrencyRateIncreaseRequest",
                "percent": "#/components/schemas/AuctionRestartPercentRateIncreaseRequest"
              }
            }
          }
        }
      },
      "AuctionRestartOptionsResponse": {
        "required": [
          "count",
          "new_duration"
        ],
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Количество перезапусков",
            "format": "int32"
          },
          "new_duration": {
            "type": "string",
            "description": "Длительность Торгов после перезапуска:\r\n`30m` — 30 минут\r\n`1h` — 1 час\r\n`2h` — 2 часа\r\n`3h` — 3 часа\r\n`4h` — 4 часа\r\n`6h` — 6 часов\r\n`12h` — 12 часов"
          },
          "rate_increase": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AuctionRestartIncreaseRateByValueResponse"
              },
              {
                "$ref": "#/components/schemas/AuctionRestartIncreaseRateByPercentResponse"
              }
            ],
            "description": "Параметры повышения начальной ставки после перезапуска торгов.",
            "nullable": true,
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "currency": "#/components/schemas/AuctionRestartIncreaseRateByValueResponse",
                "percent": "#/components/schemas/AuctionRestartIncreaseRateByPercentResponse"
              }
            }
          }
        }
      },
      "AuctionRestartPercentRateIncreaseRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AuctionRestartRateIncreaseRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          }
        }
      },
      "AuctionRestartRateIncreaseRequest": {
        "required": [
          "amount",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип повышения ставки после перезапуска.\r\n- `currency` — в валюте ставки, абсолютное значение\r\n- `percent` — процент от начальной ставки"
          },
          "amount": {
            "type": "number",
            "description": "Значение, на которое нужно повысить начальную ставку.",
            "format": "double",
            "nullable": true
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "currency": "#/components/schemas/AuctionRestartCurrencyRateIncreaseRequest",
            "percent": "#/components/schemas/AuctionRestartPercentRateIncreaseRequest"
          }
        }
      },
      "AuctionRestartRateIncreaseResponse": {
        "required": [
          "amount",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип повышения ставки после перезапуска:\r\n`currency` — в валюте ставки, абсолютное значение\r\n`percent` — процент от начальной ставки"
          },
          "amount": {
            "type": "number",
            "description": "Значение, на которое нужно повысить начальную ставку.",
            "format": "double"
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "currency": "#/components/schemas/AuctionRestartIncreaseRateByValueResponse",
            "percent": "#/components/schemas/AuctionRestartIncreaseRateByPercentResponse"
          }
        }
      },
      "AutoInvitesSettingsResponse": {
        "required": [
          "invite_delay",
          "invite_duration",
          "need_archive_on_invite"
        ],
        "type": "object",
        "properties": {
          "invite_delay": {
            "type": "string",
            "description": "Период приема встречного предложения до автоматического приглашения"
          },
          "invite_duration": {
            "type": "string",
            "description": "Период действия автоматического приглашения"
          },
          "need_archive_on_invite": {
            "type": "boolean",
            "description": "Архивировать заявку при срабатывании автоматического приглашения"
          },
          "max_percent_deviation": {
            "type": "integer",
            "description": "Максимальное возможное отклонение от ставки для срабатывания автоматического приглашения",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "BaseRatesPaymentRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentRequest"
          }
        ],
        "properties": {
          "currency_type": {
            "type": "integer",
            "description": "Id валюты из <a href=\"/developers/api/dictionaries/cargoes/\">словаря валют</a>",
            "format": "int32",
            "nullable": true
          },
          "rate_with_vat": {
            "type": "number",
            "description": "Ставка безнал с НДС",
            "format": "double",
            "nullable": true
          },
          "rate_without_vat": {
            "type": "number",
            "description": "Ставка безнал без НДС",
            "format": "double",
            "nullable": true
          },
          "cash": {
            "type": "number",
            "description": "Ставка наличными",
            "format": "double",
            "nullable": true
          },
          "on_card": {
            "type": "boolean",
            "description": "Возможность отправлять наличные на карту",
            "nullable": true
          }
        }
      },
      "BoardPlacementRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id площадки"
          },
          "publication_mode": {
            "type": "string",
            "description": "Опубликовать груз\r\n- `now` – сразу\r\n- `15m` – через 15 минут\r\n- `30m` – через 30 минут\r\n- `1h` – через час\r\n- `3h` – через 3 часа\r\n- `6h` – через 6 часов\r\n- `exact-time` - в точное время",
            "default": "now"
          },
          "publication_time": {
            "type": "string",
            "description": "Точное время публикации груза, для `publication_mode = 'exact-time'`",
            "format": "date-time",
            "nullable": true
          },
          "cancel_publish_on_auction_bet": {
            "type": "boolean",
            "description": "Не публиковать груз при отложенной публикации, если появилась ставка по Торгам",
            "nullable": true
          },
          "reservation_enabled": {
            "type": "boolean",
            "description": "Разрешить перевозчикам бронировать груз",
            "nullable": true
          }
        }
      },
      "BoardPlacementResponse": {
        "required": [
          "cancel_publish_on_auction_bet",
          "id",
          "is_published",
          "publication_mode",
          "publication_time",
          "reservation_enabled"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id площадки"
          },
          "publication_mode": {
            "type": "string",
            "description": "Опубликовать груз:\r\nnow – сразу\r\n`15m` – через 15 минут\r\n`30m` – через 30 минут\r\n`1h` – через час\r\n`3h` – через 3 часа\r\n`6h` – через 6 часов\r\n`exact-time` - в точное время"
          },
          "publication_time": {
            "type": "string",
            "description": "Точное время публикации груза, для publication_mode = 'exact-time'",
            "format": "date-time"
          },
          "cancel_publish_on_auction_bet": {
            "type": "boolean",
            "description": "Не публиковать груз при отложенной публикации, если появилась ставка по Торгам"
          },
          "reservation_enabled": {
            "type": "boolean",
            "description": "Разрешить перевозчикам бронировать груз"
          },
          "is_published": {
            "type": "boolean",
            "description": "Груз опубликован на площадке"
          }
        }
      },
      "BoundedLoadingTimeRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadingTimeRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "start": {
            "type": "string",
            "description": "С",
            "format": "HH:mm",
            "nullable": true
          },
          "end": {
            "type": "string",
            "description": "По",
            "format": "HH:mm",
            "nullable": true
          },
          "offset": {
            "type": "string",
            "description": "Часовой пояс",
            "format": "+HH:mm",
            "nullable": true
          }
        }
      },
      "BoundedLoadingTimeResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadingTimeResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип времени:\r\n- `bounded` — с ограничением\r\n- `round-the-clock` — круглосуточно"
          },
          "start": {
            "type": "string",
            "description": "Время \"с\"",
            "format": "HH:mm",
            "nullable": true
          },
          "end": {
            "type": "string",
            "description": "Время \"по\"",
            "format": "HH:mm",
            "nullable": true
          },
          "offset": {
            "type": "string",
            "description": "Часовой пояс",
            "format": "+HH:mm",
            "nullable": true
          }
        }
      },
      "CargoApplicationRequest": {
        "required": [
          "contacts",
          "payment",
          "route",
          "truck"
        ],
        "type": "object",
        "properties": {
          "external_id": {
            "maxLength": 250,
            "type": "string",
            "description": "Внешний номер груза или заказа"
          },
          "route": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RouteRequest"
              }
            ],
            "description": "Маршрут"
          },
          "truck": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TruckRequest"
              }
            ],
            "description": "Транспорт"
          },
          "payment": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/WithBargainingPaymentRequest"
              },
              {
                "$ref": "#/components/schemas/WithoutBargainingPaymentRequest"
              },
              {
                "$ref": "#/components/schemas/RateRequestPaymentRequest"
              },
              {
                "$ref": "#/components/schemas/AuctionPaymentRequest"
              }
            ],
            "description": "Оплата",
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "with-bargaining": "#/components/schemas/WithBargainingPaymentRequest",
                "without-bargaining": "#/components/schemas/WithoutBargainingPaymentRequest",
                "rate-request": "#/components/schemas/RateRequestPaymentRequest",
                "auction": "#/components/schemas/AuctionPaymentRequest"
              }
            }
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentRequest"
            },
            "description": "Фото груза и документов"
          },
          "boards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BoardPlacementRequest"
            },
            "description": "Площадки груза"
          },
          "paid_features": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaidFeaturesRequest"
              }
            ],
            "description": "Платные услуги: приоритетный показ, стелс"
          },
          "note": {
            "maxLength": 1000,
            "type": "string",
            "description": "Примечание к заявке"
          },
          "contacts": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Id контактов заявки"
          }
        }
      },
      "CargoRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Порядковый номер груза внутри заявки",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "CargoResponse": {
        "required": [
          "cargo_id"
        ],
        "type": "object",
        "properties": {
          "cargo_id": {
            "type": "integer",
            "description": "Порядковый Id груза внутри заявки",
            "format": "int32"
          },
          "weight": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WeightResponse"
              }
            ],
            "description": "Вес",
            "nullable": true
          },
          "volume": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VolumeResponse"
              }
            ],
            "description": "Объём",
            "nullable": true
          },
          "sizes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SizesResponse"
              }
            ],
            "description": "Габариты",
            "nullable": true
          }
        }
      },
      "CityPointResponse": {
        "required": [
          "city_id"
        ],
        "type": "object",
        "properties": {
          "city_id": {
            "type": "integer",
            "description": "Id города из <a href=\"/api/dictionaries/geo/#get-v1.0-dictionaries-cities\">словаря городов</a>",
            "format": "int32"
          },
          "region_id": {
            "type": "integer",
            "description": "Id региона из <a href=\"/api/dictionaries/geo/#get-v1.0-dictionaries-regions\">словаря регионов</a>",
            "format": "int32",
            "nullable": true
          },
          "country_id": {
            "type": "integer",
            "description": "Id страны из <a href=\"/api/dictionaries/geo/#get-v1.0-dictionaries-countries\">словаря стран</a>",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "ContactInformationResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id контакта",
            "format": "int32"
          }
        }
      },
      "ContainsRatesPaymentResponse": {
        "required": [
          "currency_type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentResponse"
          }
        ],
        "properties": {
          "currency_type": {
            "type": "integer",
            "description": "Id валюты из <a href=\"/developers/api/dictionaries/cargoes/\">словаря валют</a>",
            "format": "int32"
          },
          "rate_with_vat": {
            "type": "number",
            "description": "Ставка безнал с НДС",
            "format": "double",
            "nullable": true
          },
          "rate_without_vat": {
            "type": "number",
            "description": "Ставка безнал без НДС",
            "format": "double",
            "nullable": true
          },
          "cash": {
            "type": "number",
            "description": "Ставка наличными",
            "format": "double",
            "nullable": true
          },
          "on_card": {
            "type": "boolean",
            "description": "Возможность отправлять наличные на карту",
            "nullable": true
          }
        }
      },
      "CoordinatesRequest": {
        "required": [
          "latitude",
          "longitude"
        ],
        "type": "object",
        "properties": {
          "longitude": {
            "type": "number",
            "maximum": 180,
            "minimum": -180,
            "description": "Долгота",
            "format": "double",
            "nullable": true
          },
          "latitude": {
            "type": "number",
            "maximum": 90,
            "minimum": -90,
            "description": "Широта",
            "format": "double",
            "nullable": true
          }
        }
      },
      "CoordinatesResponse": {
        "required": [
          "latitude",
          "longitude"
        ],
        "type": "object",
        "properties": {
          "longitude": {
            "type": "number",
            "description": "Долгота",
            "format": "double"
          },
          "latitude": {
            "type": "number",
            "description": "Широта",
            "format": "double"
          }
        }
      },
      "CounterOffersAutoInviteRequest": {
        "type": "object",
        "properties": {
          "invite_delay": {
            "type": "string",
            "description": "Период приема встречного предложения до автоматического приглашения"
          },
          "invite_duration": {
            "type": "string",
            "description": "Период действия автоматического приглашения"
          },
          "max_percent_deviation": {
            "type": "integer",
            "description": "Максимальное возможное отклонение от ставки для срабатывания автоматического приглашения",
            "format": "int32",
            "nullable": true
          },
          "need_archive_on_invite": {
            "type": "boolean",
            "description": "Архивировать заявку при срабатывании автоматического приглашения"
          }
        }
      },
      "CreateCargoApplicationPublicRequest": {
        "required": [
          "cargo_application"
        ],
        "type": "object",
        "properties": {
          "cargo_application": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CargoApplicationRequest"
              }
            ],
            "description": "Заявка груза"
          }
        }
      },
      "CreateCargoApplicationPublicResponse": {
        "type": "object",
        "properties": {
          "cargo_application": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PublicCargoApplicationResponse"
              }
            ],
            "description": "Заявка груза"
          }
        }
      },
      "CustomsWayPointRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/WayPointRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          }
        }
      },
      "CustomsWayPointResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/WayPointResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип промежуточной точки:\r\n- `loading` - точка загрузки\r\n- `unloading` - точка разгрузки\r\n- `customs` - таможня\r\n- `go-through` - точка \"ехать через\""
          }
        }
      },
      "DelayedPaymentModeRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentModeRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "payment_delay_days": {
            "type": "integer",
            "description": "Количество банковских дней",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "DelayedPaymentModeResponse": {
        "required": [
          "payment_delay_days"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentModeResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип режима оплаты:\r\n- `delayed-payment` — через несколько дней\r\n- `on-unloading` — на выгрузке"
          },
          "payment_delay_days": {
            "type": "integer",
            "description": "Количество банковских дней",
            "format": "int32"
          }
        }
      },
      "DocumentRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "deprecated": true,
            "description": "Старый id документа"
          },
          "file_id": {
            "type": "string",
            "description": "Новый id документа"
          }
        }
      },
      "DocumentResponse": {
        "required": [
          "file_id",
          "link",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Старый id документа\r\nOBSOLETE используй поле FileID",
            "deprecated": true
          },
          "file_id": {
            "type": "string",
            "description": "Id документа в API Плюшкин (TODO ссылка)"
          },
          "name": {
            "type": "string",
            "description": "Название документа"
          },
          "link": {
            "type": "string",
            "description": "Ссылка на документ"
          }
        }
      },
      "FromDateLoadingDatesRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadingDateRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "first_date": {
            "type": "string",
            "description": "Дата начала",
            "format": "yyyy-MM-dd<G>",
            "nullable": true
          },
          "last_date": {
            "type": "string",
            "description": "Дата конца",
            "format": "yyyy-MM-dd<G>",
            "nullable": true
          }
        },
        "description": "Дата погрузки \"С даты\", type = 'from-date'"
      },
      "FromDateLoadingDatesResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadingDateResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип даты:\r\n- `from-date` — в промежутке дат `first_date` и `last_date`\r\n- `ready` — готов\r\n- `permanent` — постоянно\r\n- `rate-request` — груза нет, запрос ставки"
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BoundedLoadingTimeResponse"
              },
              {
                "$ref": "#/components/schemas/RoundTheClockLoadingTimeResponse"
              }
            ],
            "description": "Время загрузки",
            "nullable": true,
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "bounded": "#/components/schemas/BoundedLoadingTimeResponse",
                "round-the-clock": "#/components/schemas/RoundTheClockLoadingTimeResponse"
              }
            }
          }
        }
      },
      "GeoPointRequest": {
        "required": [
          "city_id",
          "location"
        ],
        "type": "object",
        "properties": {
          "city_id": {
            "type": "integer",
            "description": "Id города из <a href=\"/api/dictionaries/geo/#get-v1.0-dictionaries-cities\">словаря городов</a>",
            "format": "int32",
            "nullable": true,
            "deprecated": true
          },
          "address": {
            "maxLength": 200,
            "type": "string",
            "description": "Адрес в населённом пункте",
            "deprecated": true
          },
          "coordinates": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CoordinatesRequest"
              }
            ],
            "description": "Координаты",
            "deprecated": true
          },
          "location": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ManualPointLocationRequest"
              },
              {
                "$ref": "#/components/schemas/OrganizationPointLocationRequest"
              }
            ],
            "description": "Расположение",
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "manual": "#/components/schemas/ManualPointLocationRequest",
                "organization": "#/components/schemas/OrganizationPointLocationRequest"
              }
            }
          }
        }
      },
      "GeoPointResponse": {
        "required": [
          "city",
          "city_id"
        ],
        "type": "object",
        "properties": {
          "city_id": {
            "type": "integer",
            "description": "Id города из словаря\r\nOBSOLETE используй поле City.CityId",
            "format": "int32",
            "deprecated": true
          },
          "city": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CityPointResponse"
              }
            ],
            "description": "Информация о населённом пункте"
          },
          "coordinates": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CoordinatesResponse"
              }
            ],
            "description": "Координаты",
            "nullable": true
          },
          "address": {
            "type": "string",
            "description": "Адрес в населённом пункте",
            "nullable": true
          },
          "organization": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganizationResponse"
              }
            ],
            "description": "Данные об организации из справочника",
            "nullable": true
          }
        }
      },
      "GoThroughWayPointRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/WayPointRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          }
        }
      },
      "GoThroughWayPointResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/WayPointResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип промежуточной точки:\r\n- `loading` - точка загрузки\r\n- `unloading` - точка разгрузки\r\n- `customs` - таможня\r\n- `go-through` - точка \"ехать через\""
          }
        }
      },
      "LoadingCargoRequest": {
        "required": [
          "name",
          "volume",
          "weight"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CargoRequest"
          }
        ],
        "properties": {
          "name": {
            "maxLength": 200,
            "type": "string",
            "description": "Наименование груза"
          },
          "weight": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WeightRequest"
              }
            ],
            "description": "Вес"
          },
          "volume": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VolumeRequest"
              }
            ],
            "description": "Объём"
          },
          "packaging": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PackRequest"
              }
            ],
            "description": "Упаковка"
          },
          "sizes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SizesRequest"
              }
            ],
            "description": "Габариты"
          }
        }
      },
      "LoadingCargoResponse": {
        "required": [
          "name"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CargoResponse"
          }
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Наименование груза"
          },
          "packaging": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PackResponse"
              }
            ],
            "description": "Упаковка",
            "nullable": true
          }
        }
      },
      "LoadingDateRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип даты \r\n- `ready` — готов к загрузке\r\n- `from-date` — с даты\r\n- `permanent` — постоянно\r\n- `rate-request` — груза нет, запрос ставки"
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BoundedLoadingTimeRequest"
              },
              {
                "$ref": "#/components/schemas/RoundTheClockLoadingTimeRequest"
              }
            ],
            "description": "Время загрузки",
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "bounded": "#/components/schemas/BoundedLoadingTimeRequest",
                "round-the-clock": "#/components/schemas/RoundTheClockLoadingTimeRequest"
              }
            }
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "ready": "#/components/schemas/ReadyLoadingDatesRequest",
            "from-date": "#/components/schemas/FromDateLoadingDatesRequest",
            "permanent": "#/components/schemas/PermanentLoadingDatesRequest",
            "rate-request": "#/components/schemas/RateRequestLoadingDatesRequest"
          }
        }
      },
      "LoadingDateResponse": {
        "required": [
          "first_date",
          "last_date",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип даты:\r\n- `from-date` — в промежутке дат `first_date` и `last_date`\r\n- `ready` — готов\r\n- `permanent` — постоянно\r\n- `rate-request` — груза нет, запрос ставки"
          },
          "first_date": {
            "type": "string",
            "description": "Дата начала",
            "format": "date-time"
          },
          "last_date": {
            "type": "string",
            "description": "Дата конца",
            "format": "date-time"
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "from-date": "#/components/schemas/FromDateLoadingDatesResponse",
            "ready": "#/components/schemas/ReadyLoadingDatesResponse",
            "permanent": "#/components/schemas/PermanentLoadingDatesResponse",
            "rate-request": "#/components/schemas/RateRequestLoadingDatesResponse"
          }
        }
      },
      "LoadingTimeRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип времени\r\n- `bounded` — с/по\r\n- `round-the-clock` — круглосуточно"
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "bounded": "#/components/schemas/BoundedLoadingTimeRequest",
            "round-the-clock": "#/components/schemas/RoundTheClockLoadingTimeRequest"
          }
        }
      },
      "LoadingTimeResponse": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "bounded": "#/components/schemas/BoundedLoadingTimeResponse",
            "round-the-clock": "#/components/schemas/RoundTheClockLoadingTimeResponse"
          }
        }
      },
      "LoadingWayPointRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/WayPointRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "cargos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoadingCargoRequest"
            },
            "description": "Параметры загружаемых грузов",
            "nullable": true
          },
          "loading_date": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WayPointArrivalDateRequest"
              }
            ],
            "description": "Параметры даты и времени загрузки",
            "nullable": true
          }
        }
      },
      "LoadingWayPointResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/WayPointResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип промежуточной точки:\r\n- `loading` - точка загрузки\r\n- `unloading` - точка разгрузки\r\n- `customs` - таможня\r\n- `go-through` - точка \"ехать через\""
          },
          "cargos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoadingCargoResponse"
            },
            "description": "Параметры загружаемых грузов",
            "nullable": true
          },
          "loading_date": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WayPointArrivalDateResponse"
              }
            ],
            "description": "Даты и время загрузки",
            "nullable": true
          }
        }
      },
      "MainGeoPointRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/GeoPointRequest"
          }
        ],
        "properties": {
          "near_cities": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Ближайшие города. Id города из <a href=\"/api/dictionaries/geo/#get-v1.0-dictionaries-cities\">словаря городов</a>"
          }
        }
      },
      "ManualPointLocationRequest": {
        "required": [
          "city_id",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PointLocationRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "city_id": {
            "type": "integer",
            "description": "Id города из <a href=\"/api/dictionaries/geo/#get-v1.0-dictionaries-cities\">словаря городов</a>",
            "format": "int32",
            "nullable": true
          },
          "address": {
            "maxLength": 200,
            "type": "string",
            "description": "Адрес в населённом пункте"
          },
          "coordinates": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CoordinatesRequest"
              }
            ],
            "description": "Координаты"
          }
        }
      },
      "NearbyCityResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "distance": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        }
      },
      "OnUnloadingPaymentModeRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentModeRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          }
        }
      },
      "OnUnloadingPaymentModeResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentModeResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип режима оплаты:\r\n- `delayed-payment` — через несколько дней\r\n- `on-unloading` — на выгрузке"
          }
        }
      },
      "OrganizationPointLocationRequest": {
        "required": [
          "address_id",
          "organization_id",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PointLocationRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "organization_id": {
            "type": "string",
            "description": "Id из справочника организаций",
            "format": "uuid",
            "nullable": true
          },
          "address_id": {
            "type": "string",
            "description": "Id адреса в организации",
            "format": "uuid",
            "nullable": true
          }
        }
      },
      "OrganizationResponse": {
        "required": [
          "address_id",
          "organization_id"
        ],
        "type": "object",
        "properties": {
          "organization_id": {
            "type": "string",
            "description": "Id из справочника организаций",
            "format": "uuid"
          },
          "address_id": {
            "type": "string",
            "description": "Id адреса в организации",
            "format": "uuid"
          }
        }
      },
      "PackRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "integer",
            "description": "Id типа упаковки из <a href=\"/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-packTypes\">словаря типов упаковок</a>",
            "format": "int32",
            "nullable": true
          },
          "quantity": {
            "type": "integer",
            "description": "Количество",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "PackResponse": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "integer",
            "description": "Id типа упаковки из <a href=\"/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-packTypes\">словаря типов упаковок</a>",
            "format": "int32"
          },
          "quantity": {
            "type": "integer",
            "description": "Количество",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "PaidFeaturesRequest": {
        "type": "object",
        "properties": {
          "priority_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PriorityViewRequest"
              }
            ],
            "description": "Приоритетный показ"
          },
          "stealth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StealthRequest"
              }
            ],
            "description": "Стэлс"
          }
        }
      },
      "PaidFeaturesResponse": {
        "type": "object",
        "properties": {
          "priority_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PriorityViewResponse"
              }
            ],
            "description": "Приоритетный показ",
            "nullable": true
          },
          "stealth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StealthResponse"
              }
            ],
            "description": "Стэлс",
            "nullable": true
          }
        }
      },
      "PaymentModeRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип режима оплаты:\r\n- `on-unloading` — оплата на выгрузке\r\n- `delayed-payment` — оплата через N банковских дней"
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "on-unloading": "#/components/schemas/OnUnloadingPaymentModeRequest",
            "delayed-payment": "#/components/schemas/DelayedPaymentModeRequest"
          }
        }
      },
      "PaymentModeResponse": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип режима оплаты:\r\n- `delayed-payment` — через несколько дней\r\n- `on-unloading` — на выгрузке"
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "delayed-payment": "#/components/schemas/DelayedPaymentModeResponse",
            "on-unloading": "#/components/schemas/OnUnloadingPaymentModeResponse"
          }
        }
      },
      "PaymentRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип оплаты.\r\n- `with-bargaining` — возможен торг\r\n- `without-bargaining` — без торга\r\n- `rate-request` — запрос ставки\r\n- `auction` — торги"
          },
          "hide_counter_offers": {
            "type": "boolean",
            "description": "Встречные предложения видны только вам",
            "nullable": true
          },
          "direct_offer": {
            "type": "boolean",
            "description": "Прямой договор",
            "nullable": true
          },
          "prepayment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrepaymentRequest"
              }
            ],
            "description": "Предоплата"
          },
          "payment_mode": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/OnUnloadingPaymentModeRequest"
              },
              {
                "$ref": "#/components/schemas/DelayedPaymentModeRequest"
              }
            ],
            "description": "Режим оплаты",
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "on-unloading": "#/components/schemas/OnUnloadingPaymentModeRequest",
                "delayed-payment": "#/components/schemas/DelayedPaymentModeRequest"
              }
            }
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "with-bargaining": "#/components/schemas/WithBargainingPaymentRequest",
            "without-bargaining": "#/components/schemas/WithoutBargainingPaymentRequest",
            "rate-request": "#/components/schemas/RateRequestPaymentRequest",
            "auction": "#/components/schemas/AuctionPaymentRequest"
          }
        }
      },
      "PaymentResponse": {
        "required": [
          "direct_offer",
          "hide_counter_offers",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип оплаты:\r\n- `with-bargaining` - ставка с возможностью торга\r\n- `without-bargaining` - ставка без возможности торга\r\n- `rate-request` - запрос ставки\r\n- `auction` - у заявки проводятся Торги"
          },
          "hide_counter_offers": {
            "type": "boolean",
            "description": "Встречные предложения видны только вам"
          },
          "direct_offer": {
            "type": "boolean",
            "description": "Прямой договор"
          },
          "prepayment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrepaymentResponse"
              }
            ],
            "description": "Предоплата",
            "nullable": true
          },
          "payment_mode": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DelayedPaymentModeResponse"
              },
              {
                "$ref": "#/components/schemas/OnUnloadingPaymentModeResponse"
              }
            ],
            "description": "Режим оплаты",
            "nullable": true,
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "delayed-payment": "#/components/schemas/DelayedPaymentModeResponse",
                "on-unloading": "#/components/schemas/OnUnloadingPaymentModeResponse"
              }
            }
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "with-bargaining": "#/components/schemas/WithBargainingPaymentResponse",
            "without-bargaining": "#/components/schemas/WithoutBargainingPaymentResponse",
            "rate-request": "#/components/schemas/RateRequestPaymentResponse",
            "auction": "#/components/schemas/AuctionPaymentResponse"
          }
        }
      },
      "PermanentLoadingDatesRequest": {
        "required": [
          "periodicity"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadingDateRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "periodicity": {
            "type": "string",
            "description": "Периодичность постоянной загрузки\r\n- `everyday` — каждый день\r\n- `workdays` — по рабочим дням"
          }
        }
      },
      "PermanentLoadingDatesResponse": {
        "required": [
          "periodicity"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadingDateResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип даты:\r\n- `from-date` — в промежутке дат `first_date` и `last_date`\r\n- `ready` — готов\r\n- `permanent` — постоянно\r\n- `rate-request` — груза нет, запрос ставки"
          },
          "periodicity": {
            "type": "string",
            "description": "Периодичность постоянной загрузки:\r\n- `everyday` — \"каждый день\"\r\n- `workdays` — \"по рабочим дням\""
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BoundedLoadingTimeResponse"
              },
              {
                "$ref": "#/components/schemas/RoundTheClockLoadingTimeResponse"
              }
            ],
            "description": "Время загрузки",
            "nullable": true,
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "bounded": "#/components/schemas/BoundedLoadingTimeResponse",
                "round-the-clock": "#/components/schemas/RoundTheClockLoadingTimeResponse"
              }
            }
          }
        }
      },
      "PointLocationRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип расположения точки:\r\n- `manual` — ручная\r\n- `organization` — из организации"
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "manual": "#/components/schemas/ManualPointLocationRequest",
            "organization": "#/components/schemas/OrganizationPointLocationRequest"
          }
        }
      },
      "PrepaymentRequest": {
        "type": "object",
        "properties": {
          "percent": {
            "type": "integer",
            "description": "Процент предоплаты",
            "format": "int32",
            "nullable": true
          },
          "using_fuel": {
            "type": "boolean",
            "description": "Предоплата топливом",
            "nullable": true
          }
        }
      },
      "PrepaymentResponse": {
        "required": [
          "using_fuel"
        ],
        "type": "object",
        "properties": {
          "percent": {
            "type": "integer",
            "description": "Процент предоплаты",
            "format": "int32",
            "nullable": true
          },
          "using_fuel": {
            "type": "boolean",
            "description": "Предоплата топливом"
          }
        }
      },
      "PrimaryLoadingPointRequest": {
        "required": [
          "cargos",
          "dates"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/MainGeoPointRequest"
          }
        ],
        "properties": {
          "dates": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ReadyLoadingDatesRequest"
              },
              {
                "$ref": "#/components/schemas/FromDateLoadingDatesRequest"
              },
              {
                "$ref": "#/components/schemas/PermanentLoadingDatesRequest"
              },
              {
                "$ref": "#/components/schemas/RateRequestLoadingDatesRequest"
              }
            ],
            "description": "Даты загрузки",
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "ready": "#/components/schemas/ReadyLoadingDatesRequest",
                "from-date": "#/components/schemas/FromDateLoadingDatesRequest",
                "permanent": "#/components/schemas/PermanentLoadingDatesRequest",
                "rate-request": "#/components/schemas/RateRequestLoadingDatesRequest"
              }
            }
          },
          "cargos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoadingCargoRequest"
            },
            "description": "Параметры грузов"
          }
        }
      },
      "PrimaryLoadingPointResponse": {
        "required": [
          "cargos",
          "dates"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/GeoPointResponse"
          }
        ],
        "properties": {
          "near_cities": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Ближайшие города. Id города из словаря\r\nOBSOLETE используй поле NearbyCities",
            "nullable": true,
            "deprecated": true
          },
          "dates": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/FromDateLoadingDatesResponse"
              },
              {
                "$ref": "#/components/schemas/ReadyLoadingDatesResponse"
              },
              {
                "$ref": "#/components/schemas/PermanentLoadingDatesResponse"
              },
              {
                "$ref": "#/components/schemas/RateRequestLoadingDatesResponse"
              }
            ],
            "description": "Даты загрузки",
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "from-date": "#/components/schemas/FromDateLoadingDatesResponse",
                "ready": "#/components/schemas/ReadyLoadingDatesResponse",
                "permanent": "#/components/schemas/PermanentLoadingDatesResponse",
                "rate-request": "#/components/schemas/RateRequestLoadingDatesResponse"
              }
            }
          },
          "cargos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoadingCargoResponse"
            },
            "description": "Параметры грузов на загрузку"
          },
          "nearby_cities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NearbyCityResponse"
            },
            "description": "Ближайшие крупные города",
            "nullable": true
          }
        }
      },
      "PrimaryUnloadingPointRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/MainGeoPointRequest"
          }
        ],
        "properties": {
          "dates": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UnloadingDatesRequest"
              }
            ],
            "description": "Даты разгрузки"
          }
        }
      },
      "PrimaryUnloadingPointResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/GeoPointResponse"
          }
        ],
        "properties": {
          "near_cities": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Ближайшие города. Id города из словаря\r\nOBSOLETE используй поле NearbyCities",
            "nullable": true,
            "deprecated": true
          },
          "dates": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UnloadingDatesResponse"
              }
            ],
            "description": "Даты разгрузки",
            "nullable": true
          },
          "nearby_cities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NearbyCityResponse"
            },
            "description": "Ближайшие крупные города",
            "nullable": true
          }
        }
      },
      "PriorityViewRequest": {
        "required": [
          "rate"
        ],
        "type": "object",
        "properties": {
          "rate": {
            "type": "number",
            "description": "Ставка за просмотр",
            "format": "double",
            "nullable": true
          },
          "limit": {
            "type": "number",
            "description": "Лимит на заявку",
            "format": "double",
            "nullable": true
          },
          "daily_limit": {
            "type": "number",
            "description": "Суточный лимит",
            "format": "double",
            "nullable": true
          },
          "only_for_paid_users": {
            "type": "boolean",
            "description": "Показывать приоритетный груз только платным пользователям",
            "nullable": true
          }
        }
      },
      "PriorityViewResponse": {
        "required": [
          "only_for_paid_users",
          "rate"
        ],
        "type": "object",
        "properties": {
          "money_spent_per_day": {
            "type": "number",
            "description": "Потрачено атисов за день\r\nOBSOLETE необходимо получать эту информацию из api приоритетного показа по грузам",
            "format": "double",
            "deprecated": true
          },
          "money_spent_per_order": {
            "type": "number",
            "description": "Потрачено атисов на эту заявку\r\nOBSOLETE необходимо получать эту информацию из api приоритетного показа по грузам",
            "format": "double",
            "deprecated": true
          },
          "rate": {
            "type": "number",
            "description": "Ставка за просмотр",
            "format": "double"
          },
          "only_for_paid_users": {
            "type": "boolean",
            "description": "Показывать приоритетный груз только платным пользователям"
          },
          "limit": {
            "type": "number",
            "description": "Лимит на заявку",
            "format": "double",
            "nullable": true
          },
          "daily_limit": {
            "type": "number",
            "description": "Суточный лимит",
            "format": "double",
            "nullable": true
          }
        }
      },
      "PublicCargoApplicationResponse": {
        "required": [
          "added_at",
          "application_contacts",
          "boards",
          "cargo_application_id",
          "cargo_application_number",
          "department_id",
          "origin_source",
          "payment",
          "persistent_user_id",
          "route",
          "snapshot_id",
          "truck",
          "updated_at",
          "refreshed_at"
        ],
        "type": "object",
        "properties": {
          "cargo_id": {
            "type": "string",
            "description": "ID груза\r\nOBSOLETE используй поле `CargoApplicationId`",
            "format": "uuid",
            "deprecated": true
          },
          "cargo_number": {
            "type": "string",
            "description": "Номер груза, автоматически генерируемый ATI.SU\r\nOBSOLETE используй поле `CargoApplicationNumber`",
            "deprecated": true
          },
          "source": {
            "type": "integer",
            "description": "OBSOLETE используй поле `OriginSource`",
            "format": "int32",
            "deprecated": true
          },
          "contacts": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Контакты\r\nOBSOLETE используй поле ApplicationContacts",
            "deprecated": true
          },
          "distance": {
            "type": "integer",
            "description": "Дистанция, км",
            "format": "int32",
            "deprecated": true
          },
          "cargo_application_id": {
            "type": "string",
            "description": "Id груза",
            "format": "uuid"
          },
          "snapshot_id": {
            "type": "integer",
            "description": "Id состояния груза (меняется при каждом редактировании)",
            "format": "int64"
          },
          "cargo_application_number": {
            "type": "string",
            "description": "Номер груза, автоматически генерируемый ATI.SU"
          },
          "department_id": {
            "type": "integer",
            "description": "Подразделение, которому принадлежит заявка.",
            "format": "int32"
          },
          "persistent_user_id": {
            "type": "integer",
            "description": "Идентификатор пользователя, разместившего заявку",
            "format": "int32"
          },
          "actor_contact_id": {
            "type": "integer",
            "description": "Идентификатор контакта, разместившего заявку",
            "format": "int32",
            "nullable": true
          },
          "external_id": {
            "type": "string",
            "description": "Внешний номер груза или заказа",
            "nullable": true
          },
          "added_at": {
            "type": "string",
            "description": "Время добавления груза, UTC",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "description": "Время последнего изменения груза, UTC",
            "format": "date-time"
          },
          "refreshed_at": {
            "type": "string",
            "description": "Время последнего обновления груза, UTC (поднятие груза в поисковой выдаче)",
            "format": "date-time"
          },
          "origin_source": {
            "type": "string",
            "description": "Использованный api при создания груза:\r\n- `web-cargos-api`,\r\n- `mobile-cargos-api`,\r\n- `internal-cargos-api`,\r\n- `public-cargos-api`,\r\n- `internal-atrucks`,\r\n- `internal-torgtrans`,\r\n- `csv_import`,\r\n- `pass-through`,\r\n- `unknown`"
          },
          "route": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RouteResponse"
              }
            ],
            "description": "Маршрут"
          },
          "truck": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TruckResponse"
              }
            ],
            "description": "Транспорт"
          },
          "payment": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/WithBargainingPaymentResponse"
              },
              {
                "$ref": "#/components/schemas/WithoutBargainingPaymentResponse"
              },
              {
                "$ref": "#/components/schemas/RateRequestPaymentResponse"
              },
              {
                "$ref": "#/components/schemas/AuctionPaymentResponse"
              }
            ],
            "description": "Оплата",
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "with-bargaining": "#/components/schemas/WithBargainingPaymentResponse",
                "without-bargaining": "#/components/schemas/WithoutBargainingPaymentResponse",
                "rate-request": "#/components/schemas/RateRequestPaymentResponse",
                "auction": "#/components/schemas/AuctionPaymentResponse"
              }
            }
          },
          "boards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BoardPlacementResponse"
            },
            "description": "Площадки груза"
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentResponse"
            },
            "description": "Фото груза и документов",
            "nullable": true
          },
          "application_contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactInformationResponse"
            },
            "description": "Информация о контактах груза"
          },
          "paid_features": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaidFeaturesResponse"
              }
            ],
            "description": "Платные услуги",
            "nullable": true
          },
          "note": {
            "type": "string",
            "description": "Примечание к грузу",
            "nullable": true
          },
          "lot_id": {
            "type": "string",
            "description": "Id Лота, к которому прикреплён данный груз",
            "format": "uuid",
            "nullable": true
          },
          "lot_number": {
            "type": "integer",
            "description": "Номер Лота, к которому прикреплён данный груз",
            "format": "int32",
            "nullable": true
          },
          "is_pass_through_copy": {
            "type": "boolean",
            "description": "Является ли груз сквозной копией",
            "nullable": true
          },
          "is_archived": {
            "type": "boolean",
            "description": "Отправлен ли груз в архив",
            "nullable": true
          },
          "archive_date": {
            "type": "string",
            "description": "Время отправки груза в архив, UTC",
            "format": "date-time",
            "nullable": true
          }
        },
        "description": "Контракт заявки груза, ожидаемый в ответах\r\nпубличного http api работы с грузами"
      },
      "PublishRateRequestAuctionEndActionRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AuctionEndActionRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "rate_with_vat_available": {
            "type": "boolean",
            "description": "Можно предлагать ставки безнал с НДС",
            "nullable": true
          },
          "rate_without_vat_available": {
            "type": "boolean",
            "description": "Можно предлагать ставки безнал без НДС",
            "nullable": true
          },
          "cash_available": {
            "type": "boolean",
            "description": "Можно предлагать ставки наличными",
            "nullable": true
          },
          "auto_invites_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CounterOffersAutoInviteRequest"
              }
            ],
            "description": "Автоматическое приглашение на лучшее встречное предложение"
          }
        }
      },
      "PublishRateRequestAuctionEndActionResponse": {
        "required": [
          "cash_available",
          "rate_with_vat_available",
          "rate_without_vat_available"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AuctionEndActionResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Действие:\r\n`archive` — переместить заявку в архив\r\n`publish-with-rate` — опубликовать заявку со ставкой\r\n`publish-rate-request` — опубликовать заявку с запросом ставки"
          },
          "rate_with_vat_available": {
            "type": "boolean",
            "description": "Можно предлагать ставки безнал с НДС"
          },
          "rate_without_vat_available": {
            "type": "boolean",
            "description": "Можно предлагать ставки безнал без НДС"
          },
          "cash_available": {
            "type": "boolean",
            "description": "Можно предлагать ставки наличными"
          },
          "auto_invites_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoInvitesSettingsResponse"
              }
            ],
            "description": "Автоматическое приглашение на лучшее встречное предложение",
            "nullable": true
          }
        }
      },
      "PublishWithRatesAuctionEndActionRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AuctionEndActionRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "currency_type": {
            "type": "integer",
            "description": "Id валюты из <a href=\"/developers/api/dictionaries/cargoes/\">словаря валют</a>",
            "format": "int32",
            "nullable": true
          },
          "rate_with_vat": {
            "type": "number",
            "description": "Ставка безнал с НДС",
            "format": "double",
            "nullable": true
          },
          "rate_without_vat": {
            "type": "number",
            "description": "Ставка безнал без НДС",
            "format": "double",
            "nullable": true
          },
          "cash": {
            "type": "number",
            "description": "Ставка наличными",
            "format": "double",
            "nullable": true
          },
          "on_card": {
            "type": "boolean",
            "description": "Возможность отправлять наличные на карту",
            "nullable": true
          },
          "auto_invites_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CounterOffersAutoInviteRequest"
              }
            ],
            "description": "Автоматическое приглашение на лучшее встречное предложение"
          }
        }
      },
      "PublishWithRatesAuctionEndActionResponse": {
        "required": [
          "currency_type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/AuctionEndActionResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Действие:\r\n`archive` — переместить заявку в архив\r\n`publish-with-rate` — опубликовать заявку со ставкой\r\n`publish-rate-request` — опубликовать заявку с запросом ставки"
          },
          "currency_type": {
            "type": "integer",
            "description": "Id валюты из <a href=\"/developers/api/dictionaries/cargoes/\">словаря валют</a>",
            "format": "int32"
          },
          "rate_with_vat": {
            "type": "number",
            "description": "Ставка безнал с НДС",
            "format": "double",
            "nullable": true
          },
          "rate_without_vat": {
            "type": "number",
            "description": "Ставка безнал без НДС",
            "format": "double",
            "nullable": true
          },
          "cash": {
            "type": "number",
            "description": "Ставка наличными",
            "format": "double",
            "nullable": true
          },
          "on_card": {
            "type": "boolean",
            "description": "Возможность отправлять наличные на карту",
            "nullable": true
          },
          "auto_invites_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoInvitesSettingsResponse"
              }
            ],
            "description": "Автоматическое приглашение на лучшее встречное предложение",
            "nullable": true
          }
        }
      },
      "RateRequestLoadingDatesRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadingDateRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          }
        }
      },
      "RateRequestLoadingDatesResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadingDateResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип даты:\r\n- `from-date` — в промежутке дат `first_date` и `last_date`\r\n- `ready` — готов\r\n- `permanent` — постоянно\r\n- `rate-request` — груза нет, запрос ставки"
          }
        }
      },
      "RateRequestPaymentRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "rate_with_vat_available": {
            "type": "boolean",
            "description": "Можно предлагать ставки безнал с НДС",
            "nullable": true
          },
          "rate_without_vat_available": {
            "type": "boolean",
            "description": "Можно предлагать ставки безнал без НДС",
            "nullable": true
          },
          "cash_available": {
            "type": "boolean",
            "description": "Можно предлагать ставки наличными",
            "nullable": true
          },
          "auto_invites_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CounterOffersAutoInviteRequest"
              }
            ],
            "description": "Автоматическое приглашение на лучшее встречное предложение"
          }
        }
      },
      "RateRequestPaymentResponse": {
        "required": [
          "cash_available",
          "rate_with_vat_available",
          "rate_without_vat_available"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип оплаты:\r\n- `with-bargaining` - ставка с возможностью торга\r\n- `without-bargaining` - ставка без возможности торга\r\n- `rate-request` - запрос ставки\r\n- `auction` - у заявки проводятся Торги"
          },
          "rate_with_vat_available": {
            "type": "boolean",
            "description": "Можно предлагать ставки безнал с НДС"
          },
          "rate_without_vat_available": {
            "type": "boolean",
            "description": "Можно предлагать ставки безнал без НДС"
          },
          "cash_available": {
            "type": "boolean",
            "description": "Можно предлагать ставки наличными"
          },
          "auto_invites_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoInvitesSettingsResponse"
              }
            ],
            "description": "Настройки автоматического приглашения на лучшее встречное предложение",
            "nullable": true
          }
        }
      },
      "ReadyLoadingDatesRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadingDateRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "is_available_tomorrow": {
            "type": "boolean",
            "description": "Готов к загрузке сегодня и завтра",
            "nullable": true
          }
        }
      },
      "ReadyLoadingDatesResponse": {
        "required": [
          "is_available_tomorrow"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadingDateResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип даты:\r\n- `from-date` — в промежутке дат `first_date` и `last_date`\r\n- `ready` — готов\r\n- `permanent` — постоянно\r\n- `rate-request` — груза нет, запрос ставки"
          },
          "is_available_tomorrow": {
            "type": "boolean",
            "description": "Готов к загрузке сегодня и завтра (TODO возможно убрать)"
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BoundedLoadingTimeResponse"
              },
              {
                "$ref": "#/components/schemas/RoundTheClockLoadingTimeResponse"
              }
            ],
            "description": "Время загрузки",
            "nullable": true,
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "bounded": "#/components/schemas/BoundedLoadingTimeResponse",
                "round-the-clock": "#/components/schemas/RoundTheClockLoadingTimeResponse"
              }
            }
          }
        }
      },
      "RefreshCargoApplicationPublicResponse": {
        "type": "object",
        "properties": {
          "refresh_operation_responses": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/RefreshOperationResponse"
            },
            "description": "Результаты обновления грузов"
          }
        }
      },
      "RefreshOperationResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "status_code": {
            "type": "string"
          }
        }
      },
      "RoundTheClockLoadingTimeRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadingTimeRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          }
        }
      },
      "RoundTheClockLoadingTimeResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadingTimeResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип времени:\r\n- `bounded` — с ограничением\r\n- `round-the-clock` — круглосуточно"
          }
        }
      },
      "RouteRequest": {
        "required": [
          "loading",
          "unloading"
        ],
        "type": "object",
        "properties": {
          "loading": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrimaryLoadingPointRequest"
              }
            ],
            "description": "Загрузка"
          },
          "unloading": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrimaryUnloadingPointRequest"
              }
            ],
            "description": "Разгрузка"
          },
          "way_points": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/LoadingWayPointRequest"
                },
                {
                  "$ref": "#/components/schemas/UnloadingWayPointRequest"
                },
                {
                  "$ref": "#/components/schemas/CustomsWayPointRequest"
                },
                {
                  "$ref": "#/components/schemas/GoThroughWayPointRequest"
                }
              ],
              "discriminator": {
                "propertyName": "type",
                "mapping": {
                  "loading": "#/components/schemas/LoadingWayPointRequest",
                  "unloading": "#/components/schemas/UnloadingWayPointRequest",
                  "customs": "#/components/schemas/CustomsWayPointRequest",
                  "go-through": "#/components/schemas/GoThroughWayPointRequest"
                }
              }
            },
            "description": "Точки маршрута",
            "nullable": true
          },
          "is_round_trip": {
            "type": "boolean",
            "description": "Кругорейс",
            "nullable": true,
            "deprecated": true
          }
        }
      },
      "RouteResponse": {
        "required": [
          "loading",
          "unloading"
        ],
        "type": "object",
        "properties": {
          "loading": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrimaryLoadingPointResponse"
              }
            ],
            "description": "Загрузка"
          },
          "unloading": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrimaryUnloadingPointResponse"
              }
            ],
            "description": "Разгрузка"
          },
          "way_points": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/LoadingWayPointResponse"
                },
                {
                  "$ref": "#/components/schemas/UnloadingWayPointResponse"
                },
                {
                  "$ref": "#/components/schemas/CustomsWayPointResponse"
                },
                {
                  "$ref": "#/components/schemas/GoThroughWayPointResponse"
                }
              ],
              "discriminator": {
                "propertyName": "type",
                "mapping": {
                  "loading": "#/components/schemas/LoadingWayPointResponse",
                  "unloading": "#/components/schemas/UnloadingWayPointResponse",
                  "customs": "#/components/schemas/CustomsWayPointResponse",
                  "go-through": "#/components/schemas/GoThroughWayPointResponse"
                }
              }
            },
            "description": "Точки маршрута",
            "nullable": true
          },
          "is_round_trip": {
            "type": "boolean",
            "description": "Кругорейс",
            "nullable": true
          }
        }
      },
      "SizeRequest": {
        "required": [
          "value"
        ],
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "description": "Значение",
            "format": "double",
            "nullable": true
          },
          "is_highlighted": {
            "type": "boolean",
            "description": "Выделить значение цветом в результатах поиска",
            "nullable": true
          }
        }
      },
      "SizeResponse": {
        "required": [
          "is_highlighted",
          "value"
        ],
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "description": "Значение",
            "format": "double"
          },
          "is_highlighted": {
            "type": "boolean",
            "description": "Выделить значение цветом в результатах поиска"
          }
        }
      },
      "SizesRequest": {
        "type": "object",
        "properties": {
          "length": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SizeRequest"
              }
            ],
            "description": "Длина, метры"
          },
          "height": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SizeRequest"
              }
            ],
            "description": "Высота, метры"
          },
          "width": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SizeRequest"
              }
            ],
            "description": "Ширина, метры"
          },
          "diameter": {
            "type": "number",
            "description": "Диаметр, метры",
            "format": "double",
            "nullable": true
          }
        }
      },
      "SizesResponse": {
        "type": "object",
        "properties": {
          "length": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SizeResponse"
              }
            ],
            "description": "Длина, метры",
            "nullable": true
          },
          "height": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SizeResponse"
              }
            ],
            "description": "Высота, метры",
            "nullable": true
          },
          "width": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SizeResponse"
              }
            ],
            "description": "Ширина, метры",
            "nullable": true
          },
          "diameter": {
            "type": "number",
            "description": "Диаметр, метры",
            "format": "double",
            "nullable": true
          }
        }
      },
      "StealthRequest": {
        "type": "object",
        "properties": {
          "list_id": {
            "type": "string",
            "description": "Id списка фирм для скрытия",
            "format": "uuid",
            "nullable": true
          },
          "minimal_registration_date": {
            "type": "string",
            "description": "Минимальная дата регистрации фирм, которые будут видеть груза",
            "format": "date-time",
            "nullable": true
          },
          "minimal_stars_count": {
            "type": "integer",
            "description": "Минимальное количество звёзд фирм, которые будут видеть груз",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "StealthResponse": {
        "type": "object",
        "properties": {
          "list_id": {
            "type": "string",
            "description": "Id списка фирм для скрытия",
            "format": "uuid",
            "nullable": true
          },
          "minimal_registration_date": {
            "type": "string",
            "description": "Минимальная дата регистрации фирм, которые будут видеть груза",
            "format": "date-time",
            "nullable": true
          },
          "minimal_stars_count": {
            "type": "integer",
            "description": "Минимальное количество звёзд фирм, которые будут видеть груз",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "TemperatureRequest": {
        "type": "object",
        "properties": {
          "from": {
            "type": "integer",
            "description": "От",
            "format": "int32",
            "nullable": true
          },
          "to": {
            "type": "integer",
            "description": "До",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "TemperatureResponse": {
        "type": "object",
        "properties": {
          "from": {
            "type": "integer",
            "description": "От",
            "format": "int32",
            "nullable": true
          },
          "to": {
            "type": "integer",
            "description": "До",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "TruckDocumentsRequest": {
        "type": "object",
        "properties": {
          "tir": {
            "type": "boolean",
            "description": "TIR todo ссылка на фак",
            "nullable": true
          },
          "cmr": {
            "type": "boolean",
            "description": "CMR todo ссылка на фак",
            "nullable": true
          },
          "t1": {
            "type": "boolean",
            "description": "T1 todo ссылка на фак",
            "nullable": true
          },
          "medical_card": {
            "type": "boolean",
            "description": "Медкнижка",
            "nullable": true
          }
        }
      },
      "TruckDocumentsResponse": {
        "required": [
          "cmr",
          "medical_card",
          "t1",
          "tir"
        ],
        "type": "object",
        "properties": {
          "tir": {
            "type": "boolean",
            "description": "TIR"
          },
          "cmr": {
            "type": "boolean",
            "description": "CMR"
          },
          "t1": {
            "type": "boolean",
            "description": "T1"
          },
          "medical_card": {
            "type": "boolean",
            "description": "Медкнижка"
          }
        }
      },
      "TruckLoadTypeRequest": {
        "type": "object",
        "properties": {
          "types": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Id типа загрузки из <a href=\"/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-loadingTypes\">словаря типов загрузок</a>"
          },
          "is_all_required": {
            "type": "boolean",
            "description": "Обязательны все выбранные",
            "default": false,
            "nullable": true
          }
        }
      },
      "TruckLoadTypeResponse": {
        "required": [
          "is_all_required",
          "types"
        ],
        "type": "object",
        "properties": {
          "types": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Id типа загрузки из <a href=\"/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-loadingTypes\">словаря типов загрузок</a>"
          },
          "is_all_required": {
            "type": "boolean",
            "description": "Обязательны все выбранные"
          }
        }
      },
      "TruckRequest": {
        "required": [
          "body_types",
          "load_type"
        ],
        "type": "object",
        "properties": {
          "trucks_count": {
            "type": "integer",
            "description": "Количество машин",
            "format": "int32",
            "default": 1,
            "nullable": true
          },
          "load_type": {
            "type": "string",
            "description": "Загрузка:\r\n- `ftl` — отдельной машиной\r\n- `dont-care` — отдельной машиной или догрузом"
          },
          "body_types": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "TypeId типов кузовов. Значение TypeId из <a href=\"/developers/api/dictionaries/cargoes/\">словаря кузовов</a>"
          },
          "body_loading": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TruckLoadTypeRequest"
              }
            ],
            "description": "Способы загрузки"
          },
          "body_unloading": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TruckLoadTypeRequest"
              }
            ],
            "description": "Способы разгрузки"
          },
          "temperature": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TemperatureRequest"
              }
            ],
            "description": "Температура"
          },
          "documents": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TruckDocumentsRequest"
              }
            ],
            "description": "Разрешения"
          },
          "requirements": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TruckRequirementsRequest"
              }
            ],
            "description": "Требования"
          },
          "adr": {
            "type": "integer",
            "description": "ADR",
            "format": "int32",
            "nullable": true
          },
          "belts_count": {
            "type": "integer",
            "description": "Количество ремней",
            "format": "int32",
            "nullable": true
          },
          "is_tracking": {
            "type": "boolean",
            "description": "Трекинг через АТИ Водитель",
            "nullable": true
          },
          "required_capacity": {
            "type": "number",
            "description": "Требуемая грузоподъемность в тоннах",
            "format": "double",
            "nullable": true
          }
        }
      },
      "TruckRequirementsRequest": {
        "type": "object",
        "properties": {
          "logging_truck": {
            "type": "boolean",
            "description": "Коники",
            "nullable": true
          },
          "road_train": {
            "type": "boolean",
            "description": "Сцепка",
            "nullable": true
          },
          "air_suspension": {
            "type": "boolean",
            "description": "Пневмоход",
            "nullable": true
          },
          "team_driving": {
            "type": "boolean",
            "description": "Экипаж - требуется 2 водителя",
            "nullable": true
          }
        }
      },
      "TruckRequirementsResponse": {
        "required": [
          "air_suspension",
          "logging_truck",
          "road_train",
          "team_driving"
        ],
        "type": "object",
        "properties": {
          "logging_truck": {
            "type": "boolean",
            "description": "Коники"
          },
          "road_train": {
            "type": "boolean",
            "description": "Сцепка"
          },
          "air_suspension": {
            "type": "boolean",
            "description": "Пневмоход"
          },
          "team_driving": {
            "type": "boolean",
            "description": "Экипаж - требуется 2 водителя"
          }
        }
      },
      "TruckResponse": {
        "required": [
          "body_types",
          "is_tracking",
          "load_type",
          "trucks_count"
        ],
        "type": "object",
        "properties": {
          "trucks_count": {
            "type": "integer",
            "description": "Количество машин",
            "format": "int32"
          },
          "load_type": {
            "type": "string",
            "description": "Загрузка:\r\n- `ftl` — отдельной машиной\r\n- `dont-care` — не важно"
          },
          "body_types": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "TypeId типов кузовов. Значение TypeId из <a href=\"/developers/api/dictionaries/cargoes/\">словаря кузовов</a>"
          },
          "is_tracking": {
            "type": "boolean",
            "description": "Трекинг через АТИ Водитель"
          },
          "adr": {
            "type": "integer",
            "description": "ADR",
            "format": "int32",
            "nullable": true
          },
          "belts_count": {
            "type": "integer",
            "description": "Количество ремней",
            "format": "int32",
            "nullable": true
          },
          "required_capacity": {
            "type": "number",
            "description": "Требуемая грузоподъемность в тоннах",
            "format": "double",
            "nullable": true
          },
          "body_loading": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TruckLoadTypeResponse"
              }
            ],
            "description": "Способы загрузки",
            "nullable": true
          },
          "body_unloading": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TruckLoadTypeResponse"
              }
            ],
            "description": "Способы разгрузки",
            "nullable": true
          },
          "temperature": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TemperatureResponse"
              }
            ],
            "description": "Температура",
            "nullable": true
          },
          "documents": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TruckDocumentsResponse"
              }
            ],
            "description": "Разрешения",
            "nullable": true
          },
          "requirements": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TruckRequirementsResponse"
              }
            ],
            "description": "Требования",
            "nullable": true
          }
        }
      },
      "UnloadingCargoRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CargoRequest"
          }
        ],
        "properties": {
          "weight": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WeightRequest"
              }
            ],
            "description": "Выгружаемая часть веса"
          },
          "volume": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VolumeRequest"
              }
            ],
            "description": "Выгружаемая часть объёма"
          },
          "packaging_quantity": {
            "type": "integer",
            "description": "Выгружаемая часть упаковки",
            "format": "int32",
            "nullable": true
          },
          "is_defined_by_ttn": {
            "type": "boolean",
            "description": "Выгружаемая часть груза будет определена в ТТН",
            "nullable": true
          }
        }
      },
      "UnloadingCargoResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/CargoResponse"
          }
        ],
        "properties": {
          "packaging_quantity": {
            "type": "integer",
            "description": "Выгружаемая часть упаковки",
            "format": "int32",
            "nullable": true
          },
          "is_defined_by_ttn": {
            "type": "boolean",
            "description": "Выгружаемая часть груза будет определена в ТТН",
            "nullable": true
          }
        }
      },
      "UnloadingDatesRequest": {
        "type": "object",
        "properties": {
          "first_date": {
            "type": "string",
            "description": "Дата разгрузки",
            "format": "date-time",
            "nullable": true
          },
          "last_date": {
            "type": "string",
            "description": "Поздняя дата разгрузки",
            "format": "date-time",
            "nullable": true
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BoundedLoadingTimeRequest"
              },
              {
                "$ref": "#/components/schemas/RoundTheClockLoadingTimeRequest"
              }
            ],
            "description": "Время разгрузки",
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "bounded": "#/components/schemas/BoundedLoadingTimeRequest",
                "round-the-clock": "#/components/schemas/RoundTheClockLoadingTimeRequest"
              }
            }
          }
        }
      },
      "UnloadingDatesResponse": {
        "type": "object",
        "properties": {
          "first_date": {
            "type": "string",
            "description": "Дата разгрузки",
            "format": "date-time",
            "nullable": true
          },
          "last_date": {
            "type": "string",
            "description": "Поздняя дата разгрузки",
            "format": "date-time",
            "nullable": true
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BoundedLoadingTimeResponse"
              },
              {
                "$ref": "#/components/schemas/RoundTheClockLoadingTimeResponse"
              }
            ],
            "description": "Время разгрузки",
            "nullable": true,
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "bounded": "#/components/schemas/BoundedLoadingTimeResponse",
                "round-the-clock": "#/components/schemas/RoundTheClockLoadingTimeResponse"
              }
            }
          }
        }
      },
      "UnloadingWayPointRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/WayPointRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "cargos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnloadingCargoRequest"
            },
            "description": "Параметры выгружаемых грузов"
          },
          "unloading_date": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WayPointArrivalDateRequest"
              }
            ],
            "description": "Параметры даты и времени разгрузки"
          }
        }
      },
      "UnloadingWayPointResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/WayPointResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип промежуточной точки:\r\n- `loading` - точка загрузки\r\n- `unloading` - точка разгрузки\r\n- `customs` - таможня\r\n- `go-through` - точка \"ехать через\""
          },
          "cargos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnloadingCargoResponse"
            },
            "description": "Параметры разгружаемых грузов",
            "nullable": true
          },
          "unloading_date": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WayPointArrivalDateResponse"
              }
            ],
            "description": "Параметры даты и времени разгрузки",
            "nullable": true
          }
        }
      },
      "UpdateCargoApplicationPublicRequest": {
        "type": "object",
        "properties": {
          "cargo_application": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CargoApplicationRequest"
              }
            ],
            "description": "Заявка груза"
          }
        }
      },
      "UpdateCargoApplicationPublicResponse": {
        "type": "object",
        "properties": {
          "cargo_application": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PublicCargoApplicationResponse"
              }
            ],
            "description": "Заявка груза"
          }
        }
      },
      "VolumeRequest": {
        "required": [
          "quantity"
        ],
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "description": "Количество",
            "format": "double",
            "nullable": true
          }
        }
      },
      "VolumeResponse": {
        "required": [
          "quantity"
        ],
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "description": "Количество",
            "format": "double"
          }
        }
      },
      "WayPointArrivalDateRequest": {
        "type": "object",
        "properties": {
          "first_date": {
            "type": "string",
            "description": "Дата начала",
            "format": "yyyy-MM-dd<G>",
            "nullable": true
          },
          "last_date": {
            "type": "string",
            "description": "Дата конца",
            "format": "yyyy-MM-dd<G>",
            "nullable": true
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BoundedLoadingTimeRequest"
              },
              {
                "$ref": "#/components/schemas/RoundTheClockLoadingTimeRequest"
              }
            ],
            "description": "Время загрузки",
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "bounded": "#/components/schemas/BoundedLoadingTimeRequest",
                "round-the-clock": "#/components/schemas/RoundTheClockLoadingTimeRequest"
              }
            }
          }
        }
      },
      "WayPointArrivalDateResponse": {
        "type": "object",
        "properties": {
          "first_date": {
            "type": "string",
            "description": "Дата начала",
            "format": "date-time",
            "nullable": true
          },
          "last_date": {
            "type": "string",
            "description": "Дата конца",
            "format": "date-time",
            "nullable": true
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BoundedLoadingTimeResponse"
              },
              {
                "$ref": "#/components/schemas/RoundTheClockLoadingTimeResponse"
              }
            ],
            "description": "Время загрузки",
            "nullable": true,
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "bounded": "#/components/schemas/BoundedLoadingTimeResponse",
                "round-the-clock": "#/components/schemas/RoundTheClockLoadingTimeResponse"
              }
            }
          }
        }
      },
      "WayPointRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/GeoPointRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип промежуточной точки:\r\n- `loading` — загрузка\r\n- `unloading` — разгрузка\r\n- `customs` — таможня\r\n- `go-through` — ехать через"
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "loading": "#/components/schemas/LoadingWayPointRequest",
            "unloading": "#/components/schemas/UnloadingWayPointRequest",
            "customs": "#/components/schemas/CustomsWayPointRequest",
            "go-through": "#/components/schemas/GoThroughWayPointRequest"
          }
        }
      },
      "WayPointResponse": {
        "required": [
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/GeoPointResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип промежуточной точки:\r\n- `loading` - точка загрузки\r\n- `unloading` - точка разгрузки\r\n- `customs` - таможня\r\n- `go-through` - точка \"ехать через\""
          }
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "loading": "#/components/schemas/LoadingWayPointResponse",
            "unloading": "#/components/schemas/UnloadingWayPointResponse",
            "customs": "#/components/schemas/CustomsWayPointResponse",
            "go-through": "#/components/schemas/GoThroughWayPointResponse"
          }
        }
      },
      "WeightRequest": {
        "required": [
          "quantity"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип:\r\n- `tons` — тонны\r\n- `kilos` — килограммы",
            "default": "tons"
          },
          "quantity": {
            "type": "number",
            "description": "Количество\r\nот 10 kilos до 9999 tons",
            "format": "double",
            "nullable": true
          }
        }
      },
      "WeightResponse": {
        "required": [
          "quantity",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип:\r\n- `tons` — тонны\r\n- `kilos` — килограммы"
          },
          "quantity": {
            "type": "number",
            "description": "Количество",
            "format": "double"
          }
        }
      },
      "WithBargainingPaymentRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRatesPaymentRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "auto_invites_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CounterOffersAutoInviteRequest"
              }
            ],
            "description": "Автоматическое приглашение на лучшее встречное предложение"
          }
        }
      },
      "WithBargainingPaymentResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ContainsRatesPaymentResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип оплаты:\r\n- `with-bargaining` - ставка с возможностью торга\r\n- `without-bargaining` - ставка без возможности торга\r\n- `rate-request` - запрос ставки\r\n- `auction` - у заявки проводятся Торги"
          },
          "auto_invites_settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoInvitesSettingsResponse"
              }
            ],
            "description": "Настройки автоматического приглашения на лучшее встречное предложение",
            "nullable": true
          }
        }
      },
      "WithoutBargainingPaymentRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRatesPaymentRequest"
          }
        ],
        "properties": {
          "type": {
            "type": "string"
          }
        }
      },
      "WithoutBargainingPaymentResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ContainsRatesPaymentResponse"
          }
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Тип оплаты:\r\n- `with-bargaining` - ставка с возможностью торга\r\n- `without-bargaining` - ставка без возможности торга\r\n- `rate-request` - запрос ставки\r\n- `auction` - у заявки проводятся Торги"
          }
        }
      },
      "LoadResponseModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ResponseId": {
            "type": "string",
            "description": "Id отзыва\\\nТолько для чтения",
            "format": "guid"
          },
          "LoadId": {
            "type": "string",
            "description": "Id груза, на который оставлен отзыв\\\nТолько для чтения",
            "format": "guid"
          },
          "LoadNumber": {
            "type": "string",
            "description": "Номер груза\\\nТолько для чтения"
          },
          "LoadFirmId": {
            "type": "integer",
            "description": "Id фирмы, которой принадлежит груз\\\nТолько для чтения",
            "format": "int32"
          },
          "FirmId": {
            "type": "integer",
            "description": "Id фирмы, которая оставила отзыв\\\nТолько для чтения",
            "format": "int32"
          },
          "ContactId": {
            "type": "integer",
            "description": "Контакт, который сделал встречное предложение",
            "format": "int32"
          },
          "AddedAt": {
            "type": "string",
            "description": "Дата добавления отзыва\\\nТолько для чтения",
            "format": "date-time"
          },
          "UpdatedAt": {
            "type": "string",
            "description": "Дата изменения отзыва\\\nТолько для чтения",
            "format": "date-time"
          },
          "Price": {
            "type": "number",
            "description": "Предложенная ставка встречного предложения не б/нал. Параметр должен быть равен одной из ставок груза: RateSum, SumWithNDS или SumWithoutNDS, если у груза, которому выставляется встречное предложение, параметр FixedRate равен True И параметр Torg равен False.\tЗначение больше 0 и содержит не более 10 символов.",
            "format": "decimal"
          },
          "CurrencyId": {
            "type": "integer",
            "description": "Валюта встречного предложения. Параметр должен быть равен валюте, указанной в грузе, если параметр FixedRate равен True и параметр Torg равен False\\\nЗначение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)",
            "format": "int32"
          },
          "NdsPrice": {
            "type": "number",
            "description": "Предложенная ставка встречного предложения б/нал с НДС",
            "format": "decimal"
          },
          "NdsCurrencyId": {
            "type": "integer",
            "description": "Валюта ставки встречного предложения б/нал с НДС.Параметр должен быть равен валюте, указанной в грузе, если параметр FixedRate равен True и параметр Torg равен False.\\\nЗначение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)",
            "format": "int32"
          },
          "NotNdsPrice": {
            "type": "number",
            "description": "Предложенная ставка встречного предложения б/нал без НДС",
            "format": "decimal"
          },
          "NotNdsCurrencyId": {
            "type": "integer",
            "description": "Валюта ставки встречного предложения б/нал без НДС. Параметр должен быть равен валюте, указанной в грузе, если параметр FixedRate равен True и параметр Torg равен False\\\nЗначение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)",
            "format": "int32"
          },
          "Note": {
            "type": "string",
            "description": "Примечание к встречному предложению\\\nМаксимальная длина - 512 символов"
          },
          "PayAttributes": {
            "type": "integer",
            "description": "Атрибуты оплаты, по умолчанию - 0.\nБитовая сумма следующих параметров:\n\n* `1` - возможна оплата наличными\n* `2` - возможна оплата по безналичному рассчету\n* `4` - блиц\n* `8` - оплата с НДС\n* `16` - возможна предоплата\n* `32` - оплата на выгрузке\n* `64` - включена ли оплата через некоторое количество банковских дней",
            "format": "int32"
          },
          "PrepayPercent": {
            "type": "integer",
            "description": "Процент предоплаты\\\nДолжен быть равен 0 или отсутствовать, если PayAttributes не содержит флаг 16 - возможна предоплата. Допустимое значение от 0 до 100",
            "format": "int32"
          },
          "PayAfterMaxBankDays": {
            "type": "integer",
            "description": "Оплата через ... банковских дней\\\nДолжен быть равен 0 или отсутствовать, если PayAttributes не содержит флаг 64 - включена оплата через некоторое количество банковских дней. Допустимое значение от 0 до 99",
            "format": "int32"
          },
          "LoadingDate": {
            "type": "string",
            "description": "Дата, когда предложивший хочет перевезти ваш груз",
            "format": "date-time",
            "nullable": true
          },
          "IsOutdated": {
            "type": "boolean",
            "description": "Определяет, просрочен ли отзыв. Когда груз редактируют, удаляют, обновляют, отзыв помечается просроченным.\\\nТолько для чтения."
          },
          "IsLoadPublished": {
            "type": "boolean",
            "description": "Относится ли отзыв к публикующемуся грузу\\\nТолько для чтения"
          },
          "IsNoLoad": {
            "type": "boolean",
            "description": "Параметр \"Груза нет\""
          },
          "AnnouncedCurrencyId": {
            "type": "integer",
            "description": "Валюта \"Озвученной ставки\"\\\nЗначение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)",
            "format": "int32"
          },
          "AnnouncedRate": {
            "type": "integer",
            "description": "Озвученная ставка",
            "format": "int32"
          }
        }
      },
      "LoadSize": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Length": {
            "type": "number",
            "format": "double"
          },
          "Width": {
            "type": "number",
            "format": "double"
          },
          "Height": {
            "type": "number",
            "format": "double"
          },
          "Diameter": {
            "type": "number",
            "format": "double"
          },
          "LengthHighlight": {
            "type": "boolean"
          },
          "WidthHighlight": {
            "type": "boolean"
          },
          "HeightHighlight": {
            "type": "boolean"
          }
        }
      },
      "LoadPriorityView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "DailyLimit": {
            "type": "number",
            "description": "Суточный лимит списания по услуге\n            \n* Должен иметь длину не более 5 символов\n* Не более 2 символов после запятой\n* Должен быть больше либо равен значению ViewRate или быть равным нулю (если ограничения нет)\n* Должен быть равен 0 или отсутствовать, если параметр ViewRate отсутствует или равен 0",
            "format": "decimal"
          },
          "IsForPayedOnly": {
            "type": "boolean",
            "description": "Показывать приоритетный показ только платным пользователям"
          },
          "OrderLimit": {
            "type": "number",
            "description": "Лимит на заявку\n            \n* Должен иметь длину не более 5 символов\n* Не более 2 символов после запятой\n* Должен быть больше либо равен значению ViewRate или быть равным нулю (если ограничения нет)\n* Должен быть равен 0 или отсутствовать, если параметр ViewRate отсутствует или равен 0",
            "format": "decimal"
          },
          "ViewRate": {
            "type": "number",
            "description": "Ставка за просмотр\n            \n* Минимальное значение 0,6\n* Не более 2 символов после запятой\n* Должен иметь длину не более 5 символов",
            "format": "decimal"
          },
          "MoneySpentPerDay": {
            "type": "number",
            "description": "Количество денег, потраченное на заявку за день. Только для чтения ",
            "format": "decimal"
          },
          "MoneySpentPerOrder": {
            "type": "number",
            "description": "Количество денег, потраченное на заявку в целом. Только для чтения",
            "format": "decimal"
          }
        }
      },
      "AuctionState": {
        "type": "integer",
        "description": "Статус аукциона\n\n* `-100` - Не удалось определить состояние аукциона\n* `-14` - Аукцион отменен руками грузовладельца\n* `-13` - Аукцион удален, т.к. расторгнут заказ\n* `-12` - Аукцион без ставок завершен\n* `-11` - Аукцион удален автоматически\n* `-10` - Аукцион удален т.к. сделка завершена\n* `-9` - Аукцион удален\n* `-8` - При включенном копировании грузов: ожидается действие от экспедитора  в случае, когда заказ с победителем отменен, других участников нет\n* `-7` - При включенном копировании грузов:ожидается действие с торгами от экспедитора в случае, когда заказ с победителем отменен и есть потенциальный победитель\n* `-6` - При включенном копировании грузов: торги завершены, экспедитор не является победителем\n* `-5` - Одна ставка лучшая по цене, другая по дате\n* `-4` - Закончился, но победитель вовремя не взял груз и при этом есть еще возможные победители\n* `-3` - Закончился, но победитель вовремя не взял груз и при этом он единственный возможный победитель\n* `-2` - Закончился, ждем когда победитель возьмет груз\n* `-1` - Закончился, ставок нет\n* `0` - Идет, ставок нет\n* `1` - Идет (уже есть валидные ставки)",
        "x-enumNames": [
          "OnAndNoRates",
          "OnAndHasRates",
          "UnknownState",
          "DeclinedByOwner",
          "DeletedByDeclinedOrder",
          "DeletedWithoutRates",
          "DeletedByAutoDecline",
          "DeletedByDealFinished",
          "Deleted",
          "FinishedWithoutOtherBetsAndNeedChooseAction",
          "FinishedWithOtherBetsAndNeedChooseAction",
          "FinishedWithWinnerFromOtherAuction",
          "FinishedWithIncomparableRates",
          "FinishedAndNoDocsButHasOtherPossibleWinners",
          "FinishedAndNoDocsFromSingleWinner",
          "FinishedAndAwaitingDocs",
          "FinishedAndNoRates"
        ],
        "enum": [
          0,
          1,
          -100,
          -14,
          -13,
          -12,
          -11,
          -10,
          -9,
          -8,
          -7,
          -6,
          -5,
          -4,
          -3,
          -2,
          -1
        ]
      },
      "AuctionPaymentType": {
        "type": "integer",
        "description": "Тип оплаты:\n\n* `1` = Наличка\n* `22` - Любая\n* `23` = На карту\n* `24` - С НДС\n* `25` - Без ДНС\n* Остальные зарезервированы",
        "x-enumNames": [
          "Cash",
          "Any",
          "OnCard",
          "CashlessWithNds",
          "CashlessWithoutNds"
        ],
        "enum": [
          1,
          22,
          23,
          24,
          25
        ]
      },
      "FirmStatus": {
        "type": "integer",
        "description": "Тип звезд фирмы\n            \n* `0`: Серый\n* `1`: Красный\n* `2`: Желтый\n* `3`: Зеленый\n* `4`: Партнер АТИ\n* `5`: Сотрудник АТИ\n* `6`: Гос. органы\n* `7`: ОДКС",
        "x-enumNames": [
          "Gray",
          "Green",
          "Yellow",
          "Red",
          "AtiPartner",
          "AtiEmployee",
          "GosOrgan",
          "Odks"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ]
      },
      "AuctionRateState": {
        "type": "integer",
        "description": "Статус ставки\n            \n* `1`: Победная ставка в аукционе\n* `0`: Обычная ставка по аукциону (участник аукциона)\n* `-2`: Участник аукциона отменил ставку\n* `-3`: Бывший победитель, который не прислал документы\n* `-4`: Победитель отказался от участия\n* `-5`: Грузовладелец отменил безоговорочную сделку\n* `-6`: Победитель отменил безоговорочную сделку\n* `-7`: Победитель отклонил документ\n* `-8`: Грузовладелец отклонил документ",
        "x-enumNames": [
          "Undecided",
          "Winner",
          "CargoOwnerDeclineDocument",
          "WinnerDeclineDocument",
          "WinnerRefuseDeal",
          "CargoOwnerRefuseDeal",
          "WinnerRefused",
          "ExWinner",
          "Refused",
          "Loser"
        ],
        "enum": [
          0,
          1,
          -8,
          -7,
          -6,
          -5,
          -4,
          -3,
          -2,
          -1
        ]
      },
      "AuctionFinishAction": {
        "type": "integer",
        "description": "Действие после того, как все попытки перезапуска и выбора нового победителя торгов исчерпаны:\n\n* `1` - Опубликовать груз со ставкой. В грузе должна быть указана ставка (SumWithNDS, SumWithoutNDS, RateSum)\n* `2` - Опубликовать с запросом ставки, возможные типы оплаты будут взяты из поля AcceptPaymentTypes в грузе\n* `3` - Перенести груз в архив",
        "x-enumNames": [
          "PublishLoad",
          "PublishLoadWithRateRequest",
          "DeleteLoad"
        ],
        "enum": [
          1,
          2,
          3
        ]
      },
      "WinnerCriteria": {
        "type": "integer",
        "description": "Критерий победы в аукционе\n\n* `0` - Выбор победителя происходит автоматически по лучшей ставке\n* `1` - Выбор победителя  происходит по ставке и дате загрузки. Если нет лучшей ставки с лучшей датой - требуется выбор победителя вручную",
        "x-enumNames": [
          "Rate",
          "RateAndLoadingDate"
        ],
        "enum": [
          0,
          1
        ]
      },
      "ArchiveReason": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Unknown",
          "System",
          "Manual",
          "Complaints",
          "UnwantedContent",
          "DeleteCsvLoad",
          "MergeLoadsAfterEdit",
          "ContactDoesNotHaveAccessToVirtualPayments",
          "VerticesLoadDelete",
          "StealthStatisticError",
          "CheckDuplicateComplaints",
          "DeleteContact",
          "DeleteFirm",
          "CleanOldLoadsJob"
        ],
        "enum": [
          "Unknown",
          "System",
          "Manual",
          "Complaints",
          "UnwantedContent",
          "DeleteCsvLoad",
          "MergeLoadsAfterEdit",
          "ContactDoesNotHaveAccessToVirtualPayments",
          "VerticesLoadDelete",
          "StealthStatisticError",
          "CheckDuplicateComplaints",
          "DeleteContact",
          "DeleteFirm",
          "CleanOldLoadsJob"
        ]
      },
      "LoadAccessDeniedReason": {
        "type": "integer",
        "description": "Причины отказа в доступе:\n            \n* `0` - Вы имеете доступ к работе с грузом\n* `1` - Ваша фирма больше не может размещать грузы из-за нарушения правил АТИ\n* `2` - Груз зарезервирован/взят, операции с грузом запрещены\n* `3` - Превышен лимит актуальных грузов\n* `4` - Вы пытаетесь работать с грузами под общим пользователем. Недостаточно прав\n* `5` - У вашего контакта недостаточно прав для работы с данным грузом\n* `6` - Груз имеет завершенные Торги, операции с грузом запрещены\n* `7` - Сервис сделок временно недоступен\n* `8` - Нельзя изменять или удалять груз из сквозных торгов\n* `9` - У вашего контакта недостаточно прав для создания грузов\n* `10` - У вашего контакта недостаточно прав для работы с виртуальными кошельками\n* `11` - У вашего контакта недостаточно прав для работы с грузами на Общей площадке\n* `12` - У вашего контакта недостаточно прав для работы с грузами на Персональных площадках\n* `13` - У вашего контакта нет доступа для работы с одной или несколькими персональными площадками, указанными в грузе\n* `14` - У вашего контакта нет доступа для работы с подразделением, в которое восстанавливается груз\n* `15` - Ваш контакт должен быть указан первым в грузе",
        "x-enumNames": [
          "None",
          "FirmDoesNotHaveAccess",
          "LoadReserved",
          "ActualLoadsLimitExceeded",
          "LoginAsCommonUser",
          "ContactDoesNotHaveAccessToCurrentLoad",
          "LoadHasAuctionFinished",
          "DealsServiceUnavailable",
          "PassThroughCopy",
          "ContactDoesNotHaveAccessToLoadCreation",
          "ContactDoesNotHaveAccessToVirtualPayments",
          "ContactCantWorkWithCommonBoards",
          "ContactCantWorkWithPersonalBoards",
          "ContactDoesntHaveAccessToAllBoards",
          "ContactDoesntHaveAccessToLoadDepartment",
          "ContactMustBeSelectedFirst"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15
        ]
      },
      "CounterOfferSource": {
        "type": "integer",
        "description": "Обозначение откуда было добавлено встречное предложение.\n\n* `0` - Неизвестный источник\n* `1` - Мобильное приложение\n* `2` - Интегратор\n* `3` - Перехват грузов интегратором\n* `4` - Страница поиска грузов\n* `5` - Перехват машин\n* `6` - Сквозное встречное предложение, добавлено автоматически",
        "x-enumNames": [
          "Site",
          "Mobile",
          "Integrator",
          "CarrierInterception",
          "Search",
          "TruckInterception",
          "PassThrough"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6
        ]
      },
      "FinalExceptionModelOfFinalException": {
        "type": "object",
        "description": "Модель ошибки",
        "additionalProperties": false,
        "properties": {
          "Reason": {
            "type": "string",
            "description": "Причина ошибки"
          },
          "Error": {
            "type": "string",
            "description": "Ключ ошибки"
          }
        }
      },
      "OperationStatus": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Status": {
            "type": "integer",
            "description": "Статус операции для груза.\n            \n* `8` - Произошла внутренняя ошибка при обработке груза\n* `7` - Ошибка валидации груза\n* `6` - Груз был объединен с другим грузом\n* `5` - Найден дубликат в актуальных грузах\n* `4` - Груз зарезервирован/взят, операции с грузом запрещены\n* `3` - Нет доступа\n* `2` - Груз был обновлен или добавлен менее часа назад\n* `1` - Груз не найден\n* `0` - Успех\n* `-1` - Меньше 0 - произошла незапланированная ошибка",
            "format": "int32"
          },
          "Message": {
            "type": "string",
            "description": "Сообщение, которое отдается пользователю"
          }
        }
      },
      "LoadView": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseLoadView"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "ArchiveDate": {
                "type": "string",
                "description": "Дата и время переноса в архив",
                "format": "date-time",
                "nullable": true
              },
              "ArchiveReason": {
                "description": "Причина переноса в архив",
                "nullable": true,
                "$ref": "#/components/schemas/ArchiveReason"
              },
              "TruePrice": {
                "type": "integer",
                "description": "Озвученная ставка",
                "format": "int32"
              },
              "TrueCurrencyId": {
                "type": "integer",
                "description": "ID валюты озвученной ставки",
                "format": "int32"
              },
              "ResponseCount": {
                "type": "integer",
                "description": "Количество отзывов о грузе (без встречных предложений)",
                "format": "int32"
              },
              "OfferCount": {
                "type": "integer",
                "description": "Количество встречных предложений (остальные отзывы не учитываются)",
                "format": "int32"
              },
              "CanBeDeleted": {
                "type": "boolean",
                "description": "Есть ли доступ на удаление груза."
              },
              "HasPermissionsToLoad": {
                "type": "boolean",
                "description": "Есть ли доступ на работу с грузом (без учета прав)."
              },
              "CanBeEdited": {
                "type": "boolean",
                "description": "Есть ли доступ на редактирование груза."
              },
              "CanBeRenewed": {
                "type": "boolean",
                "description": "Есть ли доступ на обновление груза."
              },
              "CanBeRestored": {
                "type": "boolean",
                "description": "Есть ли доступ на восстановление груза"
              },
              "EditRestriction": {
                "description": "Причины отказа в доступе на редактирование груза:\n            \n* `0` - Вы имеете доступ к работе с грузом\n* `1` - Ваша фирма больше не может размещать грузы из-за нарушения правил АТИ\n* `2` - Груз зарезервирован/взят, операции с грузом запрещены\n* `3` - Превышен лимит актуальных грузов\n* `4` - Вы пытаетесь работать с грузами под общим пользователем. Недостаточно прав\n* `5` - У вашего контакта недостаточно прав для работы с данным грузом\n* `6` - Груз имеет завершенные Торги, операции с грузом запрещены\n* `7` - Сервис сделок временно недоступен\n* `8` - Нельзя изменять или удалять груз из сквозных торгов\n* `9` - У вашего контакта недостаточно прав для создания грузов\n* `10` - У вашего контакта недостаточно прав для работы с виртуальными кошельками\n* `11` - У вашего контакта недостаточно прав для работы с грузами на Общей площадке\n* `12` - У вашего контакта недостаточно прав для работы с грузами на Персональных площадках\n* `13` - У вашего контакта нет доступа для работы с одной или несколькими персональными площадками, указанными в грузе\n* `14` - У вашего контакта нет доступа для работы с подразделением, в которое восстанавливается груз\n* `15` - Ваш контакт должен быть указан первым в грузе",
                "$ref": "#/components/schemas/LoadAccessDeniedReason"
              },
              "DeleteRestriction": {
                "description": "Причины отказа в доступе на удаление контакта:\n            \n* `0` - Вы имеете доступ к работе с грузом\n* `1` - Ваша фирма больше не может размещать грузы из-за нарушения правил АТИ\n* `2` - Груз зарезервирован/взят, операции с грузом запрещены\n* `3` - Превышен лимит актуальных грузов\n* `4` - Вы пытаетесь работать с грузами под общим пользователем. Недостаточно прав\n* `5` - У вашего контакта недостаточно прав для работы с данным грузом\n* `6` - Груз имеет завершенные Торги, операции с грузом запрещены\n* `7` - Сервис сделок временно недоступен\n* `8` - Нельзя изменять или удалять груз из сквозных торгов\n* `9` - У вашего контакта недостаточно прав для создания грузов\n* `10` - У вашего контакта недостаточно прав для работы с виртуальными кошельками\n* `11` - У вашего контакта недостаточно прав для работы с грузами на Общей площадке\n* `12` - У вашего контакта недостаточно прав для работы с грузами на Персональных площадках\n* `13` - У вашего контакта нет доступа для работы с одной или несколькими персональными площадками, указанными в грузе\n* `14` - У вашего контакта нет доступа для работы с подразделением, в которое восстанавливается груз\n* `15` - Ваш контакт должен быть указан первым в грузе",
                "$ref": "#/components/schemas/LoadAccessDeniedReason"
              },
              "RestoreRestriction": {
                "description": "Причины отказа в доступе на восстановление груза:\n            \n* `0` - Вы имеете доступ к работе с грузом\n* `1` - Ваша фирма больше не может размещать грузы из-за нарушения правил АТИ\n* `2` - Груз зарезервирован/взят, операции с грузом запрещены\n* `3` - Превышен лимит актуальных грузов\n* `4` - Вы пытаетесь работать с грузами под общим пользователем. Недостаточно прав\n* `5` - У вашего контакта недостаточно прав для работы с данным грузом\n* `6` - Груз имеет завершенные Торги, операции с грузом запрещены\n* `7` - Сервис сделок временно недоступен\n* `8` - Нельзя изменять или удалять груз из сквозных торгов\n* `9` - У вашего контакта недостаточно прав для создания грузов\n* `10` - У вашего контакта недостаточно прав для работы с виртуальными кошельками\n* `11` - У вашего контакта недостаточно прав для работы с грузами на Общей площадке\n* `12` - У вашего контакта недостаточно прав для работы с грузами на Персональных площадках\n* `13` - У вашего контакта нет доступа для работы с одной или несколькими персональными площадками, указанными в грузе\n* `14` - У вашего контакта нет доступа для работы с подразделением, в которое восстанавливается груз\n* `15` - Ваш контакт должен быть указан первым в грузе",
                "$ref": "#/components/schemas/LoadAccessDeniedReason"
              },
              "RenewRestriction": {
                "type": "string",
                "description": "Причина отказа в доступе на обновление груза."
              },
              "Id": {
                "type": "string",
                "description": "Идентификатор груза",
                "format": "guid"
              },
              "LoadNumber": {
                "type": "string",
                "description": "Номер груза"
              },
              "RefreshedAt": {
                "type": "string",
                "description": "Дата последнего обновления груза в формате UTC (поднятие груза в поисковой выдаче)",
                "format": "date-time"
              },
              "UpdatedAt": {
                "type": "string",
                "description": "Дата последнего изменения груза в формате UTC",
                "format": "date-time"
              },
              "AddedAt": {
                "type": "string",
                "description": "Время добавления груза в формате UTC",
                "format": "date-time"
              },
              "Distance": {
                "type": "integer",
                "description": "Расстояние по дорогам  в км",
                "format": "int32"
              },
              "PlatonRoadsLength": {
                "type": "integer",
                "description": "Протяженность дорог в км, в построенном пути за которые взимается плата по системе Платон",
                "format": "int32"
              },
              "TollRoadsLength": {
                "type": "integer",
                "description": "Протяженность платных дорог в построенном пути в км",
                "format": "int32"
              },
              "TravelTime": {
                "type": "string",
                "description": "Время в пути\n            ",
                "format": "time-span"
              },
              "Zimnik": {
                "type": "boolean",
                "description": "Параметр, который определяет, включен ли зимник для перевозки груза"
              },
              "Ferries": {
                "type": "boolean",
                "description": "Параметр, который определяет, учитывать ли паромные переправы для перевозки груза"
              },
              "FirmId": {
                "type": "string",
                "description": "Идентификатор фирмы"
              },
              "AuctionId": {
                "type": "string",
                "description": "Id аукциона",
                "format": "guid",
                "nullable": true
              },
              "PriorityView": {
                "description": "Приоритетный показ",
                "$ref": "#/components/schemas/LoadPriorityViewView"
              },
              "Deal": {
                "$ref": "#/components/schemas/DealItemView"
              },
              "Boards": {
                "type": "array",
                "description": "Список площадок",
                "items": {
                  "$ref": "#/components/schemas/LoadBoardView"
                }
              }
            }
          }
        ]
      },
      "LoadPriorityViewView": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseLoadPriorityViewView"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "MoneySpentPerDay": {
                "type": "number",
                "description": "Количество денег, потраченное на заявку за день. Только для чтения ",
                "format": "decimal"
              },
              "MoneySpentPerOrder": {
                "type": "number",
                "description": "Количество денег, потраченное на заявку в целом. Только для чтения ",
                "format": "decimal"
              }
            }
          }
        ]
      },
      "BaseLoadPriorityViewView": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ViewRate"
        ],
        "properties": {
          "DailyLimit": {
            "type": "number",
            "description": "Суточный лимит списания по услуге\n            \n* Должен иметь длину не более 5 символов\n* Не более 2 символов после запятой\n* Должен быть больше либо равен значению ViewRate или быть равным нулю (если ограничения нет)\n* Должен быть равен 0 или отсутствовать, если параметр ViewRate отсутствует или равен 0",
            "format": "decimal"
          },
          "IsForPayedOnly": {
            "type": "boolean",
            "description": "Показывать приоритетный показ только платным пользователям"
          },
          "OrderLimit": {
            "type": "number",
            "description": "Лимит на заявку\n            \n* Должен иметь длину не более 5 символов\n* Не более 2 символов после запятой\n* Должен быть больше либо равен значению ViewRate или быть равным нулю (если ограничения нет)\n* Должен быть равен 0 или отсутствовать, если параметр ViewRate отсутствует или равен 0",
            "format": "decimal"
          },
          "ViewRate": {
            "type": "number",
            "description": "Ставка за просмотр\n            \n* Минимальное значение 0,6\n* Не более 2 символов после запятой\n* Должен иметь длину не более 5 символов",
            "format": "decimal"
          }
        }
      },
      "DealItemView": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDealItemView"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Auction": {
                "description": "Параметры аукциона",
                "$ref": "#/components/schemas/AuctionView"
              }
            }
          }
        ]
      },
      "AuctionView": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseAuctionView"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "AuctionId": {
                "type": "string",
                "description": "Id аукциона",
                "format": "guid"
              },
              "LoadId": {
                "type": "string",
                "description": "Id груза, для которого активен аукцион",
                "format": "guid"
              },
              "ActiveDealId": {
                "type": "string",
                "description": "Id сделки, привязанной к аукциону",
                "format": "guid",
                "nullable": true
              },
              "State": {
                "description": "Статус аукциона\n\n* `-100` - Не удалось определить состояние аукциона\n* `-14` - Аукцион отменен руками грузовладельца\n* `-13` - Аукцион удален, т.к. расторгнут заказ\n* `-12` - Аукцион без ставок завершен\n* `-11` - Аукцион удален автоматически\n* `-10` - Аукцион удален т.к. сделка завершена\n* `-9` - Аукцион удален\n* `-8` - При включенном копировании грузов: ожидается действие от экспедитора  в случае, когда заказ с победителем отменен, других участников нет\n* `-7` - При включенном копировании грузов:ожидается действие с торгами от экспедитора в случае, когда заказ с победителем отменен и есть потенциальный победитель\n* `-6` - При включенном копировании грузов: торги завершены, экспедитор не является победителем\n* `-5` - Одна ставка лучшая по цене, другая по дате\n* `-4` - Закончился, но победитель вовремя не взял груз и при этом есть еще возможные победители\n* `-3` - Закончился, но победитель вовремя не взял груз и при этом он единственный возможный победитель\n* `-2` - Закончился, ждем когда победитель возьмет груз\n* `-1` - Закончился, ставок нет\n* `0` - Идет, ставок нет\n* `1` - Идет (уже есть валидные ставки)",
                "$ref": "#/components/schemas/AuctionState"
              },
              "Finished": {
                "type": "boolean",
                "description": "Завершен ли аукцион"
              },
              "WinDate": {
                "type": "string",
                "description": "Время выигрыша ставки (когда для определенной ставки в AuctionRates установлен State = Winner)",
                "format": "date-time",
                "nullable": true
              },
              "AuctionRates": {
                "type": "array",
                "description": "Список ставок по аукциону",
                "items": {
                  "$ref": "#/components/schemas/AuctionRateView"
                }
              }
            }
          }
        ]
      },
      "AuctionRateView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "AuctionRateId": {
            "type": "string",
            "description": "ID ставки",
            "format": "guid"
          },
          "AddedAt": {
            "type": "string",
            "description": "Когда сделана ставка",
            "format": "date-time"
          },
          "RateFirm": {
            "description": "Фирма, оставившая заявку",
            "$ref": "#/components/schemas/FirmStarsInfoView"
          },
          "Rate": {
            "type": "number",
            "description": "Ставка на груз, которую поставил пользователь",
            "format": "decimal"
          },
          "State": {
            "$ref": "#/components/schemas/AuctionRateState"
          },
          "LoadingDate": {
            "type": "string",
            "description": "Ближайшая возможная для перевозчика дата загрузки\\\nИспользуется только в аукционах с критерием победы по ставке и дате загрузки",
            "format": "date-time",
            "nullable": true
          },
          "FirmId": {
            "type": "integer",
            "description": "Код фирмы, сделавшей ставку",
            "format": "int32"
          },
          "ContactId": {
            "type": "integer",
            "description": "Контакт, сделавший ставку",
            "format": "int32"
          }
        }
      },
      "FirmStarsInfoView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Score": {
            "type": "number",
            "description": "\"Звезды\" фирмы",
            "format": "double"
          },
          "Status": {
            "$ref": "#/components/schemas/FirmStatus"
          },
          "Name": {
            "type": "string",
            "description": "Имя фирмы"
          },
          "ContactName": {
            "type": "string",
            "description": "Имя контакта"
          },
          "AtiId": {
            "type": "string",
            "description": "Идентификатор фирмы в АТИ"
          }
        }
      },
      "BaseAuctionView": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "StartRate",
          "Currency",
          "Step",
          "PaymentType",
          "TimeToProvideDocuments"
        ],
        "properties": {
          "StartRate": {
            "type": "number",
            "description": "Начальная ставка аукциона\\\nПараметр должен принимать значение от 1 до 9999999999 (включительно) и содержать не более 10 символов.\t",
            "format": "decimal"
          },
          "Currency": {
            "type": "integer",
            "description": "Валюта аукциона\\\nЗначение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)",
            "format": "int32"
          },
          "Step": {
            "type": "number",
            "description": "Минимальное изменение ставки по аукциону\\\nПараметр должен принимать значение от 1 до 9999999999 (включительно), содержать не более 10 символов и не должен превышать половину начальной ставки startRate.",
            "format": "decimal"
          },
          "PaymentType": {
            "description": "Тип оплаты\n            \n* `22`: любой\n* `1`: наличные\n* `23`: по карте\n* `24`: безнал с НДС\n* `25`: безнал без НДС",
            "$ref": "#/components/schemas/AuctionPaymentType"
          },
          "AcceptSecondPayType": {
            "type": "boolean",
            "description": "Принимать ставки без НДС. Параметр можно указать, если начальная ставка указана с НДС (PaymentType=24)"
          },
          "StartDate": {
            "type": "string",
            "description": "Время начала аукциона. Должно быть позже времени начала публикации груза на площадке. По умолчанию устанавливается текущая дата UTC.\t",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "description": "Время окончания аукциона. Необязательное поле, если есть значение в поле Duration",
            "format": "date-time",
            "nullable": true
          },
          "EndDateBoundary": {
            "type": "string",
            "description": "Время окончания аукциона \"завершить не позже\". Если указанное время, меньше значения Duration - аукцион заканчивается по времени \"завершить не позже\", если нет автопродления. Время устанавливается в формате UTC.\t",
            "format": "date-time",
            "nullable": true
          },
          "Nds": {
            "type": "number",
            "description": "% НДС, от 1 до 99. Если выбрана опция \"Принимать ставки без НДС\", этот параметр определяет величину процента НДС.\t",
            "format": "decimal",
            "nullable": true
          },
          "TimeToProvideDocuments": {
            "type": "number",
            "description": "Время на отправку заявки перевозчиком (в часах). Время на отправку заявки перевозчику должно быть не больше 24 часов, и не должно превышать 4 символов в длину.\t",
            "format": "decimal"
          },
          "AutoRenew": {
            "type": "boolean",
            "description": "Нужно ли продление аукциона, если была ставка в последние 5 минут до окончания"
          },
          "RenewTime": {
            "type": "integer",
            "description": "Время, на которое надо сдвигать окончание аукциона при включенном AutoRenew",
            "format": "int32",
            "nullable": true
          },
          "MaxRenewTime": {
            "type": "integer",
            "description": "Максимально допустимое время, на которое можно сдвинуть окончание аукциона при включенном AutoRenew\\\nУказывать, если raiseBid = true. Параметр должен принимать значение от 1 до 999999 (включительно) и содержать не более 6 символов.",
            "format": "int32",
            "nullable": true
          },
          "RaiseBid": {
            "type": "boolean",
            "description": "Повысить ставку на Шаг, если нет предложений"
          },
          "MaxRate": {
            "type": "number",
            "description": "Максимально допустимая ставка по аукциону\\\nУказывать, если raiseBid = true. Параметр должен принимать значение от 1 до 999999 (включительно) и содержать не более 6 символов.",
            "format": "decimal",
            "nullable": true
          },
          "RaiseBidInterval": {
            "type": "integer",
            "description": "Период увеличения ставки при отсутствии предложений\\\nПри RaiseBid = true должно принимать значение не меньше 1 минуты и не больше 24 часов.",
            "format": "int32",
            "nullable": true
          },
          "ResponseInMinutes": {
            "type": "integer",
            "description": "Указывает, через какой промежуток времени с момента публикации аукциона принимать встречные предложения:\n            \n* `1` - сразу\n* `15, 30, 60, 120, 180` - время в минутах\n* `null` - не принимать\n            \nЕсли AcceptCounterOffersOnlyBeforeFirstBet = true, то встречные предложения будут приниматься только до 1-й ставки",
            "format": "int32",
            "nullable": true
          },
          "Duration": {
            "type": "integer",
            "description": "Длительность аукциона в минутах: 30, 60, 120, 180, 240, 360, 720, 1440, 2880, 4320, 5760, 7200\\\nЗначение не может быть больше времени актуальности груза LastDate",
            "format": "int32"
          },
          "StartSinceFirstBet": {
            "type": "boolean",
            "description": "Флаг, определяющий, что обратный отсчет до окончания аукциона начинается только после первой ставки."
          },
          "AuctionRestartParameters": {
            "description": "Параметры перезапуска аукциона",
            "$ref": "#/components/schemas/AuctionRestartParametersView"
          },
          "AcceptCounterOffersOnlyBeforeFirstBet": {
            "type": "boolean",
            "description": "Можно принимать встречные предложения только до первой ставки?"
          },
          "WinnerCriterion": {
            "description": "Критерий выбора победителя торгов\n\n* `0` - Выбор победителя происходит автоматически по лучшей ставке\n* `1` - Выбор победителя происходит по ставке и дате загрузки. Если нет лучшей ставки с лучшей датой - требуется выбор победителя вручную.",
            "$ref": "#/components/schemas/WinnerCriteria"
          }
        }
      },
      "AuctionRestartParametersView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "AuctionFinishAction": {
            "$ref": "#/components/schemas/AuctionFinishAction"
          },
          "InitRestartCount": {
            "type": "integer",
            "description": "Количество перезапусков Торгов, от 0 до 3 включительно.\\\nЕсли параметр не передать, по умолчанию 0",
            "format": "int32"
          },
          "InitChangeWinnerCount": {
            "type": "integer",
            "description": "Сколько раз выбирать следующего победителя с лучшей ставкой, если предыдущий отказался, от 0 до 3 включительно\\\nЕсли параметр не передать, по умолчанию 0",
            "format": "int32"
          },
          "DurationAfterRestart": {
            "type": "integer",
            "description": "Длительность торгов в минутах после перезапуска\\\nНеобязательное поле, если его не передавать, то торги будут перезапущены с изначальной длительностью (поле Duration в структуре Аукцион). Однако если в структуре Аукцион заполнено поле EndDateBoundary и поле InitRestartCount имеет значение больше 0, то DurationAfterRestart становится обязательным",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "BaseDealItemView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Auction": {
            "description": "Параметры аукциона",
            "$ref": "#/components/schemas/BaseAuctionView"
          }
        }
      },
      "LoadBoardView": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseLoadBoardView"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "IsPublished": {
                "type": "boolean",
                "description": "Показывает, что груз уже опубликован на странице"
              },
              "IsCommonBoard": {
                "type": "boolean",
                "description": "Показывает является ли площадка Общей"
              }
            }
          }
        ]
      },
      "BaseLoadBoardView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "BoardId": {
            "type": "string",
            "description": "ID площадки\t"
          },
          "PublicationTime": {
            "type": "string",
            "description": "Время публикации на площадке\\\nУчитывается, если `PublicationOption` равно `6`",
            "format": "date-time",
            "nullable": true
          },
          "IsReservationEnabled": {
            "type": "boolean",
            "description": "Показывает разрешено ли бронирование грузов на Общей площадке\\\nУчитывается только для Общей площадки, только при включенном Stealth"
          },
          "PublicationOption": {
            "type": "integer",
            "description": "Параметры публикации груза:\n            \n* `0` - сразу\n* `1` - через 15 минут\n* `2` - через 30 минут\n* `3` - через час\n* `4` - через 3 часа\n* `5` - через 6 часов\n* `6` - указать точное время",
            "format": "int32"
          }
        }
      },
      "BaseLoadView": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "ContactId1",
          "Loading",
          "Unloading",
          "Cargo",
          "Transport",
          "Payment"
        ],
        "properties": {
          "LoadMeta": {
            "description": "Метаданные для интеграторов",
            "$ref": "#/components/schemas/LoadMetaView"
          },
          "ContactId1": {
            "type": "integer",
            "description": "Идентификатор первого выбранного контакта.\\\nСписок всех контактов и их идентификаторы можно получить с помощью [API для работы с фирмами](https://ati.su/developers/api/firms/)\\\nКонтакт должен быть виден для остальных участников АТИ",
            "format": "int32"
          },
          "ContactId2": {
            "type": "integer",
            "description": "Идентификатор второго выбранного контакта, если не выбрано, то null\\\nКонтакт должен быть виден для остальных участников АТИ",
            "format": "int32",
            "nullable": true
          },
          "Note": {
            "type": "string",
            "description": "Примечание к грузу\\\nОграничение по длине: 1000 символов\t",
            "default": ""
          },
          "FirstDate": {
            "type": "string",
            "description": "Дата, начиная с которой груз актуален, в формате UTC\\\nМинимальное значение равно текущей дате\\\nПри значении параметра DateType равным 0, допустимое значение поля - текущая дата\\\nПри значении параметра DateType равным 1, допустимое значение поля - от текущей даты до 60 дней вперед\\\nПри значении параметра DateType равным 2, допустимое значение поля - текущая дата\\\nПри значении параметра DateType равным 3, FirstDate должен принимать значение текущей даты или отсутствовать",
            "format": "date-time"
          },
          "LastDate": {
            "type": "string",
            "description": "Дата, после которой груз не актуален, в формате UTC\\\nМинимальное значение равно значению параметра FirstDate\\\nПри значении параметра DateType равным 0, допустимое значение поля - от текущей даты до 1 дня вперед\\\nПри значении параметра DateType равным 1, допустимое значение поля - от даты в параметре FirstDate до 9 дней вперед\\\nПри значении параметра DateType равным 2, данное поле вычисляется автоматически по формуле FirstDate + 2 месяца, передаваемое значение игнорируется\\\nПри значении параметра DateType равным 3, LastDate автоматически устанавливается на значение + 2 дня от текущей даты, передаваемое значение игнорируется",
            "format": "date-time"
          },
          "DateType": {
            "type": "integer",
            "description": "Выбор типа готовности груза к перевозке\n\n* `0` - Готов к загрузке\n* `1` - с Х по У\n* `2` - постоянно\n* `3` - груза нет, запрос ставки",
            "format": "int32"
          },
          "PeriodicityId": {
            "type": "integer",
            "description": "Периодичность загрузки\\\nЕсли параметр DateType не равен 2, PeriodicityId равен 0.\\\nИначе PeriodicityId может принимать следующие значения:\n            \n* `1` - ежедневно\n* `100` - по рабочим дням",
            "format": "int32"
          },
          "OrderNumber": {
            "type": "string",
            "description": "Номер заказа\\\nОграничение по длине: 250 символов",
            "default": ""
          },
          "Krugoreis": {
            "type": "boolean",
            "description": "Параметр, который определяет, включен ли кругорейс для перевозки груза"
          },
          "Loading": {
            "description": "Загрузка",
            "$ref": "#/components/schemas/LoadPointView"
          },
          "ExtraPoints": {
            "type": "array",
            "description": "Список дополнительных пунктов маршрута\\\nМаксимальное количество - 15 штук",
            "items": {
              "$ref": "#/components/schemas/LoadExtraPointView"
            }
          },
          "Unloading": {
            "description": "Разгрузка",
            "$ref": "#/components/schemas/LoadPointView"
          },
          "Cargo": {
            "description": "Информация о грузе",
            "$ref": "#/components/schemas/LoadCargoView"
          },
          "Transport": {
            "description": "Параметры транспорта",
            "$ref": "#/components/schemas/LoadTransportView"
          },
          "Payment": {
            "description": "Оплата",
            "$ref": "#/components/schemas/LoadPaymentView"
          },
          "InviteSettings": {
            "description": "Настройки автоприглашений",
            "$ref": "#/components/schemas/LoadInviteSettingsView"
          },
          "PriorityView": {
            "description": "Приоритетный показ",
            "$ref": "#/components/schemas/BaseLoadPriorityViewView"
          },
          "Stealth": {
            "description": "Настройки показа груза",
            "$ref": "#/components/schemas/LoadStealthView"
          },
          "LoadFiles": {
            "type": "array",
            "description": "Файлы к грузу\\\nПеред добавлением груза с файлом, файл предварительно необходимо загрузить в АТИ-Доки (см. [API для хранения файлов](https://ati.su/developers/api/filestorage/))",
            "items": {
              "$ref": "#/components/schemas/LoadFileView"
            }
          },
          "Deal": {
            "$ref": "#/components/schemas/BaseDealItemView"
          },
          "Boards": {
            "type": "array",
            "description": "Список площадок",
            "items": {
              "$ref": "#/components/schemas/BaseLoadBoardView"
            }
          },
          "UnloadFirstDate": {
            "type": "string",
            "description": "Дата начала разгрузки, в формате UTC.\\\nМожет иметь значение `null`.\\\nМинимальное значение равно текущей дате.\\\nПри значении параметра DateType равным `3`, UnloadFirstDate принимает значение `null`",
            "format": "date-time",
            "nullable": true
          },
          "UnloadLastDate": {
            "type": "string",
            "description": "Дата окончания разгрузки, в формате UTC.\nМожет иметь значение `null`.\\\nЕсли нет даты начала разгрузки UnloadFirstDate, должна отсутствовать дата окончания разгрузки UnloadLastDate.\\\nПри значении параметра DateType равным `3`, UnloadFirstDate принимает значение `null`",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "LoadMetaView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "LoadMetaId": {
            "type": "string",
            "description": "Идентификатор метаданных",
            "format": "guid",
            "nullable": true
          },
          "MetaData": {
            "type": "string",
            "description": "Метаданные\\\nМаксимальная длина 1024 символа"
          }
        }
      },
      "LoadPointView": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "CityId"
        ],
        "properties": {
          "CityId": {
            "type": "integer",
            "description": "Идентификатор города загрузки/разгрузки\\\nЗначение из [словаря городов АТИ](https://ati.su/developers/api/dictionaries/geo/) ",
            "format": "int32"
          },
          "Latitude": {
            "type": "number",
            "description": "Широта города загрузки/разгрузки\\\nПараметр должен быть указан, если не указана улица (параметр Street равен null или имеет длину менее 5 символов) и выполняется хотя бы одно из трех условий:\n            \n1. указан город Москва;\n2. указан город Санкт-Петербург;\n3. города загрузки и разгрузки совпадают.\n\nЕсли параметр Longitude задан, то необходимо указать и этот параметр.\\\nДопустимое значение от -90 до 90.",
            "format": "decimal",
            "nullable": true
          },
          "Longitude": {
            "type": "number",
            "description": "Долгота города загрузки/разгрузки\\\nПараметр должен быть указан, если не указана улица (параметр Street равен null или имеет длину менее 5 символов) и выполняется хотя бы одно из трех условий:\n            \n1. указан город Москва;\n2. указан город Санкт-Петербург;\n3. города загрузки и разгрузки совпадают.\n\nЕсли параметр Latitude задан, то необходимо указать и этот параметр.\\\nДопустимое значение от -90 до 90.",
            "format": "decimal",
            "nullable": true
          },
          "Street": {
            "type": "string",
            "description": "Улица или район города загрузки/разгрузки\\\nПараметр должен быть указан и иметь длину не менее 5 символов, если не указаны координаты (параметры Longtittude и Lattitude равны null) и выполняется хотя бы одно из трех условий:\n            \n1. указан город Москва;\n2. указан город Санкт-Петербург;\n3. города загрузки и разгрузки совпадают.\n\nМаксимальная длина 100 символов.",
            "default": ""
          },
          "TimeStart": {
            "type": "string",
            "description": "Время начала загрузки/разгрузки\\\nНе указывается при значении параметра DateType равным 3.\\\nНе указывается при значении IsRoundTheClock: true",
            "format": "date-time",
            "nullable": true
          },
          "TimeEnd": {
            "type": "string",
            "description": "Время завершения загрузки/разгрузки\\\nНе указывается при значении параметра DateType равным 3.\\\nНе указывается при значении IsRoundTheClock: true",
            "format": "date-time",
            "nullable": true
          },
          "IsRoundTheClock": {
            "type": "boolean",
            "description": "Определяет выбрано ли значение Круглосуточно\\\nПо умолчанию - false\\\nНе указывается при значении параметра DateType равным 3."
          },
          "LargeCities": {
            "type": "array",
            "description": "Массив идентификаторов ближайших крупных городов\\\nЗначение из [словаря городов АТИ](https://ati.su/developers/api/dictionaries/geo/)\\\nМаксимальное количество - 10 штук",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "LoadingCargos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoadingCargoView"
            }
          }
        }
      },
      "LoadingCargoView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CargoId": {
            "type": "integer",
            "description": "Id груза",
            "format": "int32"
          },
          "NameId": {
            "type": "integer",
            "description": "Наименование груза",
            "format": "int32"
          },
          "Name": {
            "type": "string"
          },
          "PackagingType": {
            "type": "integer",
            "description": "Упаковка",
            "format": "int32",
            "nullable": true
          },
          "PackagingQuantity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Weight": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "Volume": {
            "type": "number",
            "description": "Объем",
            "format": "double",
            "nullable": true
          },
          "Sizes": {
            "description": "Габариты",
            "$ref": "#/components/schemas/LoadSize"
          }
        }
      },
      "LoadExtraPointView": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "CityId",
          "PointType"
        ],
        "properties": {
          "CityId": {
            "type": "integer",
            "description": "Идентификатор города\\\nЗначение из [словаря городов АТИ](https://ati.su/developers/api/dictionaries/geo/) ",
            "format": "int32"
          },
          "PointType": {
            "type": "integer",
            "description": "Тип точки:\n\n* `1` - загрузка\n* `2` - разгрузка\n* `3` - таможня\n* `8` - проехать через",
            "format": "int32"
          },
          "Latitude": {
            "type": "number",
            "description": "Долгота",
            "format": "decimal",
            "nullable": true
          },
          "Longitude": {
            "type": "number",
            "description": "Широта",
            "format": "decimal",
            "nullable": true
          },
          "Street": {
            "type": "string",
            "description": "Улица или район"
          },
          "OrdinalId": {
            "type": "integer",
            "description": "Порядковый номер",
            "format": "int32"
          },
          "IsRoundTheClock": {
            "type": "boolean",
            "description": "Загрузка/разгрузка круглосуточно"
          },
          "LoadingDateStart": {
            "type": "string",
            "description": "Дата начала периода загрузки/разгрузки",
            "format": "date-time",
            "nullable": true
          },
          "LoadingDateEnd": {
            "type": "string",
            "description": "Дата окончания периода загрузки/разгрузки",
            "format": "date-time",
            "nullable": true
          },
          "LoadingTimeStart": {
            "type": "string",
            "description": "Время начала загрузки/разгрузки",
            "format": "time-span",
            "nullable": true
          },
          "LoadingTimeEnd": {
            "type": "string",
            "description": "Время окончания загрузки/разгрузки",
            "format": "time-span",
            "nullable": true
          },
          "LoadingCargos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoadingCargoView"
            }
          },
          "UnloadingCargos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnloadingCargoView"
            }
          }
        }
      },
      "UnloadingCargoView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CargoId": {
            "type": "integer",
            "description": "Id груза",
            "format": "int32"
          },
          "Weight": {
            "type": "number",
            "description": "Вес",
            "format": "double",
            "nullable": true
          },
          "Volume": {
            "type": "number",
            "description": "Объём",
            "format": "double",
            "nullable": true
          },
          "PackagingQuantity": {
            "type": "integer",
            "description": "Выгружаемая часть упаковки",
            "format": "int32",
            "nullable": true
          },
          "IsDefinedByTtn": {
            "type": "boolean",
            "description": "Выгружаемая часть груза будет определена в ТТН"
          }
        }
      },
      "LoadCargoView": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "CargoTypeId",
          "DogruzType"
        ],
        "properties": {
          "Weight": {
            "type": "number",
            "description": "Вес груза в тоннах\\\nОбязательный параметр, если не задан параметр Volume.",
            "format": "double"
          },
          "Volume": {
            "type": "number",
            "description": "Объем груза в кубических метрах\\\nОбязательный параметр, если не задан параметр Weight. Максимальная длина - 4 символа\t",
            "format": "double"
          },
          "ADR": {
            "type": "integer",
            "description": "Параметр, определяющий степень опасности груза\\\nДопустимое значение от 0 до 9. По умолчанию - 0\t",
            "format": "int32"
          },
          "CargoTypeId": {
            "type": "integer",
            "description": "Идентификатор наименования груза\\\nЗначение из [Словаря наименований грузов](https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-cargoTypes)",
            "format": "int32"
          },
          "CargoType": {
            "type": "string",
            "description": "Строковое наименование груза.\\\nОбязательный параметр, если значение параметра CargoTypeId равно `59`.\\\nМаксимальная длина названия - 50 символов.\\\nЭтот параметр должен быть пустым, если параметр `CargoTypeId` отличен от `59`.\\\nВ этом поле запрещено указывать контактную информацию",
            "default": ""
          },
          "PackType": {
            "type": "integer",
            "description": "Идентификатор наименования упаковки (навалом, коробки, россыпью...)\\\nЗначение из [Словаря наименований грузов](https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-packTypes)",
            "format": "int32"
          },
          "PalletCount": {
            "type": "integer",
            "description": "Количество упаковок для груза\\\nДопустимое значение от 0 до 9999. По умолчанию - 0\t",
            "format": "int32"
          },
          "BeltCount": {
            "type": "integer",
            "description": "Количество ремней для груза\\\nДопустимое значение от 0 до 9999. По умолчанию - 0",
            "format": "int32"
          },
          "DogruzType": {
            "type": "integer",
            "description": "Вариант перевозки:\n\n* `1` - только отдельной машиной\n* `2` - отдельной или догрузом",
            "format": "int32"
          },
          "SborGruz": {
            "type": "boolean",
            "description": "Определяет, является ли груз сборным"
          },
          "Size": {
            "description": "Параметры размера груза",
            "$ref": "#/components/schemas/LoadSizeView"
          }
        }
      },
      "LoadSizeView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Length": {
            "type": "number",
            "description": "Длина груза в метрах\\\nДопустимое значение от 0 до 50. Максимальная длина - 5 символов. По умолчанию - 0",
            "format": "double"
          },
          "Width": {
            "type": "number",
            "description": "Ширина груза в метрах\\\nДопустимое значение от 0 до 50. Максимальная длина - 5 символов. По умолчанию - 0",
            "format": "double"
          },
          "Height": {
            "type": "number",
            "description": "Высота груза в метрах\\\nДопустимое значение от 0 до 50. Максимальная длина - 5 символов. По умолчанию - 0",
            "format": "double"
          },
          "Diameter": {
            "type": "number",
            "description": "Диаметр груза в метрах\\\nДопустимое значение от 0 до 50. Максимальная длина - 5 символов. По умолчанию - 0",
            "format": "double"
          },
          "LengthHighlight": {
            "type": "boolean",
            "description": "Выделение красным цветом длины груза (для привлечения внимания перевозчика в случае нестандартных размеров груза)"
          },
          "WidthHighlight": {
            "type": "boolean",
            "description": "Выделение красным цветом ширины груза (для привлечения внимания перевозчика в случае нестандартных размеров груза)"
          },
          "HeightHighlight": {
            "type": "boolean",
            "description": "Выделение красным цветом высоты груза (для привлечения внимания перевозчика в случае нестандартных размеров груза)"
          }
        }
      },
      "LoadTransportView": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "CarType"
        ],
        "properties": {
          "CarType": {
            "type": "integer",
            "description": "Битовая сумма ID кузовов\\\nЗначение из [словаря кузовов АТИ](https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-carTypes)",
            "format": "int64"
          },
          "LoadingType": {
            "type": "integer",
            "description": "Битовая сумма ID типов загрузки\\\nЗначение из [словаря вариантов загрузки АТИ](https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-loadingTypes)",
            "format": "int32"
          },
          "LoadingLogicalOperator": {
            "type": "string",
            "description": "Тип условия загрузки:\n\n* `OR` - необходимо, чтобы присутствовал один из способов загрузки\n* `AND` - необходимо, чтобы присутствовали все выбранные типы загрузки",
            "default": "OR"
          },
          "UnloadingType": {
            "type": "integer",
            "description": "Битовая сумма ID типов разгрузки.\\\nЗначение из [словаря вариантов разагрузки АТИ](https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-loadingTypes)",
            "format": "int32"
          },
          "UnloadingLogicalOperator": {
            "type": "string",
            "description": "Тип условия разгрузки:\n\n* `OR` - необходимо, чтобы присутствовал один из способов разгрузки\n* `AND` - необходимо, чтобы присутствовали все выбранные типы разгрузки",
            "default": "OR"
          },
          "TrucksQuantity": {
            "type": "integer",
            "description": "Количество машин\\\nДопустимое значение от 1 до 99. По умолчанию - 1",
            "format": "int32"
          },
          "TemperatureFrom": {
            "type": "integer",
            "description": "Минимальная температура для груза, если выбран тип кузова \"Рефрижератор\", \"Рефрижератор с перегородкой\", \"Рефрижератор-мультирежимный\"\\\nДопустимое значение от -99 до 999\t",
            "format": "int32",
            "nullable": true
          },
          "TemperatureTo": {
            "type": "integer",
            "description": "Максимальная температура для груза, если выбран тип кузова \"Рефрижератор\", \"Рефрижератор с перегородкой\", \"Рефрижератор-мультирежимный\"\\\nДопустимое значение от -99 до 999\t",
            "format": "int32",
            "nullable": true
          },
          "Stsepka": {
            "type": "boolean",
            "description": "Определяет, нужна ли сцепка для груза"
          },
          "Pnevmohod": {
            "type": "boolean",
            "description": "Определяет, нужен ли пневмоход для груза"
          },
          "Koniki": {
            "type": "boolean",
            "description": "Определяет, нужны ли коники для груза"
          },
          "TIR": {
            "type": "boolean",
            "description": "Документы на транспорт, необходимые для провоза этого груза: документы TIR"
          },
          "CMR": {
            "type": "boolean",
            "description": "Документы на транспорт, необходимые для провоза этого груза: документы CMR"
          },
          "T1": {
            "type": "boolean",
            "description": "Документы на транспорт, необходимые для провоза этого груза: документы T1"
          },
          "SanPassport": {
            "type": "boolean",
            "description": "Документы на транспорт, необходимые для провоза этого груза: медкнижка"
          },
          "IsTracking": {
            "type": "boolean",
            "description": "Трекинг через АТИ Водитель"
          }
        }
      },
      "LoadPaymentView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CurrencyId": {
            "type": "integer",
            "description": "Идентификатор валюты\\\nПо умолчанию - 1. Должен принимать значение 0, если параметр FixedRate равен false\\\nЗначение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)",
            "format": "int32"
          },
          "MoneyType": {
            "type": "integer",
            "description": "Идентификатор варианта оплаты\\\nПо умолчанию - `22`. Должен принимать значение `22`, если параметр `FixedRate` равен `false`\\\nЗначение из [словаря вариантов оплаты АТИ](https://ati.su/developers/api/dictionaries/cargoes/#get-v1.0-dictionaries-moneyTypes)",
            "format": "int32"
          },
          "RateSum": {
            "type": "number",
            "description": "Ставка для груза\\\nОбязательный параметр, если параметр FixedRate равен true и не заданы параметры SumWithNDS или SumWithoutNDS. Максимальная длина 6 символов. Если ввести более двух цифр после запятой, будет произведено округление. Если параметр MoneyType равен 22 и RateSum &gt; 0, тогда поля SumWithNDS и SumWithoutNDS должны быть пустыми или принимать значение 0\t",
            "format": "decimal"
          },
          "SumWithNDS": {
            "type": "number",
            "description": "Ставка б/нал с НДС\\\nОбязательный параметр, если параметр FixedRate равен true и не заданы параметры RateSum или SumWithoutNDS. Максимальная длина 6 символов. Если ввести более двух цифр после запятой, будет произведено округление. Если параметр FixedRate равен false, то параметр SumWithNDS должен отсутствовать или быть равным 0\t",
            "format": "decimal"
          },
          "SumWithoutNDS": {
            "type": "number",
            "description": "Ставка б/нал без НДС\\\nОбязательный параметр, если параметр FixedRate равен true и не заданы параметры SumWithNDS или RateSum. Максимальная длина 6 символов. Если ввести более двух цифр после запятой, будет произведено округление. Если параметр FixedRate равен false, то параметр SumWithoutNDS должен отсутствовать или быть равным 0\t",
            "format": "decimal"
          },
          "PrepayPercent": {
            "type": "integer",
            "description": "Процент предоплаты\\\nДопустимое значение от 0 до 100. Должен отсутствовать или принимать значение 0, если параметр PrepayPercentEnabled равен false\t",
            "format": "int32"
          },
          "PrepayPercentEnabled": {
            "type": "boolean",
            "description": "Есть ли предоплата"
          },
          "PayDays": {
            "type": "integer",
            "description": "Через сколько банковских дней оплата\\\nДопустимое значение от 0 до 99. Должен отсутствовать или принимать значение 0, если параметр PayDaysEnabled равен false\t",
            "format": "int32"
          },
          "PayDaysEnabled": {
            "type": "boolean",
            "description": "Параметр, что включен флажок \"через банк. дней\"\\\nПо умолчанию - false. Не может быть установлен в true, если параметр OnUnloading тоже установлен в true"
          },
          "FixedRate": {
            "type": "boolean",
            "description": "true, если ставка задана, false если запрос ставки\\\nПо умолчанию - true. При значении параметра DateType равным 3, должен иметь значение false. Если указано значение True, значение хотя бы одного из полей RateSum, SumWithNDS, SumWithoutNDS должно быть больше или равно 1\t"
          },
          "Torg": {
            "type": "boolean",
            "description": "Возможен ли торг\\\nПо умолчанию - false. Не учитывается, если параметр FixedRate равен false\t"
          },
          "DirectContract": {
            "type": "boolean",
            "description": "Прямой договор"
          },
          "InFuel": {
            "type": "boolean",
            "description": "Предоплата топливом"
          },
          "OnUnloading": {
            "type": "boolean",
            "description": "Оплата на выгрузке"
          },
          "HideResponses": {
            "type": "boolean",
            "description": "Скрыть встречные предложения"
          },
          "AcceptPaymentTypes": {
            "type": "integer",
            "description": "Позволяет указать форму оплаты при выборе параметра \"Запрос ставки\":\n            \n* `1` - наличные\n* `2` - б/нал с НДС\n* `3` - нал и б/нал с НДС\n* `4` - б/нал без НДС\n* `5` - нал и б/нал без НДС\n* `6` - б/нал с НДС и без НДС\n* `7` - нал и б/нал с НДС и без НДС\n* `0` - указана фикс. ставка",
            "format": "int32"
          }
        }
      },
      "LoadInviteSettingsView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "InviteDelayInSeconds": {
            "type": "integer",
            "description": "Время в секундах сбора встречных предложений,\nпо истечение которого будет создано приглашение\nпо лучшему из них",
            "format": "int32"
          },
          "InviteDurationInSeconds": {
            "type": "integer",
            "description": "Время в секундах действия приглашения",
            "format": "int32"
          }
        }
      },
      "LoadStealthView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ListIdToHide": {
            "type": "string",
            "description": "Режим стэлс, ID списка для которого данный груз показываться не будет\\\nПолучить ID списка можно с помощью [API списков фирмы](https://ati.su/developers/api/catalogs/firm-lists/)",
            "format": "guid",
            "nullable": true
          },
          "FirmRegDateToHide": {
            "type": "string",
            "description": "Режим стэлс, Для фирм с датой регистрации меньше данной груз показываться не будет",
            "format": "date-time",
            "nullable": true
          },
          "ScoreToHide": {
            "type": "number",
            "description": "Режим стэлс, минимальное количество баллов фирмы. Для фирм с меньшим количество баллов груз показываться не будет",
            "format": "double",
            "nullable": true
          }
        }
      },
      "LoadFileView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "description": "Идентификатор файла, возвращается при загрузке файла в АТИ-Доки",
            "format": "guid"
          },
          "FileType": {
            "type": "integer",
            "description": "Тип загруженного файла:\n\n* `1` - документ",
            "format": "int32"
          },
          "Attributes": {
            "type": "integer",
            "description": "Битовый набор опции файла\n            \n* `0` - Значение по умолчанию. Данный файл доступен по ссылке\n* `1` - Данный файл доступен только владельцу груза",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "description": "Имя файла\\\nДля имени файла разрешено использовать следующие символы: цифры, заглавные и строчные буквы латинского и кириллического алфавита, дефис, точка, пробел.\nДлинна: до 100 символов. Имя файла присваивается при загрузке в АТИ-Доки"
          },
          "Link": {
            "type": "string",
            "description": "Ссылка, по которой можно скачать файл, возвращается при загрузке файла в АТИ-Доки"
          },
          "Size": {
            "type": "integer",
            "description": "Размер файла\\\nИнформационное поле, на текущий момент не используется",
            "format": "int32"
          }
        }
      },
      "FinalExceptionModelOfLoadMergeException": {
        "type": "object",
        "description": "Модель ошибки",
        "additionalProperties": false,
        "properties": {
          "Reason": {
            "type": "string",
            "description": "Причина ошибки"
          },
          "Error": {
            "type": "string",
            "description": "Ключ ошибки"
          }
        }
      },
      "InsertLoadDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadDto"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "LoadDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseLoadView"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "EditLoadDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LoadDto"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "AtiDocsCreateLoadDocumentResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "description": "Id документа"
          },
          "Url": {
            "type": "string",
            "description": "Ссылка на документ"
          }
        }
      },
      "Comment": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CommentId": {
            "type": "string",
            "description": "Идентификатор комментария",
            "format": "guid"
          },
          "Message": {
            "type": "string",
            "description": "Комментарий"
          },
          "ContactId": {
            "type": "integer",
            "description": "Контакт фирмы, который оставил комментарий",
            "format": "int32"
          },
          "CommentDateTime": {
            "type": "string",
            "description": "Время, когда комментарий был оставлен",
            "format": "date-time"
          }
        }
      },
      "NewLoadResponseViewStandart": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ResponseId": {
            "type": "string",
            "description": "Id отзыва",
            "format": "guid"
          },
          "LoadId": {
            "type": "string",
            "description": "Id груза, на который оставлен отзыв",
            "format": "guid"
          },
          "LoadNumber": {
            "type": "string",
            "description": "Номер груза"
          },
          "LoadFirmId": {
            "type": "integer",
            "description": "Id фирмы, которой принадлежит груз",
            "format": "int32"
          },
          "FirmId": {
            "type": "integer",
            "description": "Id фирмы, которая оставила отзыв",
            "format": "int32"
          },
          "FirmName": {
            "type": "string",
            "description": "Название фирмы"
          },
          "ContactId": {
            "type": "integer",
            "description": "Контакт, который сделал встречное предложение",
            "format": "int32"
          },
          "AddedAt": {
            "type": "string",
            "description": "Дата добавления отзыва",
            "format": "date-time"
          },
          "UpdatedAt": {
            "type": "string",
            "description": "Дата изменения отзыва",
            "format": "date-time"
          },
          "Price": {
            "type": "number",
            "description": "Предложенная цена встречного предложения",
            "format": "decimal"
          },
          "CurrencyId": {
            "type": "integer",
            "description": "Валюта встречного предложения\\\nЗначение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)",
            "format": "int32"
          },
          "NdsPrice": {
            "type": "number",
            "description": "Предложенная цена встречного предложения с ндс",
            "format": "decimal"
          },
          "NdsCurrencyId": {
            "type": "integer",
            "description": "Валюта ставки встречного предложения б/нал с НДС.Параметр должен быть равен валюте, указанной в грузе, если параметр FixedRate равен True и параметр Torg равен False.\\\nЗначение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)",
            "format": "int32"
          },
          "NotNdsPrice": {
            "type": "number",
            "description": "Предложенная цена встречного предложения без ндс",
            "format": "decimal"
          },
          "NotNdsCurrencyId": {
            "type": "integer",
            "description": "Валюта встречного предложения без ндс",
            "format": "int32"
          },
          "CounterOfferSource": {
            "description": "Обозначение откуда было добавлено встречное предложение\n\n* `0` - Неизвестный источник\n* `1` - Мобильное приложение\n* `2` - Интегратор\n* `3` - Перехват грузов интегратором\n* `4` - Страница поиска грузов\n* `5` - Перехват машин\n* `6` - Сквозное встречное предложение, добавлено автоматически",
            "$ref": "#/components/schemas/CounterOfferSource"
          },
          "Note": {
            "type": "string",
            "description": "Примечание к встречному предложению\\\nМаксимальная длина - 512 символов"
          },
          "PayAttributes": {
            "type": "integer",
            "description": "Атрибуты оплаты, по умолчанию - 0.\nБитовая сумма следующих параметров:\n\n* `1` - возможна оплата наличными\n* `2` - возможна оплата по безналичному рассчету\n* `4` - блиц\n* `8` - оплата с НДС\n* `16` - возможна предоплата\n* `32` - оплата на выгрузке\n* `64` - включена ли оплата через некоторое количество банковских дней",
            "format": "int32"
          },
          "PrepayPercent": {
            "type": "integer",
            "description": "Процент предоплаты\\\nДолжен быть равен 0 или отсутствовать, если PayAttributes не содержит флаг 16 - возможна предоплата. Допустимое значение от 0 до 100",
            "format": "int32"
          },
          "PayAfterMaxBankDays": {
            "type": "integer",
            "description": "Оплата через ... банковских дней\\\nДолжен быть равен 0 или отсутствовать, если PayAttributes не содержит флаг 64 - включена оплата через некоторое количество банковских дней. Допустимое значение от 0 до 99",
            "format": "int32"
          },
          "LoadingDate": {
            "type": "string",
            "description": "Дата, когда предложивший хочет перевезти ваш груз",
            "format": "date-time",
            "nullable": true
          },
          "IsOutdated": {
            "type": "boolean",
            "description": "Определяет, просрочен ли отзыв. Когда груз редактируют, удаляют, обновляют, отзыв помечается просроченным.\\\nТолько для чтения."
          },
          "IsLoadPublished": {
            "type": "boolean",
            "description": "Относится ли отзыв к публикующемуся грузу"
          },
          "IsNoLoad": {
            "type": "boolean",
            "description": "Параметр \"Груза нет\""
          },
          "AnnouncedCurrencyId": {
            "type": "integer",
            "description": "Валюта \"Озвученной ставки\"\\\nЗначение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)",
            "format": "int32"
          },
          "AnnouncedRate": {
            "type": "integer",
            "description": "Озвученная ставка",
            "format": "int32"
          },
          "FirmInfo": {
            "description": "Информация о фирме, оставившей отзыв на груз\t",
            "$ref": "#/components/schemas/LoadResponseFirminfo"
          }
        }
      },
      "LoadResponseFirminfo": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "TotalScore": {
            "type": "number",
            "description": "Сумма очков фирмы (количество звезд)",
            "format": "double"
          },
          "Status": {
            "$ref": "#/components/schemas/FirmStatus"
          },
          "FullFirmName": {
            "type": "string",
            "description": "Полное название фирмы"
          },
          "Contact": {
            "description": "Информация о контакте фирмы, оставившем отзыв на груз",
            "$ref": "#/components/schemas/LoadResponseContactInfo"
          },
          "Inn": {
            "type": "string",
            "description": "ИНН"
          }
        }
      },
      "LoadResponseContactInfo": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "description": "Id контакта в фирме",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "description": "Имя контакта"
          },
          "Telephone": {
            "type": "string",
            "description": "Телефон"
          },
          "Email": {
            "type": "string",
            "description": "Электронная почта"
          },
          "Icq": {
            "type": "string",
            "description": "Аккаунт ICQ"
          },
          "Mobile": {
            "type": "string",
            "description": "Телефон(мобильный)"
          },
          "MobileOperator": {
            "type": "string",
            "description": "Мобильный оператор"
          },
          "SkypeName": {
            "type": "string",
            "description": "Аккаунт Skype"
          },
          "CityId": {
            "type": "integer",
            "description": "Id города\\\nЗначение из [словаря городов АТИ](https://ati.su/developers/api/dictionaries/geo/) ",
            "format": "int32",
            "nullable": true
          },
          "Location": {
            "description": "Информация о местоположении фирмы",
            "$ref": "#/components/schemas/FirmServiceCity"
          }
        }
      },
      "FirmServiceCity": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CityId": {
            "type": "integer",
            "description": "Id города\\\nЗначение из [словаря городов АТИ](https://ati.su/developers/api/dictionaries/geo/) ",
            "format": "int32"
          },
          "RegionId": {
            "type": "integer",
            "description": "Id региона\\\nЗначение из [словаря регионов АТИ](https://ati.su/developers/api/dictionaries/geo/) ",
            "format": "int32",
            "nullable": true
          },
          "CountryId": {
            "type": "integer",
            "description": "Id страны\\\nЗначение из [словаря стран АТИ](https://ati.su/developers/api/dictionaries/geo/) ",
            "format": "int32",
            "nullable": true
          },
          "FullName": {
            "type": "string",
            "description": "Составное название состоящее из названий города, региона и страны разделенные через запятую"
          },
          "ShortName": {
            "type": "string",
            "description": "Составное название состоящее из названия города, названия региона (если город не является областным центром) и буквенного кода страны (если страна отличается от России)"
          },
          "IsRegionalCenter": {
            "type": "boolean",
            "description": "Является ли город региональным центром"
          },
          "CitySize": {
            "type": "integer",
            "description": "Размер города по числу жителей\n            \n* `1`: до 10.000\n* `2`: от 10.000 до 50.000;\n* `3`: от 50.000 до 100.000;\n* `4`: от 100.000 до 500.000;\n* `5`: от 500.000 до 1.000.000; \n* `6`: свыше 1.000.000.",
            "format": "int32"
          },
          "FiasId": {
            "type": "string",
            "description": "Id в базе ФИАС",
            "format": "guid",
            "nullable": true
          },
          "CityName": {
            "type": "string",
            "description": "Название города"
          },
          "RegionName": {
            "type": "string",
            "description": "Название региона"
          },
          "CountryName": {
            "type": "string",
            "description": "Название страны"
          },
          "CountryCodeName": {
            "type": "string",
            "description": "Буквенный код страны"
          }
        }
      },
      "NewResponseOperationStatusView": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OperationStatus"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Result": {
                "type": "array",
                "description": "Список встречных предложений",
                "items": {
                  "$ref": "#/components/schemas/NewLoadResponseViewStandart"
                }
              },
              "Error": {
                "type": "string",
                "description": "Ключ ошибки"
              },
              "Reason": {
                "type": "string",
                "description": "Причина ошибки"
              }
            }
          }
        ]
      },
      "DeleteNewResponseOperationStatusView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Status": {
            "type": "integer",
            "description": "Статус операции\n            \n* `0` - Успех\n* `-1` - Меньше 0 - произошла незапланированная ошибка",
            "format": "int32"
          },
          "Message": {
            "type": "string",
            "description": "Сообщение о результате"
          },
          "Error": {
            "type": "string",
            "description": "Ключ ошибки, если Status не равен 0"
          },
          "Reason": {
            "type": "string",
            "description": "Причина ошибки, если Status не равен 0"
          }
        }
      },
      "UpsertPriorityViewPublicRequest": {
        "type": "object",
        "properties": {
          "priority_view": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PriorityViewRequest"
              }
            ],
            "description": "Конфигурация приоритетного показа",
            "nullable": true
          }
        }
      },
      "CargoCounterOfferIntegratorDto": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "contact_id",
          "price",
          "currency_id",
          "nds_price",
          "nds_currency_id",
          "not_nds_price",
          "not_nds_currency_id",
          "prepay_percent",
          "pay_after_max_bank_days",
          "pay_attributes"
        ],
        "properties": {
          "contact_id": {
            "type": "integer",
            "format": "int32",
            "description": "Контакт, от лица которого выставляется встречное предложение"
          },
          "price": {
            "type": "number",
            "format": "decimal",
            "description": "Предложенная ставка встречного предложения не б/нал. Значение больше 0 и содержит не более 10 символов."
          },
          "currency_id": {
            "type": "integer",
            "format": "int32",
            "description": "Валюта встречного предложения. Значение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)"
          },
          "nds_price": {
            "type": "number",
            "format": "decimal",
            "description": "Предложенная ставка встречного предложения б/нал с НДС"
          },
          "nds_currency_id": {
            "type": "integer",
            "format": "int32",
            "description": "Валюта ставки встречного предложения б/нал с НДС. Значение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)"
          },
          "not_nds_price": {
            "type": "number",
            "format": "decimal",
            "description": "Предложенная ставка встречного предложения б/нал без НДС"
          },
          "not_nds_currency_id": {
            "type": "integer",
            "format": "int32",
            "description": "Валюта ставки встречного предложения б/нал без НДС. Значение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)"
          },
          "note": {
            "type": "string",
            "nullable": true,
            "description": "Примечание к встречному предложению\\\nМаксимальная длина - 512 символов"
          },
          "prepay_percent": {
            "type": "integer",
            "format": "int32",
            "description": "Процент предоплаты\\\nДолжен быть равен 0 или отсутствовать, если pay_attributes не содержит флаг 16 - возможна предоплата. Допустимое значение от 0 до 100"
          },
          "pay_after_max_bank_days": {
            "type": "integer",
            "format": "int32",
            "description": "Оплата через ... банковских дней\\\nДолжен быть равен 0 или отсутствовать, если pay_attributes не содержит флаг 64 - включена оплата через некоторое количество банковских дней. Допустимое значение от 0 до 99"
          },
          "loading_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Дата, когда предложивший хочет перевезти груз"
          },
          "pay_attributes": {
            "type": "integer",
            "format": "int32",
            "description": "Атрибуты оплаты, по умолчанию - 0.\nБитовая сумма следующих параметров:\n\n* `1` - возможна оплата наличными\n* `2` - возможна оплата по безналичному рассчету\n* `4` - блиц\n* `8` - оплата с НДС\n* `16` - возможна предоплата\n* `32` - оплата на выгрузке\n* `64` - включена ли оплата через некоторое количество банковских дней"
          }
        }
      },
      "CargoCounterOfferIntegratorView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Id встречного предложения"
          },
          "cargo_id": {
            "type": "string",
            "format": "uuid",
            "description": "Id груза, на который оставлено встречное предложение"
          },
          "cargo_number": {
            "type": "string",
            "description": "Номер груза"
          },
          "cargo_firm_id": {
            "type": "integer",
            "format": "int32",
            "description": "Id фирмы, которой принадлежит груз"
          },
          "firm_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Id фирмы, которая оставила встречное предложение"
          },
          "added_at": {
            "type": "string",
            "format": "date-time",
            "description": "Дата добавления встречного предложения"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Дата изменения встречного предложения"
          },
          "price": {
            "type": "number",
            "format": "decimal",
            "description": "Предложенная ставка встречного предложения не б/нал. Значение больше 0 и содержит не более 10 символов."
          },
          "currency_id": {
            "type": "integer",
            "format": "int32",
            "description": "Валюта встречного предложения. Значение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)"
          },
          "nds_price": {
            "type": "number",
            "format": "decimal",
            "description": "Предложенная ставка встречного предложения б/нал с НДС"
          },
          "nds_currency_id": {
            "type": "integer",
            "format": "int32",
            "description": "Валюта ставки встречного предложения б/нал с НДС. Значение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)"
          },
          "not_nds_price": {
            "type": "number",
            "format": "decimal",
            "description": "Предложенная ставка встречного предложения б/нал без НДС"
          },
          "not_nds_currency_id": {
            "type": "integer",
            "format": "int32",
            "description": "Валюта ставки встречного предложения б/нал без НДС. Значение из [словаря валют АТИ](https://ati.su/developers/api/dictionaries/cargoes/)"
          },
          "counter_offer_source": {
            "type": "integer",
            "format": "int32",
            "description": "Обозначение источника, откуда добавлено встречное предложение.\n\n* `0` - Неизвестный источник\n* `1` - Мобильное приложение\n* `2` - Интегратор\n* `3` - Перехват грузов интегратором\n* `4` - Страница поиска грузов\n* `5` - Перехват машин\n* `6` - Сквозное встречное предложение, добавлено автоматически"
          },
          "note": {
            "type": "string",
            "nullable": true,
            "description": "Примечание к встречному предложению\\\nМаксимальная длина - 512 символов"
          },
          "pay_attributes": {
            "type": "integer",
            "format": "int32",
            "description": "Атрибуты оплаты, по умолчанию - 0.\nБитовая сумма следующих параметров:\n\n* `1` - возможна оплата наличными\n* `2` - возможна оплата по безналичному рассчету\n* `4` - блиц\n* `8` - оплата с НДС\n* `16` - возможна предоплата\n* `32` - оплата на выгрузке\n* `64` - включена ли оплата через некоторое количество банковских дней"
          },
          "prepay_percent": {
            "type": "integer",
            "format": "int32",
            "description": "Процент предоплаты\\\nДолжен быть равен 0 или отсутствовать, если pay_attributes не содержит флаг 16 - возможна предоплата. Допустимое значение от 0 до 100"
          },
          "pay_after_max_bank_days": {
            "type": "integer",
            "format": "int32",
            "description": "Оплата через ... банковских дней\\\nДолжен быть равен 0 или отсутствовать, если pay_attributes не содержит флаг 64 - включена оплата через некоторое количество банковских дней. Допустимое значение от 0 до 99"
          },
          "loading_date": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Дата, когда предложивший хочет перевезти ваш груз"
          },
          "is_outdated": {
            "type": "boolean",
            "description": "Определяет, просрочено ли встречное предложение. Когда груз редактируют, удаляют, обновляют, встречное предложение помечается просроченным.\nТолько для чтения."
          },
          "is_cargo_published": {
            "type": "boolean",
            "description": "Относится ли встречное предложение к публикующемуся грузу.\nТолько для чтения."
          },
          "firm_info": {
            "description": "Информация о фирме, оставившей встречное предложение",
            "$ref": "#/components/schemas/FirmIntegratorView"
          }
        }
      },
      "CargoCounterOfferStatus": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "cargo_id": {
            "type": "string",
            "format": "uuid",
            "description": "Id груза"
          },
          "has_active": {
            "type": "boolean",
            "description": "Есть ли активные встречные предложения по грузу"
          }
        }
      },
      "OperationStatusCargoCounterOfferIntegratorView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "status": {
            "type": "integer",
            "format": "int32",
            "description": "Статус операции.\n\n* `1` - Груз не найден\n* `0` - Успех\n* `9` - Встречное предложение на груз не найдено\n* `<0` - Произошла незапланированная ошибка"
          },
          "message": {
            "type": "string",
            "nullable": true,
            "description": "Сообщение о результате"
          },
          "error": {
            "type": "string",
            "nullable": true,
            "description": "Ключ ошибки"
          },
          "result": {
            "description": "Встречное предложение",
            "$ref": "#/components/schemas/CargoCounterOfferIntegratorView"
          }
        }
      },
      "OperationStatusCargoCounterOfferIntegratorViewList": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "status": {
            "type": "integer",
            "format": "int32",
            "description": "Статус операции.\n\n* `1` - Груз не найден\n* `0` - Успех\n* `9` - Встречное предложение на груз не найдено\n* `<0` - Произошла незапланированная ошибка"
          },
          "message": {
            "type": "string",
            "nullable": true,
            "description": "Сообщение о результате"
          },
          "error": {
            "type": "string",
            "nullable": true,
            "description": "Ключ ошибки"
          },
          "result": {
            "type": "array",
            "nullable": true,
            "description": "Список встречных предложений",
            "items": {
              "$ref": "#/components/schemas/CargoCounterOfferIntegratorView"
            }
          }
        }
      },
      "FirmIntegratorView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "total_score": {
            "type": "number",
            "format": "double",
            "description": "Сумма очков фирмы (количество звезд)"
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "description": "Статус фирмы"
          },
          "full_firm_name": {
            "type": "string",
            "description": "Полное название фирмы"
          },
          "contact": {
            "description": "Информация о контакте фирмы, оставившем встречное предложение",
            "$ref": "#/components/schemas/ContactIntegratorView"
          },
          "inn": {
            "type": "string",
            "nullable": true,
            "description": "ИНН"
          }
        }
      },
      "ContactIntegratorView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "description": "Id контакта в фирме"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Имя контакта"
          },
          "telephone": {
            "type": "string",
            "nullable": true,
            "description": "Телефон"
          },
          "email": {
            "type": "string",
            "nullable": true,
            "description": "Электронная почта"
          },
          "icq": {
            "type": "string",
            "nullable": true,
            "description": "Аккаунт ICQ"
          },
          "mobile": {
            "type": "string",
            "nullable": true,
            "description": "Телефон (мобильный)"
          },
          "mobile_operator": {
            "type": "string",
            "nullable": true,
            "description": "Мобильный оператор"
          },
          "skype_name": {
            "type": "string",
            "nullable": true,
            "description": "Аккаунт Skype"
          },
          "city_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Id города.\nЗначение из [словаря городов АТИ](https://ati.su/developers/api/dictionaries/geo/)"
          },
          "location": {
            "description": "Информация о местоположении фирмы",
            "$ref": "#/components/schemas/AccountCity"
          }
        }
      },
      "AccountCity": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "city_id": {
            "type": "integer",
            "format": "int32",
            "description": "Id города.\nЗначение из [словаря городов АТИ](https://ati.su/developers/api/dictionaries/geo/)"
          },
          "region_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Id региона.\nЗначение из [словаря регионов АТИ](https://ati.su/developers/api/dictionaries/geo/)"
          },
          "country_id": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Id страны.\nЗначение из [словаря стран АТИ](https://ati.su/developers/api/dictionaries/geo/)"
          },
          "full_name": {
            "type": "string",
            "nullable": true,
            "description": "Составное название из названий города, региона и страны, разделенных запятой"
          },
          "short_name": {
            "type": "string",
            "nullable": true,
            "description": "Составное название из города, региона (если город не является областным центром) и буквенного кода страны (если страна отличается от России)"
          },
          "is_regional_center": {
            "type": "boolean",
            "description": "Является ли город региональным центром"
          },
          "city_size": {
            "type": "integer",
            "format": "int32",
            "description": "Размер города по числу жителей"
          },
          "fias_id": {
            "type": "string",
            "format": "uuid",
            "nullable": true,
            "description": "Id в базе ФИАС"
          },
          "attributes": {
            "type": "integer",
            "format": "int32",
            "description": "Атрибуты города"
          },
          "city_name": {
            "type": "string",
            "description": "Название города"
          },
          "region_name": {
            "type": "string",
            "nullable": true,
            "description": "Название региона"
          },
          "country_name": {
            "type": "string",
            "nullable": true,
            "description": "Название страны"
          },
          "country_code_name": {
            "type": "string",
            "nullable": true,
            "description": "Буквенный код страны"
          }
        }
      },
      "DeleteOwnCounterOffersResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Признак успешного удаления"
          }
        }
      },
      "ErrorModel": {
        "type": "object",
        "description": "Тело ответа при ошибке (HTTP 4xx): общий ключ и пояснение, плюс при необходимости список ошибок по отдельным полям запроса.",
        "additionalProperties": false,
        "properties": {
          "error": {
            "type": "string",
            "nullable": true,
            "description": "Ключ ошибки (идентификатор сценария отказа или типа сбоя)."
          },
          "reason": {
            "type": "string",
            "nullable": true,
            "description": "Пояснение: что не так с запросом и при валидации — какие ограничения нарушены."
          },
          "details": {
            "type": "array",
            "nullable": true,
            "description": "Ошибки валидации по полям: каждый элемент соответствует одному полю JSON-тела.",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "property": {
                  "type": "string",
                  "nullable": true,
                  "description": "Имя поля в теле запроса, к которому относится ошибка."
                },
                "reason": {
                  "type": "string",
                  "nullable": true,
                  "description": "Текстовое описание нарушения для этого поля (например, неверный формат или диапазон)."
                },
                "error": {
                  "type": "string",
                  "nullable": true,
                  "description": "Код или класс ошибки валидации для автоматической обработки на стороне клиента."
                }
              }
            }
          }
        }
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Authorization: Bearer {authorizationToken}"
      }
    }
  }
}