Login / Sign Up

Home Alert

A Home alert renders at the top of the My Holiday section. It is can be a card with a border, title with icon and text. This has an accent color and icon based on it's style, with an option to have these custom set. Optionally you can have it as a banner style with a background image and white title (or transparent black gradient). An alert box can have an optional intent to cross link too content within the app, or link out of the app externally (eg to F&B system, or other bookings). If an alert is set to banner style, it must include an intent else will not render in the app (as will do nothing when clicked)

Structure

//Guest Alert example with no button
{
  "title": "High winds",
  "copy": "We have had an amber weather warning for high winds expected until Thursday",
  "style": "alert",
  "sites": [
    "park-one",
    "park-two"
  ]
}

//Owners Only Banner
{
  "title": "5% off at the bar",
  "style": "banner",
  "banner": "https://your-wordpress-install.com/wp-content/uploads/2022/10/park-bar.jpeg?v=1684756244",
  "linkIntent": "offer",
  "linkID": 134,
  "isOwnersOnly": true,
  "sites": [
    "park-one"
  ]
}

//All properties
{
  "title": "High winds",
  "copy": "We have had an amber weather warning for high winds expected until Thursday",
  "style": "alert",
  "banner": "https://your-wordpress-install.com/wp-content/uploads/2022/10/park-bar.jpeg?v=1684756244",
  "linkIntent": "offer",
  "linkTitle": "Book Now",
  "linkUrl": "https://your-booking-engine.com/start-booking",
  "linkSlug": "menu-item-slug",
  "linkID": 134,
  "isOwnersOnly": true,
  "signedInOnly": false,
  "onHolidayOnly": false,
  "sites": [
    "park-one"
  ]
}

Properties

title

Type : String - Required

Title is rendered either at the top of the alert box card in the stlye's defined color, or if the style is set to banner then will be white on top of a black gradient at the bottom of the banner image

style

Type : Home Alert Style - Optional

Style of the alert box. If set to banner then an intent must be set, and the copy property will be ignored.

copy

Type : Rich Text / Multiline String - Optional

For alert box cards this is the main copy rendered. This is ignored if the style is set to banner.

banner

Type : Image Url String - Optional

If style is set to banner, then this is required. This is the image which is displayed as the banner. Other styles ignore this property even if set.

linkIntent

Type : Home Alert Intent - Optional

This is optional for alert cards, but required if the style is set to banner. If this is set then the alert box will add a call to action button, or behaviour as expected when the banner is clicked.

linkTitle

Type : String - Optional

The title of the call to action button. This is ignored if the style is set to banner, or there is no intent set.

linkUrl

Type : Url String - Optional

External url required if the intent is set to 'link', or the QikServe embed url if intent is set to 'qikserve' - ignored by all other intents

linkSlug

Type : String - Optional

Slug of place menu item if the intent is set to 'menu' - ignored by all other intents

linkID

Type : Integer - Optional

ID of record to navigate to if the intent is set to 'place', 'offer' or 'qikserve' - ignored by all other intents

color

Type : Color String - Optional

Custom color used by the border and title of the alert box if style is set to 'custom' - ignored by all other styles

icon

Type : Image Url String - Optional

Custom icon used beside title of the alert box if style is set to 'custom' - ignored by all other styles. This should be a small transparent png - 100-75px recommended

onHolidayOnly

Type : Boolean - Optional

If set to true this alert box will only be visible to users who have logged in with a valid holiday booking, AND is between their arrival and departure date (inclusive) - Note that the holidaymaker CMS would normally only allow one of these three options to be set to true.

signedInOnly

Type : Boolean - Optional

If set to true this alert box will only be visible to users who have logged in with a valid holiday booking - Note that the holidaymaker CMS would normally only allow one of these three options to be set to true.

isOwnersOnly

Type : Boolean - Optional

If set to true this alert box will only be visible to users who have logged in as a home owner - Note that the holidaymaker CMS would normally only allow one of these three options to be set to true.

sites

Type : Array of String - Required

Only required for multi site installs - can be disregarded for single park systems. This should be a list of valid groupsite keys which this alert box should be available for. If this array is missing or empty then the alert box will not render for any user.

Required Type Definitions

Boolean - Reveal

As we connect to different systems using a range of different languages, we can interpret several things as a true. Generally speaking holidaymaker will use a standard true/false JSON boolean, however we also read a lower case string and checked if they are "1", "true", "yes", or "on" to then create the positive boolean. Unless explicitly noted, all booleans are defaulted as false if the node doesn't exist.

