Skip to main content

Get started with Evo Researcher

Use Evo Researcher to analyse your own data and take bulk actions in your central reservation system (CRS) through conversation, with the CRS Connectors enabled.

Written by Fernando Fallabrino

Evo Researcher is a powerful analytical workspace and a direct line into your central reservation system (CRS). With the CRS Connectors enabled, both capabilities are available in the same conversation.

On the analysis side, you can bring your own documents, reports, and data into Evo in whatever format they are in, and ask it to do the work: interpret, compare, summarise, reformat, and produce outputs tailored to how your team actually works. No pivot tables. No reformatting spreadsheets before you can use them. Just ask.

On the action side, the connector gives Evo direct read and write access to your CRS across multiple areas. That means many bulk changes that would take hours in the admin UI, such as extending a portfolio of corporate rates into a new contract year, building room type descriptions optimised by channel, or applying restrictions across a block of dates, take a single instruction. Evo confirms what it is about to do before acting, and every change is recorded in your CRS audit log.

Before you start

You need an active Evo Researcher subscription with the CRS Connectors enabled. Evo works within your existing CRS user rights. Actions available to you in the admin system are available through conversation. Actions that require elevated permissions are only available to users with those permissions in the CRS.

📌 Note: Ask Researcher how to get started and begin the conversation.


Analysis and insight

Evo is a workspace that works with your data the way you work, not the way a reporting tool expects you to. Drop in a raw export, a spreadsheet, a PDF, or a set of meeting notes and ask Evo to make sense of it. It reads what you give it and produces the output you need, in your format, for your audience.

You can also use it for your own market research, event calendars, or strategy documents and ask Evo to cross-reference them against your strategy. The context that informs your decision and the data that supports it are in the same conversation.

You can try asking:

  • "What is our booking pace for September and October, broken down by channel?"

  • "What local events are happening on 14 September. What does our current availability and rate position look like for that date?"

  • "Here is last month's pace report. Produce the same analysis for this month."

  • "I've uploaded the notes from our revenue meeting. Pull out the agreed actions and the strategies we decided on."


Bulk action through the CRS connector

The connector is where Evo earns its place for operational teams. Tasks that are repetitive and time-consuming in the admin UI, because they require navigating menus, updating fields one at a time, or repeating the same action across multiple room types, dates, or properties, take a single instruction in Evo.

Describe the full scope of what you want. Evo confirms what it is about to do before making any change, applies it, and shows you the updated position. Every action is recorded in your CRS audit log exactly as if you had made the change yourself.

Rate codes and pricing

View, create, update, and push rate codes at property or chain level. Apply overrides, sell limits, and restrictions across multiple date ranges in a single instruction. At renewal time, extend an entire portfolio of corporate rates into the new year without touching each one individually.

You can try asking:

  • "Here is a spreadsheet of our top 50 corporate accounts. Extend each rate code into 2027 with the same terms."

  • "Copy SUMMER26 and call it FALL26. Update the dates to run 1 September to 30 November."

  • "Apply a Standard Room sell limit of 3 rooms to SUMMER26 across the next two weekends."

Room types and content

When building new room types, the right description depends on where it appears. What works on a direct booking page is different from what works on GDS: different audience, different context, different length. Give Evo the room details and ask it to write optimised descriptions for each channel. You get consistent, channel-appropriate content without writing each version from scratch.

You can try asking:

  • "I'm adding 20 new room types to use at our newest hotel opening. Here are the details on the website. Write descriptions optimised for our brand and for use on our direct booking page, mobile and our GDS listing."

  • "Rewrite the description for the Grand Suite so it leads with the view and the space, not the amenities list."

  • "What room types are currently open at my property, what descriptions are we currently using?"

Inventory and availability

Check live room availability across your property, update allotments, and open or close room types, all through conversation. Ask for a combined view of availability, rates, and restrictions across any date range without navigating multiple screens.

You can try asking:

  • "Show me the full inventory grid for this week."

  • "How many King rooms do I have available for the next 14 days?"

  • "Which room types are currently closed to arrivals?"

Rates and booking links

