{"id":18273226,"url":"https://github.com/spacetab-io/ufs-python-sdk","last_synced_at":"2025-10-30T22:31:46.383Z","repository":{"id":62586128,"uuid":"114763619","full_name":"spacetab-io/ufs-python-sdk","owner":"spacetab-io","description":"SDK для шлюза покупки ж/д билетов у УФС.","archived":false,"fork":false,"pushed_at":"2019-05-15T11:08:26.000Z","size":133,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-20T21:19:12.881Z","etag":null,"topics":["gateway","python","python3","rails","railway","sdk","sdk-python","ufs"],"latest_commit_sha":null,"homepage":"https://www.ufs-online.ru/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spacetab-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-19T12:39:04.000Z","updated_at":"2022-07-28T06:20:16.000Z","dependencies_parsed_at":"2022-11-03T22:06:47.971Z","dependency_job_id":null,"html_url":"https://github.com/spacetab-io/ufs-python-sdk","commit_stats":null,"previous_names":["tmconsulting/ufs-python-sdk"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacetab-io%2Fufs-python-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacetab-io%2Fufs-python-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacetab-io%2Fufs-python-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacetab-io%2Fufs-python-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spacetab-io","download_url":"https://codeload.github.com/spacetab-io/ufs-python-sdk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247279396,"owners_count":20912877,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gateway","python","python3","rails","railway","sdk","sdk-python","ufs"],"created_at":"2024-11-05T12:05:40.953Z","updated_at":"2025-10-30T22:31:46.278Z","avatar_url":"https://github.com/spacetab-io.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Ufs SDK [![CircleCI](https://circleci.com/gh/tmconsulting/ufs-python-sdk.svg?style=svg)](https://circleci.com/gh/tmconsulting/ufs-python-sdk)\n----------------\n\nДанное SDK позволяет получить доступ к методам Ufs и исправляет недостатки их системы.\n* [Установка](#Установка)\n* [Подключение](#Подключение)\n* [Методы](#Методы)\n* [Contact us](#contact-us)\n* [License](#license)\n\n\n## Установка\n```\npip3 install ufs_sdk\n```\n\n## Подключение\n\nДля подключения необходимо иметь логин, пароль и терминал.\n\n```python\nfrom ufs_sdk import API\n\napi = API('username', 'password', 'terminal')\n\n```\n\nДалее для работы понадобятся enum структуры и обёртка для PassDoc(для метода BuyTickets)\n\n```python\nfrom ufs_sdk.wrapper.types import (...)\nfrom ufs_sdk.wrapper import PassDoc\n```\n\n## Методы\n### [TimeTable](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L19)\n#### Запрос:\n- **from** - Наименование или код станции отправления (7 символов)\n- **to** - Наименование или код станции прибытия (7 символов)\n- **day** - День отправления от 1 до 31\n- **month** - Месяц отправления от 1 до 12\n- **[time_sw](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L2)** - Влияет на применение ограничивающих параметров Time_from и Time_to\n- **time_from** - Левая граница временного диапазона (отправления или прибытия)\n- **time_to** - Правая граница временного диапазона (отправления или прибытия)\n- **suburban** - Признак получения расписания пригородных поездов\n\nПример запроса:\n```python\ntime_table = api.time_table('МОСКВА', 'САНКТ-ПЕТЕРБУРГ', 24, 12, TimeSw.NO_SW)\n```\n\n#### Ответ:\n- **is_clarify** - Признак уточнения станции. Если True, то переменная data - объект типа [Clarify](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L21) иначе [TimeTable](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L113)\n- **train_point** - Признак начальной или конечной станции следования\n- **data** - объект типа [Clarify](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L21) или [TimeTable](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L113)\n\n### [StationRoute](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L26)\n#### Запрос:\n- **from** - Наименование или код станции отправления (7 символов)\n- **day** - День отправления от 1 до 31\n- **month** - Месяц отправления от 1 до 12\n- **use_static_schedule** - Признак обращения в статическую базу полугодового расписания. Если тег принимает значение «0», то информация от АСУ «Экспресс-3».\n- **suburban** - Признак получения расписания пригородных поездов\n\nПример запроса:\n```python\nstation_route = api.station_route(4043, 5, 8, True, True)\n ```\n\n#### Ответ:\n- **[additional_info](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L123)** - УФС слишком крутые, им не надо описание данного поля. Нам, видимо, тоже...\n- **[route_params](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L153)** - Параметры маршрута\n\n\n### [TrainList](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L32)\n#### Запрос:\n- **from** - Наименование или код станции отправления (7 символов)\n- **to** - Наименование или код станции прибытия (7 символов)\n- **day** - День отправления от 1 до 31\n- **month** - Месяц отправления от 1 до 12\n- **advert_domain** - Доменное имя адверта\n- **[time_sw](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L2)** - Влияет на применение ограничивающих параметров Time_from и Time_to\n- **[lang](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L23)** - Язык\n- **time_from** - Левая граница временного диапазона (отправления или прибытия)\n- **time_to** - Правая граница временного диапазона (отправления или прибытия)\n- **[train_with_seat](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L29)** - Признак отображения поездов без свободных мест. Если параметр не передан или передано значение Train_with_seat=1, то в выдачи вернутся только поезда со свободными местами.\n- **join_train_complex** - Признак отображения маршрутов с пересадками. Если параметр не передан или передано значение false, то в выдачи вернутся только поезда без пересадок\n- **[grouping_type](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L36)** - Признак группировки поездов. Если значение не передано, то группировка поездов осуществляется по типу вагона\n- **[join_trains](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L51)** - Признак склейки поездов. Если значение не передано, то в выдаче список поездов возвращается со склейкой\n- **[search_option](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L58)** - Вариант поиска\n\nПример запроса:\n```python\ntrain_list = api.train_list('МОСКВА', 'АГАПОВКА', 24, 12)\n ```\n\n\n#### Ответ:\n- **is_clarify** - Признак уточнения станции. Если True, то переменная data - объект типа [Clarify](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L21) иначе [TrainList](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L357) + balance и balance_limit\n- **train_point** - Признак начальной или конечной станции следования\n- **data** - объект типа [Clarify](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L21) или [TrainList](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L113)\n- **balance** - Информация о балансе\n- **balance_limit** - Актуальный кредит Агента в ЖД шлюзе.\n\n### [CarListEx](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L43)\n#### Запрос:\n- **from** - Наименование или код станции отправления (7 символов)\n- **to** - Наименование или код станции прибытия (7 символов)\n- **day** - День отправления от 1 до 31\n- **month** - Месяц отправления от 1 до 12\n- **train** - Номер поезда\n- **time** - Время отправления поезда\n- **[lang](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L23)** - Язык\n- **type_car** - Тип вагона\n- **advert_domain** - Доменное имя адверта\n- **[grouping_type](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L36)** - Признак группировки поездов. Если значение не передано, то группировка поездов осуществляется по типу вагона\n\nПример запроса:\n```python\nstation_route = api.car_list_ex(4043, 5, 8, True, True)\n ```\n\n#### Ответ:\n- **[general_information](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L193)** - Общая информация по запросу\n- **[trains](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L521)** - Информация о поезде\n\n### [BuyTicket](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L51)\n#### Запрос:\n- **from** - Наименование или код станции отправления (7 символов)\n- **to** - Наименование или код станции прибытия (7 символов)\n- **day** - День отправления от 1 до 31\n- **month** - Месяц отправления от 1 до 12\n- **train** - Номер поезда (от 3 до 5 цифр и одна-две буквы)\n- **type_car** - Тип вагона\n- **[pass_doc](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L687)** - Документ пассажира, по которому оформляется билет\n- **[in_one_kupe](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L266)** - Признак поиска мест только в одном купе. Значения «2» и «3» имеют смысл только в случае плацкартного вагона – в остальных случаях их указание некорректно.\n- **[remote_check_in](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L291)** - Признак установки электронной регистрации\n- **[pay_type](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L300)** - Тип оплаты электронного билета\n- **n_car** - Номер вагона (две-три цифры) Обязателен в случае покупки билет в QM/DM вагоны\n- **service_class** - Класс обслуживания вагона\n- **sex** - Тип купе (мужское/женское/смешанное)\n- **diapason** - Требуемый диапазон мест в вагоне\n- **n_up** - Требуемое количество верхних мест\n- **n_down** - Требуемое количество нижних мест\n- **[bedding](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L277)** - Признак того, включать ли в стоимость постельное белье (только для плацкартных вагонов), отказ от постельного белья доступен только для ограниченного количества направлений\n- **stan** - Идентификатор заказа в веб-системе партнера. Бывает полезен для обеспечения взаимно-однозначного соответствия заказов во взаимодействующих системах\n- **advert_domain** - Доменное имя адверта\n- **phone** - Необходимо для выполнения клиентом последующих операций с заказом посредством SMS-сообщений.\n- **[lang](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L23)** - Язык\n- **id_cust** - Id клиента\n- **[storey](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L307)**\n- **time** - Время отправления поезда\n- **comment** - Комментарии к заказу (длина не более 128 символов). Если передается больше 128 символов, то остальные символы отрезаются и не сохраняются. После символов «! # \u0026» комментарий отрезается и не сохраняется.\n- **[placedemands](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L316)** - Требования к местам\n- **international_service_class** - Информация о вагоне. Записывается в виде «X/Y», где X- класс обслуживания вагона, У – количество мест в купе Тег может быть заполнен для DirectionGroup = 1 и DirectionGroup =2 Тег является обязательным: 1) Если код тарифа Tariff (Таблица 94)для пассажира соответствует тарифам Senior или Junior 2) Для оформления пассажира в internationalServiceClass=1/1, если internationalServiceClass=1/1 не передан, то идет оформление билета по internationalServiceClass=1/2\n- **[full_kupe](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L284)** - Возможность выкупа купе целиком\n\nПример запроса:\n```python\npass_doc = PassDoc('ЗП', 'ЗЗ934647165', '01051956', '1', 'KEN', first_name='Вася', last_name='Пупкин')\nbuy_tickets = api.buy_ticket(2000000, 1000001, 2, 3, '032A', 'М', pass_doc, InOneKupe.NOT_SIDE,\n                             RemoteCheckIn.TRY_AUTO_ER, PayType.CASH)\n ```\n\n#### Ответ:\n- **[general_information](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L193)** - Общая информация по запросу\n- **[trains](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L521)** - Информация о поезде\n\n### [ConfirmTicket](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L69)\n#### Запрос:\n- **id_trans** - Номер транзакции в системе «УФС»\n- **[confirm](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L193)** - Признак подтверждения / отмены резервирования заказа\n- **site_fee** - Комиссия с клиента за оформленный заказ\n- **[lang](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L23)** - Язык\n\nПример запроса:\n```python\nconfirm_ticket = api.confirm_ticket(48715626, Confirm.CONFIRM, 0)\n ```\n\n#### Ответ:\n- **status** - Статус операции\n- **transaction_id** - Номер транзакции в системе «УФС»\n- **confirm_time_limit** - Дата и время, до которого можно подтвердить заказ.([DateTime](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L4))\n- **[electronic_registration](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L202)** - Признак установки электронной регистрации\n- **order_number** - Номер заказа в АСУ «Экспресс-3»\n- **electronic_registration_expire** - Дата и время, до которого можно пройти электронную регистрацию и вернуть билет с ЭР в системе «УФС».([DateTime](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L4))\n- **[blank](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L574)** - Информация о бланке заказа\n- **[is_test](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L223)** - Рекомендуется сверять значение этого признака со статусом терминала, использованного в запросе (значения не должны противоречить друг другу).\n- **reservation** - Отложенная оплата.\n\n### [UpdateOrderInfo](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L74)\n#### Запрос:\n- **id_trans** - Номер транзакции в системе «УФС»\n\nПример запроса:\n```python\nupdate_order_info = api.update_order_info(48715626)\n```\n\n#### Ответ:\n- **status** - Текущий статус операции\n- **[blank](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L595)** - Информация о билете заказа\n- **change_food_before** - Дата и время, до которого можно воспользоваться услугой смены РП([DateTime](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L4))\n- **order** - Информация о заказе\n\n### [UpdateOrderInfo](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L74)\n#### Запрос:\n- **id_trans** - Номер транзакции в системе «УФС»\n\nПример запроса:\n```python\nupdate_order_info = api.update_order_info(48715626)\n```\n\n#### Ответ:\n- **status** - Текущий статус операции\n- **[blank](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L595)** - Информация о билете заказа\n- **change_food_before** - Дата и время, до которого можно воспользоваться услугой смены РП([DateTime](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L4))\n- **order** - Информация о заказе\n\n### [ElectronicRegistration](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L78)\n#### Запрос:\n- **id_trans** - Номер транзакции в системе «УФС»\n- **[reg](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L256)** - Признак запрашиваемого действия:\n- **id_blank** - Идентификаторы электронных билетов в системе «УФС», на которые необходимо установить/отменить электронную регистрацию (указываются через запятую)\n\nПример запроса:\n```python\nelectronic_registration = api.electronic_registration(48715620, Registration.CONFIRM)\n```\n\n#### Ответ:\n- **status** - Текущий статус операции\n- **[blank](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L636)** - Информация о билете заказа\n\n### [GetTicketBlank](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L83)\n#### Запрос:\n- **id_trans** - Номер транзакции в системе «УФС»\n- **[format](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L348)** - Формат вывода\n\nПример запроса:\n```python\nget_ticket_blank = api.get_ticket_blank(1, TicketFormat.HTML)\n```\n\n#### Ответ:\nУ объект ответа есть поле content, которое хранит либо html код, либо pdf файл, а так же метод save_blank, который позволяет сохранить pdf/html файл по указанному пути\n\n### [AvailableFood](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L88)\n#### Запрос:\n- **id_trans** - Номер транзакции в системе «УФС»\n- **advert_domain** - Доменное имя адверта\n- **[lang](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L23)** - Язык\n\nПример запроса:\n```python\navailable_food = api.available_food(48715620, '')\n```\n\n#### Ответ:\n- **change_food_before** - Дата и время, до которого можно воспользоваться услугой смены РП.([DateTime](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L4))\n- **[food](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L582)** - Список доступных РП\n\n### [ChangeFood](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L93)\n#### Запрос:\n- **id_trans** - Номер транзакции в системе «УФС»\n- **blanks_id** - Идентификатор бланка в системе «УФС»\n- **food_allowance_code** - Код РП\n- **advert_domain** - Доменное имя адверта\n- **[lang](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L23)** - Язык\n\nПример запроса:\n```python\nchange_food = api.change_food(48715620, 1, '', '')\n```\n\n#### Ответ:\n- **number** - Порядковый номер документа\n- **train_number** - Номер поезда\n- **departure_date** - Дата отправления поезда\n- **departure_number** - од станции отправления\n- **arrival_number** - Код станции прибытия\n- **car_number** - Номер вагона\n- **service_class** - Класс обслуживания\n- **place_number** - Номера мест\n- **passengers_amount** - Количество пассажиров\n- **food_code** - Код РП\n- **food_name** - Название РП\n- **food_description** - Описание РП\n\n### [RefundAmount](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L100)\n#### Запрос:\n- **id_trans** - Номер транзакции в системе «УФС»\n- **id_blank** - Идентификаторы билетов в системе «УФС», для которых необходимо произвести возврат (указываются через запятую)\n- **doc** - Номер документа, удостоверяющего личность\n- **[lang](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L23)** - Язык\n\nПример запроса:\n```python\nrefund_amount = api.refund_amount(48715620, 1, 0)\n```\n\n#### Ответ:\n- **status** - Статус операции\n- **fee** - Сумма сервисного сбора за возврат\n- **tax_percent** - Величина комиссионного сбора УФС в %, В случае, если комиссия является фиксированной величиной, то передается в данном параметре «0»\n- **amount** - Общая сумма к возврату\n- **[blanks](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L644)** - Информация о билете заказа\n\n### [Refund](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L105)\n#### Запрос:\n- **id_trans** - Номер транзакции в системе «УФС»\n- **id_blank** - Идентификаторы билетов в системе «УФС», для которых необходимо произвести возврат (указываются через запятую)\n- **doc** - Номер документа, удостоверяющего личность\n- **stan** - Уникальный идентификатор операции (транзакции), необходимый, в частности, для получения информации о транзакции в случае потери ответа (таймаут, разрыв связи и т.п.)\n- **[lang](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L23)** - Язык\n\nПример запроса:\n```python\nrefund = api.refund(48715620, 1, 0)\n```\n\n#### Ответ:\n- **status** - Статус операции: «0» – успешная\n- **refund_id** - Номер транзакции возврата\n- **refund_date** - Время осуществления возврата\n- **fee** - Сумма сервисного сбора за возврат\n- **tax_percent** - Величина комиссионного сбора УФС в %, В случае, если комиссия является фиксированной величиной, то передается в данном параметре «0»\n- **amount** - Общая сумма к возврату\n- **[blanks](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L644)** - Информация о билете заказа\n\n### [GetCatalog](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/api.py#L110)\n#### Запрос:\n- **[code](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L261)** - Код справочника\n- **[all_languages](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L359)** - Признак ответа на всех языках.\n- **[lang](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/types.py#L23)** - Язык\n- **is_description** - Признак выдачи описания справочника\n\nПример запроса:\n```python\nget_catalog = api.get_catalog(ReferenceCode.LOYALTY_CARDS, 1)\n```\n\n#### Ответ:\n- **[loyalty_cards](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L676)** - Справочник Классов обслуживания\n- **[co_services](https://github.com/tmconsulting/ufs-python-sdk/blob/develop/ufs_sdk/wrapper/__init__.py#L676)** - Справочник карт лояльности\n\n### Contact us.\n\nIf you have any issues or questions regarding the API or the SDK it self, you are welcome to create an issue, or\nYou can write an Email to `artyom.slobodyan@gmail.com` or `roquie0@gmail.com`\n\n### License.\n\nSDK is released under the [MIT License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspacetab-io%2Fufs-python-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspacetab-io%2Fufs-python-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspacetab-io%2Fufs-python-sdk/lists"}