Login / Sign Up

Navigation Item

Main menu items are rendered simply as a text button. They can be set to be an alternative accent color, which is commonly used for holiday homes sales. When selecting an item a menu item can navigate to an app page, a set list of external urls, or a place menu item.

Structure

{
  "type": "page",
  "title": "My Holiday",
  "page": "myholiday"
  "slug": "facilities"
  "url": "site|holidayHomesUrl",
  "alt": true,
  "icon": "brand"
}

Properties

type

Type : Navigation Item Type - Required

Sets the behaviour of this menu item or tab - either a page navigate, external link, or place menu item for menu items, or page navigate or place menu for up to three tab items

title

Type : String - Required

The title of the menu item

page

Type : Navigation Item Page - Optional

Which page should this item navigate too. Ignored if the type is not set to 'page'. Defaults to 'myholiday'

slug

Type : String - Optional

Which places menu item slug should this item navigate too. Ignored if the type is not set to 'thingstodo'

url

Type : Navigation Item Url Key - Optional

Which external url key should this item navigate too. Ignored if the type is not set to 'url'

alt

Type : Boolean - Optional

Should this item render as the alternative accent color. Default false.

icon

Type : Navigation Item Tab / CTA Icon - Optional

Ignored unless the menu type is a tab or tabthingstodo - This is the icon key for which icon should be used for this tab

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"
  ]
}

Navigation Item Page - Reveal

This is string definition to set which page / section of the app surfaces a menu item should navigate too. The options available are :
• "myholiday" - My Holiday (default)
• "thingstodo" - Things to Do / Places
• "whatson" - What's On
• "parkmap" - Park Map
• "faqs" - FAQs / Holiday Information
• "favourites" - My Favourites
• "offers" - Offers
• "homesales" - Holiday Homes for Sale
• "shop" - Shop
• "routes" - Routes
• "food" - Order Food & Drink

{
  "type": "page",
  "title": "Explore",
  "page": "thingstodo"
}

Navigation Item Tab / CTA Icon - Reveal

This is string definition to set a tab or CTA icons for a set embedded in the app. These are the base set of icons, which can be bespoke image files client by client in the app. There is also the ability to send another option that isn't below, if the corresponding bespoke image is included in that clients app. The standard options available are :
• "brand" - Tabs
• "beach" - Tabs
• "calendar" - Tabs
• "compass" - Tabs
• "place" - Tabs
• "bench" - Tabs
• "lakes" - Tabs
• "clipboard" - Tabs
• "info" - Tabs
• "lodge" - Tabs
• "walking" - Tabs
• "takeaway" - Tabs
• "takeawaypizza" - Tabs
• "takeawayburger" - Tabs
• "takeawayfish" - Tabs
• "phone" - CTAs
• "map" - CTAs
• "mail" - CTAs
• "question" - CTAs
• "car" - CTAs



NOTE : THESE ARE CURRENTLY BEING DEFINED AND ARE NOT CORRECTLY LISTED

{
  "icon": "brand"
}

Navigation Item Type - Reveal

This is string definition to set how a menu item will behave. The options available are :
• "page" - Navigate to app page/section (default)
• "url" - Navigate to an external url (restricted to urls/intents already known by the app)
• "thingstodo" - Navigate to places/things to do section filtering by a menu item
• "tab" - This is not for the main menu but for one of the bottom tabs : navigate to app page/section
• "tabthingstodo" - This is not for the main menu but for one of the bottom tabs : navigate to places/things to do section filtering by a menu item
• "cta" - This is not for the main menu but for one of the three CTA buttons on the my holiday section : navigate to app page/section
• "ctathingstodo" - This is not for the main menu but for one of the three CTA buttons on the my holiday section : navigate to places/things to do section filtering by a menu item
• "ctaurl" - Navigate to an external url (restricted to urls/intents already known by the app)

{
  "type": "page",
  "title": "Explore",
  "page": "thingstodo"
}

Navigation Item Url Key - Reveal

This is string key to tell the app which external url a menu item should attempt to navigate too. The options available are :
• "site|holidayHomesUrl" - Navigate to external holiday home sales website
• "intent|map" - Trigger the normal navigate to map intent within the app
• "intent|phone" - Trigger the normal phone us intent within in the app
• "intent|email" - Trigger the normal email/contact us intent within the app

{
  "type": "url",
  "title": "Holiday Homes For Sale",
  "url": "site|holidayHomesUrl"
},

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",
  ] 
}

Data Changes

11/01/2024 - Navigation Item Page

Added 'food' page option

11/01/2024 - Navigation Item Tab / CTA Icon

Added all current icons available in HM Core 1.38.0

21/08/2023 - Navigation Item

Renamed to Navigation Item

21/08/2023 - Navigation Item Page

Renamed to Navigation Item Page

21/08/2023 - Navigation Item Tab / CTA Icon

Renamed to Navigation Item Tab / CTA Icon

21/08/2023 - Navigation Item Type

Renamed to Navigation Item Type

21/08/2023 - Navigation Item Url Key

Renamed to Navigation Item Type

21/08/2023 - Navigation Item Url Key

Added three internal intents for new cta buttons

15/08/2023 - Navigation Item

Added 'icon' property

15/08/2023 - Navigation Item Type

Added 'tab' and 'tabthingstodo' enum keys

Show All Changes