Аренда
Собственник покупает актив, сохраняет за ним право собственности и сдает в аренду его использование. Арендная плата зарабатывается за использование вещи, которая существует и является собственностью, а не за течение времени над суммой денег.
Собственность здесь не формальность: она приходит с затратами. Страхование, капитальный ремонт, риск того, что актив будет уничтожен — это сидеть с владельцем до тех пор, пока владелец владеет титулом, и это не является проблемой. API аренда, в которой пользователь несет все расходы на владение, в то время как владелец не несет ни одного, представляет собой кредит под залог, описанный в словаре лизинга.
Базовый путь: /api/v1/pfp/leases · Религиозное чтение: Иджара
Две формы
lease_type | Заканчивается с | Вариант покупки |
|---|---|---|
operating | Актив возвращается владельцу | Никто. |
finance | Титул переходит к лизингополучателю | Обязательный - purchase_option_price Требуется при создании |
Форма определяет, какой конец является законным. operating договор аренды не может быть закрыт путем передачи права собственности, а finance Аренда не может быть закрыта путем возврата - закрытие финансовой аренды путем возврата лишило бы арендатора права покупки, которое он платил. API Отказывается от обоих.
Выбор finance набор purchase_option to true автоматически и делает purchase_option_price Требуемый и позитивный.
Статус
draft ──submit──> under_review ──review──> review_passed
│ │ │
│ └──reject──> rejected │
│ │
└──────────── acquire ────────────────────────┘
│
v
asset_acquired ──activate──> active
│
┌──────────────────────────┼──────────────────┐
│ (finance) │ (operating) │
v v v
transfer_pending ──transfer──> completed terminated
^
└── return (operating)
| статус | Значение |
|---|---|
draft | Записанные термины |
under_review | Представлен на утверждение |
review_passed | Заключение прилагается |
rejected | Терминал. Требуется а reason |
asset_acquired | Владелец имеет право собственности и документы о собственности |
active | Актив находится у арендатора; арендная плата работает |
transfer_pending | Финансовая аренда — срок окончен, оформление правового титула |
completed | Возвращается (работает) или передается (финансируется) |
terminated | Заканчивается рано. reason |
В светском чтении acquire досягаемости от draft а также как и review_passed.
Создать договор аренды
POST /api/v1/pfp/leases
{
"customer_id": "8f2a1c44-0b6e-4d51-9a3f-1c8e5b7d2a90",
"region": "RU",
"currency": "RUB",
"lease_type": "finance",
"asset_type": "equipment",
"asset_description": "CNC milling machine DMG MORI CMX 1100 V",
"asset_cost": "1450000000",
"lease_term_months": 48,
"monthly_rental": "3600000",
"advance_rental": "7200000",
"security_deposit": "10000000",
"residual_value": "290000000",
"purchase_option_price": "290000000",
"asset_location": "Kazan, Industrial Park B"
}
| Полное поле | Тип | Требуемый | Заметки |
|---|---|---|---|
customer_id | uuid | ✅ | Лизингополучатель |
region | string | ✅ | Контрактный регион |
lease_type | enum | ✅ | operating | finance |
asset_description | string | ✅ | Актив должен существовать и быть идентифицируемым при подписании |
asset_cost | string | ✅ | Небольшие единицы, выше нуля |
lease_term_months | integer | ✅ | 1–240 периоды 30 дни |
monthly_rental | string | ✅ | Небольшие единицы, выше нуля |
purchase_option_price | string | условный | Требуется когда lease_type is finance |
asset_type | enum | — | vehicle | equipment | real_estate | aircraft | vessel | machinery |
advance_rental | string | — | Оплачено заранее, добавлено к общей сумме |
security_deposit | string | — | Держите, а не арендуйте |
residual_value | string | — | Ожидаемая стоимость в конце срока |
asset_serial_number, asset_location, asset_specifications | — | — | Идентификация конкретной вещи |
currency, product_id, metadata | — | — |
Актив должен быть идентифицирован. asset_description Это не педантизм: сдача в аренду неопределенного будущего объекта - это ставка, а не аренда, и контракт будет недействительным в юрисдикциях, для которых построен этот продукт. asset_serial_number и asset_location Чтобы определить конкретную вещь.
total_rentals_due Выводится: monthly_rental × lease_term_months + advance_rental.
Приобрести актив
POST /api/v1/pfp/leases/{id}/acquire
{
"ownership_documents": ["purchase-invoice-8812.pdf", "customs-decl-4471.pdf"],
"asset_serial_number": "DMG-CMX1100V-2026-0417",
"asset_registration": "RU-EQ-2026-88120",
"insurance_policy": "SOGAZ-EQ-2026-11904",
"insurance_expires": "2027-09-01"
}
ownership_documents is необходимый Это переход, который фиксирует, что владелец фактически владеет вещью, и она не примет пустую руку.
draft or review_passed → asset_acquired.
Отдайте назад и начните
POST /api/v1/pfp/leases/{id}/activate
{ "delivery_date": "2026-09-15" }
delivery_date Это опционально и по умолчанию на сегодняшний день. Срок аренды и весь график платежей отсчитываются от него. — арендная плата начинается, когда арендатор получает актив, а не когда был подписан договор.
asset_acquired → active.
Расписание
Сгенерированный при активации. Первый ряд падает один период после дата начала, а не на ней: арендная плата выплачивается за месяц использования, который уже случился.
{
"payment_schedule": [
{ "payment_number": 1, "due_date": "2026-10-15", "amount": "3600000", "status": "pending" },
{ "payment_number": 2, "due_date": "2026-11-14", "amount": "3600000", "status": "pending" }
]
}
Периоды являются 30 Дни, так что сроки дрейфуют по отношению к календарю. monthly_rental - в отличие от распродажи в рассрочку, здесь ничего не делится, поэтому остальная часть не округляется. monthly_rental × lease_term_months; advance_rentalЕсли таковой имеется, то он находится на вершине и не является графиком.
Запуск аренды
Аренда получена
POST /api/v1/pfp/leases/{id}/payment
{ "amount": "3600000" }
Добавить в total_rentals_paid Продвиньте расписание.
просроченные
POST /api/v1/pfp/leases/{id}/arrears
{ "amount": "7200000" }
Записывает просроченную сумму. Ноль является действительной ценностью и очищает от преступности. - это единственное поле количества в семействе продуктов, которое принимает "0" (^(0|[1-9]\d*)$ Вместо того, чтобы ^[1-9]\d*$).
Как и в случае с продажами в рассрочку, регистрация задолженности ничего не добавляет к тому, что должно быть.
Расходы собственника
POST /api/v1/pfp/leases/{id}/expense
{
"amount": "4500000",
"description": "Spindle bearing replacement, works order 2211",
"type": "maintenance"
}
Это переход, который делает собственника собственником. Страховые взносы, капитальный ремонт, обязательные проверки — расходы, которые следуют за титулом, а не за использованием.
description is требуется и не должна быть пустойРасходы без заявленной цели не могут быть оправданы для арендатора, и именно это оправдание отличает стоимость владельца от платы, тихо переданной арендатору. type Дефолты для maintenance.
Расходы накапливаются в total_owner_expenses и перечислены в owner_expenses.
Окончание аренды
Какой конец доступен, зависит от lease_type.
Операционная аренда — возврат
POST /api/v1/pfp/leases/{id}/return
Никакого тела. active → completedи return_date Отказался от финансовой аренды.
Финансовая аренда — передача права собственности
Два шага, потому что окончание срока и завершение бумажной работы - это не один и тот же день.
POST /api/v1/pfp/leases/{id}/transfer_pending
Никакого тела. active → transfer_pendingОтказался от операционной аренды.
POST /api/v1/pfp/leases/{id}/transfer
Нет тела. Переносит контракт на completed и наборы transfer_date.
Выполняются два условия, и оба имеют значение:
- Аренда должна быть а
financeАренда. - Аренда должна быть оплачена в полном объеме. If
total_rentals_paidНе хватает толькоtotal_rentals_due, в переводе отказано и в ответе указана непогашенная сумма:
{
"error": "unprocessable_entity",
"details": {
"total_rentals_paid": ["аренда выплачена не полностью: остаток 7200000"]
}
}
transfer Достижимо с обеих сторон active и transfer_pendingТаким образом, промежуточный шаг может быть пропущен, когда документация немедленна.
Досрочное прекращение
POST /api/v1/pfp/leases/{id}/terminate
{ "reason": "Lessee ceased operations" }
Только один active Аренда может быть прекращена. Аренда, уже завершенная путем передачи или возврата, не может быть перенесена на terminated Это стерло бы запись о концовке, которая действительно имела место.
Перечислить и прочитать
GET /api/v1/pfp/leases
| Параметр запроса | ценности |
|---|---|
status | любой статус выше |
region | Контрактный регион |
type | operating | finance |
customer_id | uuid |
arrears | true - только активная аренда в настоящее время с просрочкой |
ending_in_days | целые — только активные договоры аренды, срок которых заканчивается в течение N дней; |
env | test | prod |
Последние два предназначены для оперативного обзора: ?arrears=true выставляет коллекции в очередь, ?ending_in_days=60 лизинг, требующий решения о продлении или передаче в этом квартале.
GET /api/v1/pfp/leases/{id}