Check which rates are active and generate shareable booking links the moment a rate is bookable, as a URL to paste into a campaign.

You can try asking:

  • "What rates do I currently have active and bookable?"

  • "Generate a direct booking link for FALL26, pre-loaded for 2 adults checking in 15 September."

  • "Create a shareable link for the SUMMER26 rate, pre-loaded for 2 adults."

Reservations

Search by guest name, date, channel, confirmation number, or status. Your CRS data, surfaced directly: no report, no export, no hold music.

You can try asking:

  • "Show me all arrivals for today, including room type and rate code."

  • "What types of reservations have cancelled same day since the start of the year?"

  • "How many bookings came through IBE this month?"


How to get the most from it

Drop data in as it is

You do not need to clean a spreadsheet, reformat a report, or prepare anything before giving it to Evo. Drop it in and ask the question. That preparation work is exactly what Evo is there to do.

Work in your own formats

If your team produces a specific weekly report, uses a particular template, or has a document structure your stakeholders expect, upload it and ask Evo to produce the output in that shape. Evo works to your standards, not its own.

Use bulk action for renewal and setup work

Corporate rate renewals, new room type rollouts, and seasonal rate builds are the tasks where the connector saves the most time. A portfolio of 50 rates that would take a day to update individually takes one instruction.

Refine, not rebuild

When creating a new rate, start by asking Evo what is already active and copy the closest existing one as a base. Change only what needs to change. This is faster and reduces the risk of misconfiguration.

Check before you change

Ask Evo to show you the current position, including availability, active rate codes, and existing restrictions, before applying updates. One question, accurate data, no assumptions.

Verify after every write action

Ask Evo to confirm the updated rate calendar, inventory grid, or rate code status after any change. Evo always confirms what it is about to do before acting.

All write actions are confirmed by Evo before they are applied and recorded in your CRS audit log.


Connector current capabilities

Availability

Capability

Notes

List booking channels

Returns all booking channels that call the CRS for availability and configured for a hotel. Use to populate channel filters before querying availability. Excludes extranet or push channels.

Check live room availability

By room type, date range, rate, and channel. Returns nightly and total rates. Excludes extranets or push channels.

Rates

Capability

Notes

View rate calendar (ARI grid)

Full availability, rates, and inventory summary for a hotel and rate code over a date range.

Get rate code configuration metadata

Returns permissions, currency, linkage, hotel config, and rate category for a rate code.

Get nightly pricing per room type

Single and multi-occupancy rates for a hotel, rate code, and date range.

Read booking restrictions

CTA, CTD, MinLOS, MaxLOS per rate code and date range.

Set or remove a rate override

By rate code, room type, and date range.

Read sell limits

Per rate code and hotel.

Set or remove sell limits

Per rate code, room type, and date range. (Note: endpoint description in source data refers to full rate code detail. Confirm scope with engineering.)

List rate codes

All rate codes for a hotel or chain, with status, category, and date ranges.

List rate groups

All rate groups for a hotel or chain.

List rate categories

All rate categories for a hotel or chain.

Reservations

Capability

Notes

Get reservation by confirmation number

Full reservation detail by CRS confirmation number.

Search reservations

By guest name, date range, status, or channel.

List reservation channels

Reservation by channels.

Booking pace statistics

Aggregate totals, daily breakdown, by channel, and by market segment. All available as separate endpoints.

Cancellation statistics and velocity

Total cancellations for a hotel/date range, plus velocity (rate of cancellation over time).

List pace channels and segments

Reference lists of channels and market segments available for pace/booking-stats filtering.

PMS activity feed

Returns PMS activity and error feed for reservations.

Rooms

Capability

Notes

Search room inventory

Allocated, sold, and available per room type per day for a hotel.

Get room type summary grid

Overview of all room types and their inventory status for a hotel.

Update room type configuration

Update any configuration field on an existing room type.

Utilities

Capability

Notes

Get user display preferences

Returns the current authenticated user's display preferences.

List hotels

All hotels available to the authenticated user. Live reference data.

List packages

All packages configured for a hotel.

