Login / Sign Up

QikServe Link

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.

Structure

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

Properties

id

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.

title

Type : String - Required

Link / Menu Title

description

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.

address

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.

imgUrl

Type : Image Url String - Optional

Landscape hero image used on the order food view.

ctaUrl

Type : Url String - Required

The QikServe affiliated permalink to open the chosen menu within the app

ctaText

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 >'

highlightText

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'

sites

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.

Required Type Definitions

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