Modes
Award — POST /award
Same request as /shop; the answer is points per night, points+cash, cents-per-point and the free-night certificates that would cover the stay.
Request
Identical to /shop: chain, hotel_code, checkin, los, occupancy,
currency, max_age.
{ "chain": "marriott", "hotel_code": "CHIRL", "checkin": "2026-11-10", "los": 1 }
Response
AwardResponse:
award_rates[]—room_name,rate_name,award_type(standard/premium/points_cash/off_peak/peak/free_night_cert),points_per_night,points_total,cash_copay(per night; positive means not a free night),taxes_fees,currency,rooms_left.lowest_points— the lowest copay-free award per night, the figure the chain’s own award calendar reports. Points+cash awards never lower it.lowest_points_cashandcash_copay— the cheapest points+cash award, when one is sold.cash_comparison—lowest_cash(native basis, =/shoplowest.bar),lowest_cash_after_tax,member_rate,currency,fx_to_usd.cpp— redemption value of the copay-free award in US cents per point, per night: cash ×fx_to_usd/lowest_points× 100, where cash islowest_cash_after_tax(falling back tolowest_cashon chains with no tax data).cpp_points_cashdoes the same for the points+cash award.certs[]— present when non-empty: the free-night certificates that would coverlowest_points, cheapest first, each with thetop_upit needs. Marriott 35k/40k/50k/85k (top-up ≤ 15,000), Hilton free night (any standard night), IHG 40k (top-up unlimited). Hyatt certificates are by category, which the chain’s pricing does not state, so none is guessed.
{ "chain": "marriott", "hotel_code": "CHIRL", "status": "available",
"lowest_points": 56000, "cpp": 1.02,
"certs": [{ "cert": "marriott_50k", "top_up": 6000 }, { "cert": "marriott_85k", "top_up": 0 }],
"cash_comparison": { "lowest_cash": 479, "lowest_cash_after_tax": 569.54, "member_rate": 479, "currency": "USD", "fx_to_usd": 1 } }
Billing
Billed like /shop (shop weight live, 0.25× cached). Chains without off-device points — Meliá,
Wyndham (login-gated), Premier Inn (cash-only) and every OTA — answer with empty award_rates at 0
credit on /compset/award; on /award the shop still runs and bills, and the award fields are null.
Tracking a redemption
Award pricing is dynamic at Marriott, Hilton and IHG — the same room moves by the night and by the
day you ask. Call /award on a schedule, or /calendar for the whole window, and compare
lowest_points and cpp run over run. Comp-set form: POST /compset/award, up to 25 hotels.