---
title: "Dostępność i ceny"
description: "Sprawdzaj dostępność w wybranych datach i obliczaj typowane wyceny wynajmu."
canonical_url: "https://requiply.com/docs/pl/developers/typescript-sdk/availability-and-pricing"
---
# 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.

<note>

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.

</note>

## `availability.calendar()`

```ts
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.

```ts
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()`

```ts
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`.

```ts
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()`

```ts
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:

<table>
<thead>
  <tr>
    <th>
      Pole
    </th>
    
    <th>
      Co robi
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        bundles
      </code>
    </td>
    
    <td>
      Zestawy do zarezerwowania jako <code>
        { bundleId, quantity }
      </code>
      
      , z <code>
        quantity
      </code>
      
       w całych kompletach, z <a href="https://requiply.com/docs/pl/developers/typescript-sdk/inventory-and-categories#bundleslist">
        <code>
          bundles.list()
        </code>
      </a>
      
      . Ich składniki są dodawane do pozycji. Od wersji 0.2.1. Wymaga włączonej w organizacji funkcji Zestawy.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        services
      </code>
    </td>
    
    <td>
      Usługi dodatkowe według <code>
        serviceId
      </code>
      
       z <code>
        services.list()
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        clientId
      </code>
    </td>
    
    <td>
      Stosuje rabat procentowy tego klienta. Przeznaczone dla integracji serwerowych, które już znają klienta.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        adjustment
      </code>
    </td>
    
    <td>
      <a href="https://requiply.com/docs/pl/developers/typescript-sdk/bookings#korekta-kosztu-rezerwacji">
        Korekta kosztu rezerwacji
      </a>
      
      . Tylko z kluczem tajnym.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        saleLines
      </code>
    </td>
    
    <td>
      Towary sprzedawane razem z rezerwacją. Zobacz <a href="https://requiply.com/docs/pl/developers/typescript-sdk/sales#towary-w-rezerwacji">
        Sprzedaż i towary na sprzedaż
      </a>
      
      . Klucz publiczny może je wysyłać tylko wtedy, gdy organizacja <a href="https://requiply.com/docs/pl/developers/typescript-sdk/sales#z-kluczem-publicznym">
        sprzedaje klientom
      </a>
      
      .
    </td>
  </tr>
</tbody>
</table>

```ts
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()`](https://requiply.com/docs/pl/developers/typescript-sdk/bookings). Wycena jest liczona dokładnie tak samo jak rezerwacja, więc pokazywane `total` to suma, którą otrzyma rezerwacja.

### Odpowiedź z wyceną

<table>
<thead>
  <tr>
    <th>
      Pole
    </th>
    
    <th>
      Co zawiera
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        itemsSubtotal
      </code>
      
      , <code>
        servicesSubtotal
      </code>
    </td>
    
    <td>
      Pozycje do wynajęcia i usługi przed rabatem i korektą.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        discountableSubtotal
      </code>
    </td>
    
    <td>
      Część, do której stosuje się rabat klienta. Nie ma w niej usług z <code>
        excludedFromDiscount
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        bundleDiscountAmount
      </code>
      
      , <code>
        lineBundles
      </code>
    </td>
    
    <td>
      Oszczędność dzięki zestawom, już uwzględniona w <code>
        total
      </code>
      
       (<code>
        0
      </code>
      
       bez zestawów), oraz po jednym wierszu na zestaw z <code>
        quantity
      </code>
      
      , <code>
        discountPercent
      </code>
      
      , <code>
        grossTotal
      </code>
      
      , <code>
        discountAmount
      </code>
      
       i składnikami <code>
        components
      </code>
      
       na komplet. <code>
        lineItems
      </code>
      
       zawierają połączone ilości egzemplarzy z zestawów i spoza nich. Od wersji 0.2.1.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        discountPercentage
      </code>
      
      , <code>
        discountAmount
      </code>
    </td>
    
    <td>
      Rabat klienta i kwota, którą odejmuje, po rabacie zestawu.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        adjustment
      </code>
      
      , <code>
        adjustmentAmount
      </code>
    </td>
    
    <td>
      <a href="https://requiply.com/docs/pl/developers/typescript-sdk/bookings#korekta-kosztu-rezerwacji">
        Korekta kosztu rezerwacji
      </a>
      
       użyta w wycenie albo <code>
        null
      </code>
      
       oraz jej skutek finansowy ze znakiem (<code>
        0
      </code>
      
       dla <code>
        units
      </code>
      
      , które zamiast tego zmienia naliczany okres).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        saleSubtotal
      </code>
      
      , <code>
        lineSaleItems
      </code>
    </td>
    
    <td>
      Towary sprzedawane razem z rezerwacją, gdy przekażesz <code>
        saleLines
      </code>
      
      . Nigdy nie są objęte rabatem ani korektą. Zobacz <a href="https://requiply.com/docs/pl/developers/typescript-sdk/sales#towary-w-rezerwacji">
        Sprzedaż i towary na sprzedaż
      </a>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        total
      </code>
    </td>
    
    <td>
      Koszt rezerwacji, łącznie z towarami.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        lineItems
      </code>
      
      , <code>
        lineServices
      </code>
    </td>
    
    <td>
      Po jednym wierszu na pozycję lub usługę z jej sumą częściową. <code>
        unitCount
      </code>
      
       to liczba naliczanych dni, godzin lub miesięcy.
    </td>
  </tr>
</tbody>
</table>


## Sitemap

See the full [sitemap](https://requiply.com/docs/sitemap.md) for all pages.
