ℹ️ Who configures these rules? During client onboarding, the Vervotech Support team configures rules based on each client's property portfolio and mapping requirements. Customers do not typically self-serve rule configuration, but understanding the rule taxonomy helps integrators interpret behavior and request adjustments accurately.
RoomName, RoomCode, Description, and any provided attributes (Bed, View, Refundability, BoardBasis). It expands abbreviations, resolves common synonyms, and extracts structured fields such as room category, bed type, view, and amenities.Group for the property. Each output record carries the standardized name, mapped attributes, group identifier, and a per-rate MatchScore (confidence). Rooms that cannot be matched confidently are returned into separate group so no input is lost.| # | Rule Name | Description | Input | Expected Output | Priority |
|---|---|---|---|---|---|
| 1 | Bedding Mapping Rule | Merge similar bed types into one group and set which bed type is preferred for display. | Source bed types (e.g., Double, Queen, King) | Single bedding group with a preferred display label (e.g., "King preferred") | Configurable per rule (1 = highest) |
| 2 | Attribute Mapping Rule | Ignore specific room attributes during grouping so that rooms differing only by those attributes are still matched together. | List of attributes to ignore (e.g., HasBalcony, SmokingAllowed) | Rooms grouped under a single unified name despite the ignored attribute | Global scope |
| 3 | Category Similarity Rule | Group similar room categories under a single unified category name. | Source categories (e.g., Standard, Classic, Basic) | Unified category display name (e.g., Standard) | Evaluated alongside other rules |
| 4 | View Matching Rule | Map similar room view descriptions to a single unified display name. | Source views (e.g., Sea View, Oceanfront, Partial Ocean View) | Unified view name (e.g., Ocean View) | Case-insensitive by default |
| Source Bed Type | Direction | Merged Group | Direction | Display Name |
|---|---|---|---|---|
| Double | ➜ | |||
| Queen | ➜ | One Group | ➜ | Queen preferred |
| King | ➜ |
| Parameter | Description | Example |
|---|---|---|
| Source Bed Types | List of bed types to merge into one group | Double, Queen, King |
| Display Preference | The bed type label shown to end users | Queen preferred |
| Priority | Rule evaluation order when multiple rules apply | 1 (highest) |
✅ Tip: A hotel lists rooms as "Double Room" on Supplier A and "Queen Room" on Supplier B. With this rule, both are grouped together and displayed as "Queen preferred" to the end user.
HasBalcony, SmokingAllowed) should not affect whether two rooms are considered the same type.| Room Source Data | Ignored Attribute | Grouped Result |
|---|---|---|
| Deluxe Room with Balcony | HasBalcony | Deluxe Room |
| Deluxe Room without Balcony | No Attribute detected | Deluxe Room |
| Deluxe Room (Smoking) | SmokingAllowed | Deluxe Room |
| Parameter | Description | Example |
|---|---|---|
| Ignored Attributes | Attributes excluded from matching logic | HasBalcony, SmokingAllowed |
| Scope | Apply globally or per property | Global |
⚠️ Warning: Aggressive attribute-ignoring can collapse rooms that travelers actually want to distinguish (e.g., smoking vs. non-smoking). Confirm scope explicitly before going live.
| Source Category | Direction | Unified Category |
|---|---|---|
| Standard | ➜ | |
| Classic | ➜ | Standard |
| Basic | ➜ |
| Parameter | Description | Example |
|---|---|---|
| Source Categories | List of category names to treat as equivalent | Standard, Classic, Basic |
| Unified Category | The display name for the merged group | Standard |
| Source View | Direction | Unified View |
|---|---|---|
| Sea View | ➜ | |
| Oceanfront | ➜ | Ocean View |
| Partial Ocean View | ➜ |
| Parameter | Description | Example |
|---|---|---|
| Source Views | List of view names to merge | Sea View, Oceanfront, Partial Ocean View |
| Unified View Name | The display name for all matched views | Ocean View |
✅ Tip: A beachfront resort lists rooms as "Sea View" on one channel, "Oceanfront" on another, and "Partial Ocean View" on a third. This rule unifies them all under "Ocean View."
| Standard Board Basis | Meaning | Example Keywords |
|---|---|---|
| Room Only | No meals included. | no meals, only room, room-only, accommodation only, RO |
| Bed and Breakfast | Breakfast only. | bed and breakfast, bed & breakfast, continental breakfast, breakfast included, b&b, BB |
| Half Board | Breakfast plus lunch or dinner. | half board, half-board, hb, breakfast & lunch, breakfast & dinner |
| Full Board | Breakfast, lunch, and dinner. | full board, full-board, fb |
| All Inclusive | Breakfast, lunch, dinner, and drinks. | all inclusive, all-inclusive, all meals, ai |
| Supplier | RoomName | RoomCode | Bed | View | Other |
|---|---|---|---|---|---|
| Supplier A | Deluxe King Room with Sea View, Balcony | DLX-K-SV-B | 1 King Bed | Sea View | Has balcony |
| Supplier B | DLX 1QUEEN OCEANFRONT | DK-OF | Queen | Oceanfront | — |
| Supplier C | Classic Room — Double — Partial Ocean View (Smoking) | CLS-D-01 | Double | Partial Ocean View | Smoking |
Double, Queen, and King are merged into one bedding group with display preference set to Queen preferred. Supplier A's "1 King Bed", Supplier B's "Queen", and Supplier C's "Double" all resolve to the same canonical bed group.HasBalcony is configured as an ignored attribute for this client. Supplier A's balcony attribute is therefore not used to separate it from the others. SmokingAllowed is also ignored, so Supplier C's smoking variant is not split off.Deluxe and Classic are configured as equivalent categories with unified display name Deluxe. Supplier C's "Classic Room" is therefore unified with Supplier A's and Supplier B's "Deluxe" rooms.Sea View, Oceanfront, and Partial Ocean View are merged into the unified view Ocean View. Case-insensitive matching ensures variants like "OCEANFRONT" or "ocean view" all resolve correctly.{
"standardRooms":[
{
"standardName":"Deluxe, Queen, Ocean view"
"mappedRates": [
{
"inputIndex": "1",
"Provider": "Supplier A",
"RoomCode": "DLX-K-SV-B",
"MatchScore": 97
},
{
"inputIndex": "2",
"Provider": "Supplier B",
"RoomCode": "DK-OF",
"MatchScore": 92
},
{
"inputIndex": "3",
"Provider": "Supplier C",
"RoomCode": "CLS-D-01",
"MatchScore": 86
}
]
}
]
}MatchScore (closest textual match to the canonical name). Supplier B scores slightly lower because its bed and view diverge textually but resolve via rules. Supplier C scores lowest among the three but is still confidently grouped because three of the four rule types contribute supporting evidence.