The Add-Ons Code field is an optional text field available on Add-Ons (such as breakfast, spa packages, or parking) at both the individual hotel level and the chain level. It accepts up to 50 characters and appears wherever Add-Ons are set up or listed, including as a dedicated column in the Add-Ons list view.
The purpose and behavior of this field depends entirely on whether the Contentful CMS integration is active for your property or chain.
What is the Contentful CMS integration?
Some hotels and chains use an external content platform called Contentful to manage their marketing content (names, descriptions, images, and so on) rather than entering it directly in CRS. When this integration is turned on for a property or chain, CRS automatically pulls that content from Contentful and applies it to the matching item.
The two systems link up using the Code field. It is the only way CRS knows which Contentful content belongs to which Add-On. This is why the field's behavior changes depending on whether the integration is active.
📌 Note: The Contentful CMS integration is a custom integration. It is not active by default. Contact your implementation team to confirm whether it is enabled for your property or chain.
When CMS (Contentful) is OFF
For most properties, the Contentful integration is not active. In this state, the Add-Ons Code field is entirely optional and has no impact on how the Add-On saves or functions:
Leaving the field empty is fine. The Add-On saves normally without a code.
If you do enter a value, it is saved exactly as typed with no validation. Duplicate codes across different Add-Ons are permitted, and no checks are made for reserved words or special characters.
The only limit that applies is the 50-character maximum.
When CMS (Contentful) is ON
When the Contentful integration is active, the Code field becomes the join key that connects each Add-On in CRS to its corresponding content in Contentful. Without it, CRS cannot match and pull the correct content for that Add-On.
In this state, the field is marked as required (indicated by an asterisk in the UI), and the following validation rules apply:
The code must not be a reserved system word.
The code must not contain HTML-like characters (< or >).
The code must be unique. It cannot already be in use by another Add-On.
⚠️ Important: Each Add-On must have a unique Code that exactly matches the corresponding entry in Contentful. If the codes do not match, CRS will not be able to pull the correct content for that Add-On.