List channels

All available booking channel reference values.

List languages

All available language reference values.

Access codes

Capability

Notes

List access codes

Chain-wide or per hotel; includes sell and stay date windows, override flags, and localized descriptions.

Read access code assignments

See which rate codes or packages an access code gates, or look up which access codes apply to a given rate code or package.

Create or update an access code

Set the guest-facing code, sell/stay dates, business name, and how the code overrides the rate name/description (none, replace, prepend, or append). OMS and image-override flags also supported.

Deactivate an access code

Soft deactivation. History is preserved; existing reservations are unaffected.

Assign or unassign access codes

Link or unlink an access code to rate codes or packages in a single atomic call. Both assign and unassign lists are applied in one transaction.

Add-ons and packages

Capability

Notes

Read package and add-on categories and items

Returns categories (services), add-ons (service items), and addon groups. Includes price, pricing formula, tax, lead time, min/max LOS, sell dates, and active state. Chain or property scope.

Read add-on configuration

Sectioned read: services, items, inventory (daily allocation), sell limits by room type, currency-specific prices, and billing code assignments.

Create or update an add-on category

Manage categories such as Spa or Breakfast at chain or property level. Controls name, description, sort rank, and inventory tracking toggle.

Write add-on descriptions, prices, and billing

Update localized name/description/policy text, turn add-on category inventory on or off, set currency-specific prices, and assign or remove a billing/authorisation code.

Create or update an add-on

Full add-on lifecycle: price, pricing formula, tax, lead time, min/max LOS, sell dates, cancellation policy, and options (for example, StopSell and ScheduledByDate). Supports date-based pricing grids and day-of-week inventory allocation.

Deactivate an add-on or category

Soft deactivation. A category must have no active add-ons before it can be deactivated.

List or inspect packages

List all packages at chain or property level, or retrieve full configuration of one package: rate codes, sell dates, LOS rules, inclusions, and strike-through rate. Lookup-list mode available for name/code selection.

Create or update a package

Set rate code, strike-through rate, inclusions (option items), sell/stay dates, fixed length, lead time, min/max LOS, extendable flag, and TA-commissionable flag. Inclusions are written after the package in the same call.

Copy a package

Duplicate an existing package to a new code at the same level. Optionally copies inclusions; rates, dates, and stay rules are always copied.

Generate a direct booking link

Produces a shareable URL with the package, dates, and occupancy pre-selected. Returns bookability validation issues (for example, sell-date conflicts and missing rate codes).

Deactivate a package

Prevents future sales without affecting existing reservations.

Discounts

Capability

Notes

List discounts

Overview of all active discounts with code, name, action, priority, and active state. Searchable. Chain or property scope.

Read discount rule detail

Full condition, action, and description of a single rule. Also reads localized name and description per language.

Read property discount rules

Lists rules with their access code, priority, promoting flag, and active state.

Create or update a discount rule

Set discount code, access code gating, priority, promoting flag, recurrence type/value, and options bitmask.

Deactivate a discount rule

Stops the rule applying to new reservations; history is preserved.

Read discount assignments

See which rule applies to which entity (Hotel, rate code, rate code group), over which stay/sell date ranges and weekdays. Includes assignable rate code candidate list.

Assign a discount

Assign a rule to Hotel, rate code, or rate code group with optional stay/sell date ranges, weekday pattern, and priority. Duplicate assignments are updated rather than duplicated.

Remove a discount assignment

Unassign by assignment ID.

Groups

Capability

Notes

List group blocks

Returns active groups with code, name, stay/shoulder rate codes, begin/end/cutoff dates, enabled channels, options, and booking URL. Filterable by group code or date.

Read group detail

Sectioned: rate configuration, room allotment per room type and date, rooming list (reservations booked into the group), and rooming list import activity with processing status. Paged.

Create or update a group block

Set dates, cutoff date, shoulder before/after days, stay and shoulder rate codes, channels, guest count, payment method, and attendee code. Options (Elastic, ViewOnly, etc.) can be set or cleared independently.

Deactivate a group block