{
  "optionOne": true,
  "optionTwo": false,
  "allTheseAreValidTrues" : [
    1, "1", true, "true", "on", "yes"
  ]
}

Color String - Reveal

A string value which should be a valid 24bit hexadecimal string. For example "#FF0000" for red. This is parsed by the app surfaces and defaults to a brand color if invalid.

{
  "color": "#FF00FF"
}

Home Alert Intent - Reveal

This is string definition to set a home alert's behaviour when the optional link is clicked. The options available are :
• "none" - No button (default)
• "link" - Navigate to external link
• "menu" - Navigate to places section filtering by a menu item
• "place" - Navigate to places section and view a specific place record
• "offers" - Navigate to offers section
• "offer" - Navigate to offers section and view a specific offer record
• "whatson" - Navigate to what's on section
• "homesales" - Navigate to holiday home sales section
• "routes" - Navigate to routes section
• "faqs" - Navigate to FAQs / Holiday Information section
• "qikserve" - Load chosen QikServe link within the app

{
  "linkIntent": "offer",
  "linkID": 134,
}

Home Alert Style - Reveal

This is string definition to style a home alert. The options available are :
• "standard" - Info icon in branded color (default)
• "alert" - Warning/caution icon in red
• "custom" - Can set own icon/color
• "banner" - Renders as landscape image banner with title on top

{
  "style": "alert"
}

Image Url String - Reveal

Our app surfaces talk to an image engine on our infrastructure to process and resize images for different smart phone screen densities. Because of this the size of images are less relevant as they are delivered at optimum sizes anyway. However due to processing power and speed we do recommend that image urls are all 3000 pixels or below. The app surfaces will never need an image this large, so it gives you the option of still having a large quality image, but can be loaded in the apps and our infrastructure efficiently. We support both png, jpeg, and webp images. You can optionally include a '?v=' version integer so this can be used for versioning. If you do include this you can ensure images are reprocessed if the source image is changed on your servers.

{
  "imgUrl": "https://your-wordpress-site.com/wp-content/uploads/2023/08/a-large-image-3000x2100.jpg?v=1691481892",
  "image": "https://your-wordpress-site.com/wp-content/uploads/2023/08/a-smaller-image.png"
}

Integer - Reveal

Standard JSON Integer - 0 is commonly considered to be a default value, unless it is an valid ID when -1 is used. For sort priorities 99 is used as the default.

{
  "key1": 9,
  "key2": 42,
  "arrayOfInts": [
    2,
    3,
    5,
    8
  ] 
}

Rich Text / Multiline String - Reveal

Acts the same as the standard String type, however If text is assumed to include line breaks then we use a place holder of #BREAK#. These will then be replaced by the relevant line breaks depending on the language, and device that is rendering the text. This is commonly used in entity copy, and addresses. Rich text should not include HTML or other markup. There should always be a contextual consideration as well - for example if you copy includes a html anchor link to 'Read More' - then simply removing the markup will then leave the text 'Read More' which will be a redundant, none clickable piece of text within the app surfaces.

{
  "textWithBullets": "This paragraph will now have two line breaks, and then a list of bullets#BREAK##BREAK#• Bullet 1#BREAK#• Bullet 2#BREAK#• Bullet 3",
  "address": "Holidaymaker App Ltd#BREAK#Stowey House#BREAK#Bridport Road#BREAK#Dorchester#BREAK#DT12SB"
}

String - Reveal

Standard JSON String - Often will have certain characters escaped depending what system is writing the JSON packet, however our parser only requires to have double quotes (") escaped. UTF-8 encoding is our standard, but others may be accepted if required. If line breaks are required in the text then the Rich Text / Multiline String type is used instead.

{
  "key1": "A string value",
  "key2": "Another string with an some \"quotes\" that need escaping",
  "arrayOfStrings": [
    "Item one as a string",
    "Item two as a string",
    "Item three as a string",
  ] 
}

Url String - Reveal

A Url is sent the same as a string. If our system knows this is a url it will check if it starts with http or https - Note that navigating from both iOS and Android should use https.

{
  "bookingUrl" : "https://portal.managebooking.pmssystem"
}

Data Changes

09/01/2024 - Home Alert Intent

Added qikserve option

07/08/2023 - Home Alert Style

The "covid" style has been removed and future apps will default this to "alert"

14/04/2023 - Home Alert

Added banner image and signed in/on holiday availability booleans