Доступність і ціни
Усі три методи працюють із публічним ключем, тож вітрина може викликати їх просто з браузера.
availability.calendar()
availability.calendar(
input: AvailabilityCalendarInput,
options?: RequiplyRequestOptions,
): Promise<AvailabilityCalendarResponse>
Обовʼязкові: startDate і endDate як звичайні дати (YYYY-MM-DD), щонайбільше за 366 днів одна від одної. Значення з часом перетворюється на дату в UTC, що може зсунути його на день. Необовʼязковий groupIds обмежує календар до 200 товарів.
const { days } = await requiply.availability.calendar({
startDate: '2026-07-01',
endDate: '2026-07-07',
groupIds: [cameraKitId],
});
Кожен день містить групу, загальну кількість, заброньовану кількість і availabilityStatus, який може бути null.
availability.items()
availability.items(
input: AvailabilityItemsInput,
options?: RequiplyRequestOptions,
): Promise<AvailabilityItemsResponse>
Обовʼязкові: startDate і endDate; endDate не може бути раніше за startDate. Дата й час без зсуву читаються в часовому поясі організації. Необовʼязкові: search, limit (від 1 до 100, за замовчуванням 25), cursor.
const page = await requiply.availability.items({
startDate: '2026-07-01T10:00:00',
endDate: '2026-07-03T18:00:00',
search: 'camera',
limit: 25,
});
const nextCursor = page.nextCursor;
Відповідь має ту саму форму елемента інвентарю, що й inventory.list(). Додатково вона повертає nextCursor: string | null. Вона перелічує лише товари, у яких хоча б одна одиниця вільна на весь період. Тут categoryId завжди null. Коли потрібні категорії, використовуйте inventory.list() з тими самими датами.
pricing.quote()
pricing.quote(
input: PricingQuoteInput,
options?: RequiplyRequestOptions,
): Promise<PricingQuoteResponse>
Обовʼязкові: startDate, endDate, items. Кожен елемент потребує groupId (id товару) і quantity. items може бути порожнім, коли ви надсилаєте bundles. Необовʼязкові:
| Поле | Що воно робить |
|---|---|
bundles | Комплекти для бронювання у вигляді { bundleId, quantity }, де quantity задається в цілих наборах, із bundles.list(). Їхні компоненти додаються до елементів. Починаючи з 0.2.1; потребує функції «Комплекти» в організації. |
services | Додаткові послуги за serviceId із services.list(). |
clientId | Застосовує відсоткову знижку цього клієнта. Призначено для серверних інтеграцій, які вже знають клієнта. |
adjustment | Коригування вартості бронювання. Лише із секретним ключем. |
saleLines | Товари, продані разом із бронюванням. Див. Продажі та товари на продаж. Публічний ключ може надсилати їх, лише поки організація продає клієнтам. |
const quote = await requiply.pricing.quote({
startDate: '2026-07-01T10:00:00',
endDate: '2026-07-03T18:00:00',
items: [{ groupId: cameraKitId, quantity: 2 }],
services: [{ serviceId: deliveryServiceId }],
});
console.log(quote.currency, quote.total);
Дата й час без зсуву читаються в часовому поясі організації, як і для bookings.create(). Розрахунок ціни виконується точно так само, як для бронювання, тож показаний вами total дорівнюватиме сумі бронювання.
Відповідь розрахунку ціни
| Поле | Що містить |
|---|---|
itemsSubtotal, servicesSubtotal | Товари оренди та послуги до будь-якої знижки чи коригування. |
discountableSubtotal | Частина, до якої застосовується знижка клієнта. Послуги з excludedFromDiscount до неї не входять. |
bundleDiscountAmount, lineBundles | Скільки економлять комплекти (уже враховано в total; 0 без комплектів) і по одному рядку на комплект із його quantity, discountPercent, grossTotal, discountAmount, а також components на набір. lineItems містять обʼєднані кількості одиниць у комплектах і окремих одиниць. Починаючи з 0.2.1. |
discountPercentage, discountAmount | Знижка клієнта і сума, яку вона знімає, після знижки за комплект. |
adjustment, adjustmentAmount | Коригування вартості бронювання, з яким розраховано ціну, або null, а також його грошовий вплив зі знаком (0 для units, бо такий тип змінює оплачуваний період). |
saleSubtotal, lineSaleItems | Товари, продані разом із бронюванням, коли ви передаєте saleLines. Знижки та коригування до них ніколи не застосовуються. Див. Продажі та товари на продаж. |
total | Вартість бронювання разом із товарами на продаж. |
lineItems, lineServices | По одному рядку на товар чи послугу з проміжною сумою. unitCount є кількістю оплачуваних днів, годин чи місяців. |