Disponibilidad y precios
Los tres métodos funcionan con una clave publicable, así que una tienda online puede llamarlos directamente desde el navegador.
availability.calendar()
availability.calendar(
input: AvailabilityCalendarInput,
options?: RequiplyRequestOptions,
): Promise<AvailabilityCalendarResponse>
Obligatorios: startDate y endDate como fechas simples (YYYY-MM-DD), con un máximo de 366 días entre ellas. Un valor con hora se convierte a su fecha en UTC, lo que puede desplazarlo un día. El parámetro opcional groupIds limita el calendario a un máximo de 200 productos.
const { days } = await requiply.availability.calendar({
startDate: '2026-07-01',
endDate: '2026-07-07',
groupIds: [cameraKitId],
});
Cada día incluye el grupo, la cantidad total, la cantidad reservada y un availabilityStatus que puede ser null.
availability.items()
availability.items(
input: AvailabilityItemsInput,
options?: RequiplyRequestOptions,
): Promise<AvailabilityItemsResponse>
Obligatorios: startDate y endDate; endDate no puede ser anterior a startDate. Las fechas y horas sin desfase horario se interpretan en la zona horaria de la organización. Opcionales: search, limit (de 1 a 100, por defecto 25) y 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;
La respuesta usa la misma estructura de artículo de inventario que inventory.list() y devuelve nextCursor: string | null. Solo lista los productos que tienen al menos una unidad libre durante todo el periodo. Aquí categoryId siempre es null; usa inventory.list() con las mismas fechas cuando necesites las categorías.
pricing.quote()
pricing.quote(
input: PricingQuoteInput,
options?: RequiplyRequestOptions,
): Promise<PricingQuoteResponse>
Obligatorios: startDate, endDate e items. Cada artículo necesita un groupId (el id del producto) y una quantity. items puede estar vacío cuando envías bundles. Opcionales:
| Campo | Qué hace |
|---|---|
bundles | Los packs que se reservan, como { bundleId, quantity }, con quantity en packs completos, obtenidos de bundles.list(). Sus componentes se añaden a los artículos. Desde la 0.2.1; necesita la función de packs de la organización. |
services | Servicios adicionales por serviceId, obtenidos de services.list(). |
clientId | Aplica el descuento porcentual de ese cliente. Pensado para integraciones de servidor que ya conocen al cliente. |
adjustment | Un ajuste del coste de la reserva. Solo con clave secreta. |
saleLines | Productos vendidos con la reserva. Consulta Ventas y productos en venta; una clave publicable solo puede enviarlos mientras la organización vende a los clientes. |
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);
Las fechas y horas sin desfase horario se interpretan en la zona horaria de la organización, igual que en bookings.create(). Un presupuesto se calcula exactamente igual que la reserva, así que el total que muestras es el total que tendrá la reserva.
Respuesta del presupuesto
| Campo | Qué contiene |
|---|---|
itemsSubtotal, servicesSubtotal | Los productos de alquiler y los servicios antes de cualquier descuento o ajuste. |
discountableSubtotal | La parte a la que se aplica el descuento del cliente. Los servicios con excludedFromDiscount no están incluidos. |
bundleDiscountAmount, lineBundles | Lo que se ahorra con los packs, ya incluido en total (0 sin packs), y una fila por pack con su quantity, discountPercent, grossTotal, discountAmount y los components de cada pack. lineItems contiene las cantidades combinadas de las unidades en packs y las sueltas. Desde la 0.2.1. |
discountPercentage, discountAmount | El descuento del cliente y lo que descuenta, después del descuento de los packs. |
adjustment, adjustmentAmount | El ajuste del coste de la reserva con el que se calculó el presupuesto, o null, y su efecto económico con signo (0 para units, que cambia en cambio el periodo cobrado). |
saleSubtotal, lineSaleItems | Los productos vendidos con la reserva, cuando pasas saleLines. Nunca se les aplica descuento ni ajuste. Consulta Ventas y productos en venta. |
total | Lo que cuesta la reserva, productos vendidos incluidos. |
lineItems, lineServices | Una fila por producto o servicio con su subtotal. unitCount es el número de días, horas o meses cobrados. |