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
Thelayout 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 infilter.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 inguests, in one request, rather than inferring prices from another occupancy. See Guests.
Read the unavailability reason before deciding
When an entity comes back withstatus 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 occasional5xx 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 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 atraceId value, capture it in your logs. It lets the partnership team correlate your error reports with D-EDGE’s internal traces.