Adrasis™

Contracts & setup

Contracts

A contract is the commercial agreement that backs a property in your catalog. It says who you are dealing with, what inventory the agreement covers, what pricing applies, what policies travel with it, and how long it runs. Rate plans are the public face of contracts; the contract itself holds the terms.

Rate plans are the face; contracts are the terms. When a number on a booking looks wrong, the contract is where you go, not the rate plan card.

Concrete example: you sign a one-year contract with Hotel Sunrise covering 20 Standard rooms and 10 Deluxe rooms, May–October, at a net rate of 120 EUR/night for Standard and 160 EUR/night for Deluxe, with a 25% markup, free cancellation up to 24 hours before check-in, and a 7-day release period on pre-allocated allotment. That single contract row backs every rate plan you publish for the property, Best Available Rate, Non-Refundable Europe, Member Saver, Half Board, and is the row you change when terms shift mid-season.

What a contract holds

Element What it carries
Counterparty The supplier, partner agency, or distributor on the other side.
Scope Which properties, rooms, rate plans the contract covers.
Validity Start date, end date, renewal terms, termination notice.
Pricing model Net rate + markup, or commission on gross.
Currency The currency the contract is denominated in.
Allotments Inventory pre-allocated to you, a fixed number of rooms the supplier holds for your sales channels per room type and date range (e.g. 10 Deluxe rooms reserved for you every night in July).
Release period The cut-off before check-in at which any unsold allotment returns to the supplier (e.g. 7 days: rooms held for you up to 7 days before arrival; on day 7 unsold rooms go back into the supplier's general pool).
Cancellation policy The refund and modification terms travellers see.
Child & age policies How children are priced, what counts as a free under-N age.
Payment terms Direct payment, virtual card, deposit, deferred, when, how, in which currency.
Markets Where the inventory can be sold (per-country, per-region, per-channel).

Every field has implications elsewhere on the platform. A change to the markup propagates to derived rates; a change to the cancellation policy updates rate plans; a change to the allotment changes inventory.

How contracts and rate plans relate

A contract typically backs several rate plans:

  • Best Available Rate, refundable, public retail, full markup. For example, 180 EUR/night with free cancellation up to 24 hours before check-in.
  • Non-Refundable Europe, same contract, tighter cancellation, slightly lower markup. Same room at 162 EUR/night (10% off), locked at booking, sold only into European markets.
  • Member Saver, same contract, member-only audience, additional discount. 153 EUR/night for signed-in loyalty members, refundable.

All three sit on top of one contract. Adjusting the contract's underlying terms updates all three; adjusting one rate plan does not change the other two.

For a statically managed property, publish the contract into a plan with the same currency as its quoted price. A net plan receives the contract's buy amount and buy currency; a commissionable plan receives its selling amount and selling currency. The calendar keeps one quoted price for each plan.

Hotel Sunrise can keep EUR as its property default and maintain separate EUR and TRY contract plans. Choose a compatible existing plan or create one in the selected contract currency. This authors separate prices; publishing does not convert them. See Plan currency and calendar entry.

Net rate vs. commission

Two pricing models coexist:

  • Net rate + markup. The contract gives you a net rate; you add your markup; the traveller pays gross. Typical for accommodation wholesalers and some direct contracts.
  • Commission on gross. The contract publishes a gross rate; you take a commission off the top. Typical for hotel-direct and some channel agreements.

The commercial model belongs to the selected rate plan. It determines which contract amount is published and how that quoted price is used; it is not selected separately for each booking.

Allotments and release periods

For contracts that pre-allocate inventory:

Allotment held → release period fires → unsold returns to supplier
Pre-allocated rooms stay yours until the release-period cut-off; whatever did not sell goes back to the supplier's general pool on that day.

Worked example. Your contract with Hotel Sunrise carries an allotment of 10 Deluxe rooms per night for July, with a release period of 7 days. On July 1 you have all 10 rooms held for sale. By July 18 you have sold 4 of the 10 rooms for the night of July 25. On July 18 (7 days before arrival) the release period fires: the 6 unsold rooms for July 25 go back to the supplier's general pool, the supplier can now sell them through other channels (their direct site, OTAs, walk-ins). You keep the 4 confirmed bookings on contract terms; you simply lose first-call on what was unsold.

The Console's contract-detail page shows current allotment health for any date in the contract's validity window, sold-versus-held by night, with the release-period date highlighted. When inventory is running thin you see it before the channel does, and you can ask Adrasis AI Operator to "flag every contract where the July allotment is more than 70% sold for any night."

Multi-property contracts

Many contracts span multiple properties at once:

  • A chain hotel's master contract covers all the chain's properties under shared terms.
  • A accommodation wholesaler supply contract covers every property you consume from that accommodation wholesaler (you pull the catalog wholesale).
  • A B2B partner agency's distribution contract covers every property you publish to them.

The contract page lets you scope at the contract level (properties A, B, C) or at the property level (override term X for property B). Defaults flow down; overrides are explicit.

Loading a contract from a spreadsheet

Most contracts arrive as a supplier's rate spreadsheet. Rather than re-key it, you upload the file and a guided wizard turns it into live pricing, with a full preview and a hard correctness check before anything applies.

  1. Upload and parse

    Drag the supplier's rate file in. The wizard reads its structure, period bands, the rate grid, allotment, child pricing. Free-text terms ("no-show: first night") are pulled out for review.

    Child prices are often written as whole-room prices per party, such as "SNG + 1 child (0-11.99)" or "DOUBLE + 2 CHD (00-11)(00-02)". The wizard turns each such row into the price of that child with that number of adults: the row's price less the same party without the child. A party the file does not list, such as two adults with two older children, is not sold.

    Rate tables are read with their conditions. A price written per person in double is the price per person at the room's included occupancy: the plan the contract creates uses the Per person price entry and saves a price for each adult count, so a single or a triple pays what the supplier's multipliers give. A period with one price on weekdays and another at weekends is read as two prices, each for its days. A term such as seven nights or more pay the weekday price every night becomes a price by length of stay on the days whose price differs; you do not type it. A term the wizard cannot place with certainty is shown as a warning instead of a guess. See Price entry.

    A room block with no child rows sells no children, even when the other rooms of the file price them. The wizard names the room in its warnings; set that room's child prices before you approve, for example from the file's notes.

  2. Three independent checks

    The wizard checks the file three ways: structural, are the periods, occupancy and child brackets coherent; cross-read, does an independent reading of the file agree with the parsed grid; and math, when the system recomputes a price from the contract terms, does it match the contract's own number.

  3. Preview the full matrix

    You see every cell, period by room by occupancy, with your contract value next to the recomputed value and a clear match marker on each. A price for certain weekdays or for a length of stay is its own row, labelled with the occupancy, the days and the stay range. For an amendment, the matrix overlays the current live rates so you see old → new and the delta. You can stop here without applying.

  4. Approve and go live

    On approval, the system projects the contract into live pricing, a price for each adult count (with its weekdays and length of stay), child rules, promotions, allotment and release periods, runs a final integrity check, and only then writes it live.

The math check is a hard gate. If a recomputed price does not match the contract, the system computed 120 EUR but the contract says 115 EUR, the import stops. You correct the source and retry; a contract that does not reconcile never goes live.

Room category suggestions

Supplier spreadsheets name rooms in their own words, "Superior Garden View", "Twin Eco". Before apply, the AI Operator proposes how each maps to your catalog categories (Superior Garden View → Deluxe). Where its proposal and the catalog agree, it pre-fills; where they diverge, you decide. The final category is settled before the contract goes live, review unresolved matches before applying the contract.

Contract lifecycle

Draft → For signing → Active → Amended → Expiring → Expired
Contracts move through a small set of states. Each transition is recorded with the operator who triggered it.
State What it means
Draft The contract is being authored; not yet shared with the counterparty.
For signing Sent to the counterparty for e-signature; tracked through E-signature.
Active Both sides have signed; rate plans, allotments, distribution all flow from it.
Amended Active with changes since the original, the amendments are part of the contract record.
Expiring Within the renewal-notice window; the platform surfaces it for action.
Expired Past validity. Existing bookings stay valid; no new bookings under the contract.

You move contracts through these states from the contract page; every transition is recorded.

When a contract changes

Contracts are not static. Mid-season, a supplier might:

  • Adjust net rates for the next quarter.
  • Change cancellation policy.
  • Alter allotments for specific date ranges.
  • Add or remove markets.

The contract page tracks versions, each amendment has its own validity window, and the contract record carries the chain. Bookings made under the old version keep its terms; new bookings get the current version. This is what makes "we changed our cancellation policy on June 1, what bookings does that affect?" a single query: every booking returned was made before June 1 under the looser policy, every booking after was made under the new one, and the answer holds up in a dispute.

Per-channel contract exposure

A contract may cover several channels with different terms:

  • The same supplier rate goes to direct retail with full markup, to a B2B partner with a lower margin, and to metasearch with a markup that wins price-display competitively.
  • The same property can be off-limits to some channels (sales-staff only, no metasearch exposure).

The contract holds the terms; per-channel exposure decides what surfaces where. See Stop-sale & restrictions.

Market validity

Supplier contracts can limit prices to named sale countries. The uploaded draft shows the market text, which the operator binds to an Organization-owned source market. Applying the contract transfers this binding to its rate plan. When the sale country is supplied, a country outside the market does not receive that rate. Without a sale country, the offer can be returned with its country restriction disclosed; the selling system must check that condition.

For the screen path and an example, follow Open properties to a market. Sub-agency property access and a rate plan's source-market restriction are separate settings.

  • A plan with no market binding sells everywhere, nothing changes for contracts without a restriction.
  • Widening a plan into an additional market later is a single edit on the rate plan; the original negotiated market keeps its contract reference, so commercial widening stays visible and reversible.
  • Where a supplier prices markets differently, each market's prices load as their own rate plan, each valid only in its market.

AI Operator and contracts

Common phrases that map to the AI Operator contract operations:

  • "Show me every contract expiring in the next 30 days."
  • "Increase the markup on the new Antalya supplier contract by 2 percentage points."
  • "Find every contract where the cancellation policy is more lenient than our standard for that property class."
  • "Apply the new accommodation wholesaler pricing template to every contract we hold with accommodation wholesalers."

Read operations return immediately; writes preview before applying.

Where to next