This is a single QikServe Link listing. It contains the rich content to render a card within the apps order food section as well as a reference to that link for other parts of the app to access if required.
{
"id": 1234,
"title": "Holidaymaker Pizza",
"description": "This is some information about the lovely pizza restaurant we have.#BREAK##BREAK#You can order pizza here and cheesy sticks!",
"address": "Oasis Complex#BREAK#Key Park One#BREAK#Dorchester#BREAK#Dorset",
"imgUrl": "https://your-wordpress-install.com/wp-content/uploads/2024/01/Pizza-Diner.jpg?v=1704806444",
"ctaUrl": "https://order-demo.withqikserve.com/demo-demo-demo",
"ctaText": "View Menus and Order >",
"highlightText": "Takeaway and Table Service",
"sites": [
"key-park-one"
]
}Type : Integer - Required
ID for this link. This needs to be unique to others links in the list, however does not need to be unique to other entities. This ID should also not change between data requests/packets.
Type : Rich Text / Multiline String - Optional
List description. This is rendered as a small amount of text on the home cards within the app surfaces.
Type : Rich Text / Multiline String - Optional
Link address. This is only relevent if QikServe link confirmation is on for this install. It is rendered in the confirmation box when a user clicks on a QikServe link.
Type : Url String - Required
The QikServe affiliated permalink to open the chosen menu within the app
Type : String - Required
The title for the call to action button that opens the chosen menu within the app. Typical default is 'View Menus and Order >'
Type : String - Optional
This small piece of text is used on the list cards to highlight something. It is normally the brand accent color in a rounded corner pill text view. Examples may be 'Takeaway or Table Service' or 'New for 2024'
Type : Array of String - Optional
Only required for multi site installs - can be disregarded for single park systems. This should be a list of valid groupsite keys which this QikServe Link should be available for. If this array is missing or empty then the offer will not render for any user.
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"
}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
]
}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"
}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",
]
}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"
}