Requiply
SDK TypeScript

Dostępność i ceny

Sprawdzaj dostępność w wybranych datach i obliczaj typowane wyceny wynajmu.

Wszystkie trzy metody działają z kluczem publicznym, więc sklep internetowy może je wywoływać bezpośrednio z przeglądarki.

Dostępność i wyceny dla klucza publicznego nie pokazują ani nie przyjmują pozycji z podnajmu od dostawców. Gdy organizacja ma włączony podnajem, a integracja potrzebuje tych pozycji, użyj klucza tajnego na zaufanym serwerze.

availability.calendar()

availability.calendar(
  input: AvailabilityCalendarInput,
  options?: RequiplyRequestOptions,
): Promise<AvailabilityCalendarResponse>

Wymagane: startDate i endDate jako zwykłe daty (YYYY-MM-DD), oddalone o najwyżej 366 dni. Wartość z godziną jest zamieniana na datę w UTC, co może przesunąć ją o jeden dzień. Opcjonalne groupIds ogranicza kalendarz do najwyżej 200 pozycji.

const { days } = await requiply.availability.calendar({
  startDate: '2026-07-01',
  endDate: '2026-07-07',
  groupIds: [cameraKitId],
});

Każdy dzień zawiera grupę, łączną ilość, zarezerwowaną ilość i availabilityStatus, który może mieć wartość null.

availability.items()

availability.items(
  input: AvailabilityItemsInput,
  options?: RequiplyRequestOptions,
): Promise<AvailabilityItemsResponse>

Wymagane: startDate i endDate. endDate nie może być wcześniejsze niż startDate. Daty z godziną bez przesunięcia są odczytywane w strefie czasowej organizacji. Opcjonalne: search, limit (od 1 do 100, domyślnie 25) i 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;

Odpowiedź ma taki sam kształt pozycji jak inventory.list() i zwraca nextCursor: string | null. Wymienia tylko pozycje, w których co najmniej jeden egzemplarz jest wolny przez cały okres. categoryId ma tu zawsze wartość null. Jeśli potrzebujesz kategorii, użyj inventory.list() z tymi samymi datami.

pricing.quote()

pricing.quote(
  input: PricingQuoteInput,
  options?: RequiplyRequestOptions,
): Promise<PricingQuoteResponse>

Wymagane: startDate, endDate i items. Każda pozycja potrzebuje groupId (id pozycji) i quantity. items może być puste, gdy wysyłasz bundles. Opcjonalne:

PoleCo robi
bundlesZestawy do zarezerwowania jako { bundleId, quantity }, z quantity w całych kompletach, z bundles.list(). Ich składniki są dodawane do pozycji. Od wersji 0.2.1. Wymaga włączonej w organizacji funkcji Zestawy.
servicesUsługi dodatkowe według serviceId z services.list().
clientIdStosuje rabat procentowy tego klienta. Przeznaczone dla integracji serwerowych, które już znają klienta.
adjustmentKorekta kosztu rezerwacji. Tylko z kluczem tajnym.
saleLinesTowary sprzedawane razem z rezerwacją. Zobacz Sprzedaż i towary na sprzedaż. Klucz publiczny może je wysyłać tylko wtedy, gdy organizacja sprzedaje klientom.
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);

Daty z godziną bez przesunięcia są odczytywane w strefie czasowej organizacji, tak jak w bookings.create(). Wycena jest liczona dokładnie tak samo jak rezerwacja, więc pokazywane total to suma, którą otrzyma rezerwacja.

Odpowiedź z wyceną

PoleCo zawiera
itemsSubtotal, servicesSubtotalPozycje do wynajęcia i usługi przed rabatem i korektą.
discountableSubtotalCzęść, do której stosuje się rabat klienta. Nie ma w niej usług z excludedFromDiscount.
bundleDiscountAmount, lineBundlesOszczędność dzięki zestawom, już uwzględniona w total (0 bez zestawów), oraz po jednym wierszu na zestaw z quantity, discountPercent, grossTotal, discountAmount i składnikami components na komplet. lineItems zawierają połączone ilości egzemplarzy z zestawów i spoza nich. Od wersji 0.2.1.
discountPercentage, discountAmountRabat klienta i kwota, którą odejmuje, po rabacie zestawu.
adjustment, adjustmentAmountKorekta kosztu rezerwacji użyta w wycenie albo null oraz jej skutek finansowy ze znakiem (0 dla units, które zamiast tego zmienia naliczany okres).
saleSubtotal, lineSaleItemsTowary sprzedawane razem z rezerwacją, gdy przekażesz saleLines. Nigdy nie są objęte rabatem ani korektą. Zobacz Sprzedaż i towary na sprzedaż.
totalKoszt rezerwacji, łącznie z towarami.
lineItems, lineServicesPo jednym wierszu na pozycję lub usługę z jej sumą częściową. unitCount to liczba naliczanych dni, godzin lub miesięcy.
Copyright © 2026