Soft deactivation. Existing reservations within the group are unaffected.

Update group rate configuration

Change rate code, tax, and internal comments independently of the group header.

Set room allotment

Allocate rooms to a group by room type over a date range. Cannot exceed hotel availability or drop below the number of rooms already booked.

Manage group confirmation emails

Read or write the email template per reservation status and language: sender, reply-to, CC, subject, custom message, and body. Set UseDefault to fall back to the hotel's standard template.

Property information

Capability

Notes

Get hotel directory

Returns chain code, name, property count, default language, hotel groupings, and all properties with code, name, city, and country.

Read property configuration

Sections: enabled languages (with primary), currencies (with default), description texts, classification, star/AAA/Mobil/OHG ratings, review site details, loyalty banner texts, amenities, and description lookup values.

Write property configuration

Enable/disable languages and currencies, update description texts and classification, set ratings and review site, write loyalty banner texts, and assign or remove amenities. All in one call.

Discover available Admin sections

Returns which Property Description sections the calling user can access and whether each is read-only or editable. Use before calling section endpoints.

Read property content

Sections: address and contacts, general settings (stay/occupancy limits, check-in/out times, extra bed charges), alternate properties, children age groups, dining (restaurants, meal plans, services), meetings (rooms, capacities), location, reference points (airports, cities, POIs), room type amenities, room type groups, email alerts, and guest membership programmes. Paged at chain level.

Write property content

Update address/contacts, children age groups, alternate sell-away properties, dining content and restaurants, meeting rooms and capacities, location category and descriptions, reference points with transportation, room type amenities and email alerts, membership programmes, and display sort order per channel. All in one call.

Read guest preferences

Lists preferences with sort rank and UI type. UI type 1 is a single yes/no preference; higher types support up to five selectable detail rows. Also returns available UI types the property can choose from.

Create or update a guest preference

Single yes/no or multi-value (up to five detail rows). On update, rows left out are deactivated; rows with a detail ID are kept and updated.

Deactivate a guest preference

Stops the preference being offered to guests on new bookings.

Read guest preference assignments

See which rate plans or room types a preference is offered on, in sort rank order with an assigned flag. Custom integration functionality.

Update guest preference assignments

Set which rate plans or room types a preference is offered on. The supplied list replaces the current assignments; an empty list removes all. Custom integration functionality.

Read traveler programs

Lists all loyalty and membership programs available to the property, each flagged with whether it is currently offered.

Update traveler programs

Set the programs the property offers. The supplied list replaces the current selection; at least one program is required.

Multimedia content

Capability

Notes

Read property media

Returns images and videos with their slot (for example, property logo, standard image, GM greeting video), sort order, title, and SEO alt text. Can filter to external links only. Slot pixel-size expectations also returned.

Add or update external media links

Add new external image/video URLs, update existing links, reorder media, and write titles and SEO alt texts (works for uploaded media too). Uploaded files cannot be added or deleted via this connector.

Delete external media links

Removes the link and its texts in every language. Uploaded images are not affected.

Read entity media

Returns images and videos for any CRS entity: Hotel, Rate Code, RoomType, Room Type Group, Package, Service, Service Item/Add-on, Group, or AccessCode. Includes media type, format, dimensions, sort rank, and display URL.

Manage rate category images

Point a rate category at an externally hosted image with title and SEO alt text. Update texts or remove the link independently.

Read entity texts

Retrieves any of 10 text fields for a CRS entity: Name, Description, Short Description, Additional Policy, Internal Comment, Pms Folio Text, Plain Summary, Key Features, Full Description, Agent Handoff Note. Supports all languages in one call. Some custom integration functionality.

Write entity text

Write one text field for any CRS entity in any language, addressed by field name or TextTypeID. Passing an empty string clears the stored text. Max 4,000 characters. Logged to the admin audit trail.

Apply HTML description

Write a validated HTML description to a Room Type, Rate Code, or Package. Allowed tags: p, br, strong, b, em, i, ul, ol, li, h1 to h6, span, div, a. Max 4,000 characters. Content is validated before saving.

Get system language list

