> ## Documentation Index
> Fetch the complete documentation index at: https://docs.d-edge.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> This site documents the D-EDGE APIs for technology partners (web agencies, OTAs, PMS and RMS vendors, booking and CRM tools). It is written for developers integrating with hotels that use the D-EDGE platform.
> Seven APIs, grouped by domain. Connectivity: Channel Manager API (distribute a hotel's inventory to your channel and send bookings back). Pricing & Availability: Best Price API (best offers to highlight), Quotation API (all bookable offers for a stay), Daily Rates API (daily availability between two dates). Booking: Booking Engine API (a hotel's full direct booking funnel), Gift Shop API (gift vouchers from catalogue to payment). Guest Management: CRM API (guest profiles).
> Pick the API by the need: to display prices, use the Best Price API or the Daily Rates API; to quote a specific stay, use the Quotation API; to book, use the Booking Engine API; to sell gift vouchers, use the Gift Shop API; to manage guest profiles, use the CRM API; to receive hotel inventory and send bookings back as a distribution channel, use the Channel Manager API.
> Base URLs, hotel identifiers, and credentials are delivered by the D-EDGE partnership team during onboarding. Do not invent base URLs, endpoints, parameters, or example credentials that do not appear on these pages.
> Authentication differs per API: OAuth 1.0 for Best Price, Quotation, Daily Rates, and Booking Engine; an X-API-KEY header for Gift Shop; OAuth 2.0 client credentials for CRM; partner-defined credentials carried in the XML message for the Channel Manager API. Read each API's Authentication page before writing code.
> A mock environment returns realistic but fictitious data without credentials. The Postman and Insomnia collections on the API collections page target it by default. Use it for exploration and tests, never for production traffic.
> Use the official names exactly: D-EDGE, D-EDGE platform, Channel Manager API, partnership team. Do not use Back Office or Extranet.
> Each API has a Changelog page. Check it for the current behaviour before relying on an older answer. For questions these pages do not answer, direct the reader to the Contact us page.

# Best practices

> Caching, performance, and accurate quotes

Apply these tips to keep your Quotation calls fast, accurate, and resilient.

## Caching

Cache Stay quotation responses where you can. Each cached call lands faster on your guest's screen and removes one round trip from the critical path. Quotation data changes with inventory and pricing rules, so pick a TTL that fits your use case:

* **Listing pages and offers showcases**: a short cache works well for catalogue browsing.
* **Comparison interfaces**: refresh often, accuracy is the value.

## Performance

### Request only the layout properties you display

The `layout` field controls how much detail the API computes per entity. Asking for `Promotions`, `CancellationCondition`, `AlternativeAvailableGuests`, or daily breakdowns expands the response and adds processing time. List only the properties your interface actually shows, and keep `IncludedArticles` in every call: it folds meal plans and other mandatory services into `totalPrice`, so a quote without it leaves meals out of the price.

### Specify a currency explicitly

If your interface always displays prices in one currency, set it in `filter.currencies`. Letting the API infer one adds a small overhead.

### Filter narrowly

Scope each query as narrowly as possible. Restrict to the rooms, rates, or rate plans your interface displays rather than fetching every entity in the hotel. The more precise your filters, the faster the response.

### Spread out your traffic over time

Smooth traffic shapes behave more predictably. Stagger scheduled jobs with a random offset, debounce client-driven calls, and rely on caching for concurrent visitors.

## Accuracy

### Quote every occupancy you display

Send each occupancy your interface shows as its own item in `guests`, in one request, rather than inferring prices from another occupancy. See [Guests](/quotation-api/build/guidelines/requests.md#guests).

### Read the unavailability reason before deciding

When an entity comes back with `status` set to `NotAvailable`, the `unavailabilityReason` tells you whether it is a stay-length issue, a guest-count mismatch, or another restriction on the stay. Surfacing the right message to the guest leads to better recovery: a longer stay suggestion, a guest-count adjustment, or a date change.

## Resilience

### Retry on transient errors

Transient errors like network blips, timeouts, or occasional `5xx` should be retried with exponential backoff. Avoid retrying on `400`, `401`, or `403`. Those need code or credential fixes before they resolve.

### Plan for slow or unreachable calls

Decide upfront how long your interface is willing to wait for a Quotation response, and what it shows past that point. Some teams display a cached quote and a soft notice, others hide the price block entirely and let guests keep browsing. Make the choice deliberately rather than letting the network decide.

### Tell us before a major launch

If you are rolling out a TV spot, a flash sale, or any event likely to multiply your normal call volume by ten or more, [contact us](/overview/resources/contact-us.md) a few days ahead. We will watch the launch window with you and flag anything unusual the moment it appears.

### Log the traceId

When an error response includes a `traceId` value, capture it in your logs. It lets the partnership team correlate your error reports with D-EDGE's internal traces.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.