Бронирование недвижимости¶
Этот рецепт показывает основной цикл домена realty: заблокировать даты, прочитать бронирования и обновить цены краткосрочной аренды.
Блокировка дат¶
realty_booking() требует item_id и user_id. Даты передаются списком строк в формате upstream API.
from avito import AvitoClient
with AvitoClient.from_env() as avito:
result = avito.realty_booking(20, user_id=10).update_bookings_info(
blocked_dates=["2026-05-01"],
)
print(result.success)
print(result.status)
Список бронирований¶
Для чтения бронирований задайте границы периода. Если нужны неоплаченные бронирования, передайте with_unpaid=True.
from avito import AvitoClient
with AvitoClient.from_env() as avito:
bookings = avito.realty_booking(20, user_id=10).list_realty_bookings(
date_start="2026-05-01",
date_end="2026-05-05",
with_unpaid=True,
)
print(bookings.items[0].booking_id)
print(bookings.items[0].check_in)
Обновление цен¶
Для цен используйте публичную модель RealtyPricePeriod.
from avito import AvitoClient
from avito.realty import RealtyPricePeriod
with AvitoClient.from_env() as avito:
updated = avito.realty_pricing(20, user_id=10).update_realty_prices(
periods=[RealtyPricePeriod(date_from="2026-05-01", price=5000)],
)
print(updated.success)
Полный контракт смотрите в reference по realty. Ошибки валидации входных параметров описаны в reference по исключениям.