Returns all available languages for use in multilingual content operations.

Read booking engine branding

Sections: free-text branding per language, field visibility flags, itinerary input field configuration, HTML skins (including inherited chain skins), rate category images, and upsell-by-LOS configuration.

Write booking engine field configuration

Show or hide individual booking engine fields: calendar, discount code, corporate code, group code, IATA, ADA, currency selector, voucher code, child age box, rate category list, bed type, smoking preference, and more. Flags not supplied keep their current value. Some custom integration functionality.

Write sold-out message

Set the booking engine sold-out text per language.

Write itinerary input field configuration

Full replacement of the itinerary field setup: which fields are displayed, which are mandatory, and their default values.

Manage HTML skins

Write top block, bottom block, CSS file name, and CSS block for any skin and language. Copy all skin elements from one skin to another within the same property for one language.

Write upsell modal rules

Define upsell offers by length-of-stay range. Up to three upsell blocks per range, each with a rate code and night count. Rules can be added, updated, or removed.

Policies, taxes and fees

Capability

Notes

List policies

Returns cancellation, guarantee, terms and conditions, extra bed, and TA commission policies with deadlines, payment calculation method, priority, and description. Chain or property scope.

Create or update a policy

Supports all policy types. For cancellation: deadline time on arrival day, days/hours before arrival, or no deadline. For guarantee: no guarantee, guarantee required, deposit required, or prepaid by card. Payment amount can be flat or percentage.

Deactivate a policy

Stops the policy applying to new reservations; history and existing reservations are preserved.

Read policy channel control

Shows which channels a cancellation or guarantee policy is enabled on. For property policies, also flags conflicts with other policies on the same channel.

Set policy channel control

Enable or disable a policy per channel. The supplied list replaces the current state. Channels not listed are switched off.

Read hotel policy areas

Six areas: General (check-in/out hours, early check-out charge, ID requirements, oversold rule, T&Cs), Pet, Family, CreditCard (accepted cards), Payment (accepted payment types), ExtraCharge (crib, rollaway, extra adult/child charges).

Write hotel policy areas

Update any policy area for a single property or all properties in the chain at once (requires applyToAllProperties=true). Only supplied fields are changed.

Read taxes

Returns all taxes for a hotel with type, rounding rule, default flag, and active state.

Create or update a tax

Set tax name, type, rounding rule, and default flag.

Deactivate a tax

Stops the tax applying to new reservations; history is preserved.

Read tax items

Returns all items of a tax in sort rank order, or full configuration of one item: charge type, formula, rate, inclusive flag, date range, loyalty tier/rank exclusions, COMP night handling, deposit exclusion, and GST taxable amount ranges.

Add, update, or remove tax items

All three operations in one call. Supports percent and flat amounts, per-night and per-stay formulas, GST taxable amount ranges, loyalty exclusions by tier or rank with weekday patterns, COMP night exclusion, deposit exclusion, and max-night limits. Remaining items are re-sorted after a delete.

Read resort fees

Returns resort fees with amount, tax, charge type, and validity dates.

Create or update a resort fee

Set amount, charge type, tax, validity dates, and special posting rule.

Read fees

Returns fees with price, charge formula, tax, default flag, and validity dates. Optionally returns currency-specific price overrides and localized guest-facing name and description texts.

Create or update a fee

Set price, charge formula, tax, default flag, and validity dates. Currency-specific prices and localized guest-facing texts (name and description) can be written in the same call. Only supplied currencies and languages are changed.

Deactivate a fee

Stops the fee being charged on new reservations; history is preserved.

Read configuration assignments

See which tax, resort fee, fee, policy, or TA commission applies to which entity (Hotel, rate code, room type, rate code group, rate plan), over which date range and weekdays.

Assign a configuration object

Assign a tax, resort fee, fee, policy, or TA commission to an entity with optional stay/sell date ranges, weekday pattern, and priority. Duplicate assignments are updated rather than duplicated.

Remove a configuration assignment

Unassign by assignment ID (taxes, policies, TA commission) or by config ID and entity (resort fees, fees).

Did this answer your question?