Release notes

GXP 4.78

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
  • /API/V40/CMS/Interactive/Order
  • /API/V40/CMS/Interactive/PropertyOrders/{orderCode}
  • /API/V40/CMS/Interactive/PropertyOrders
  • Added property 'Supplement' to Items.
We now return 'Supplement' for items.

GXP 4.77

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
  • /API/V40/CMS/Content/Outlet/{OutletCode}/SectionsCategoriesItems
  • /API/V40/CMS/Content/Sections/{SectionCode}/Categories
  • /API/V40/CMS/Content/Guest/{GuestId}/SectionsCategoriesItems
  • /API/V40/CMS/Content/Categories/{CategoryCode}/Items
  • /API/V40/CMS/Content/Items/{Code}
  • Added property 'SubType' to Category.
  • Added properties 'LongDescription', 'ShortDescription', 'ImageUrl' and 'Supplement' to Item Modifier Options.
We now return Combo Meal categories, items and modifiers with options.

GXP 4.76

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
  • /API/v40/Interactive/Outlet/{outletCode}/AddItemsToBasket
  • Added property 'RelatedParentCategoryItemCode' to basket item
  • Returns BasketItemError area code if no category item found for CategoryItemCode or RelatedParentCategoryItemCode of the basket item.
The property is set for related items only with the CategoryItemCode of the parent item.

GXP 4.74

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
  • /API/V40/Interactive/Cart
  • /API/V40/Interactive/ServiceRequest
  • Controllers now marked as deprecated
Only marked as deprecated in their respective notes in the documentation to discourage consumption - the endpoints still function correctly

GXP 4.69

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
  • /API/V40/CMS/Content/Outlet/{outletName}/SectionsCategoriesItems
  • /API/V40/CMS/Content/SectionsCategoriesItems
  • /API/V40/CMS/Content/Guest/{GuestId}/SectionsCategoriesItems
  • /API/V40/CMS/Content/Categories/{CategoryCode}/Items
  • /API/V40/CMS/Content/Items/{Code}
  • Items now include list of taxes
In live version we now return a list of the taxes setup against the item. These include the taxes name and rate.

GXP 4.68

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
In Draft version only:
  • /API/V40/CMS/Content/Outlet/{outletName}/SectionsCategoriesItems
  • /API/V40/CMS/Content/SectionsCategoriesItems
  • /API/V40/CMS/Content/Guest/{GuestId}/SectionsCategoriesItems
  • /API/V40/CMS/Content/Categories/{CategoryCode}/Items
  • /API/V40/CMS/Content/Items/{Code}
  • Items now include list of taxes
In draft version we now return a list of the taxes setup against the item. These include the taxes name and rate.

GXP 4.66

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
/API/V40/Interactive/Outlet/{outletCode}/deliveryLocation/{deliveryLocationCode}/GetOpenCheck
  • Syncs Gxp Order with Pos Check, and returns updated gxp order
Endpoint syncs the gxp order with the pos check, using the delivery location code to match before returning the order history
/API/V40/Interactive/PropertyOrders/{orderCode}
  • New endpoint - gets details for a specific order
Returns a verified or non verified order based on the order code.
/API/V40/Interactive/PropertyOrders
  • New endpoint - gets details for a set of verified or non verified orders
Returns verified or non verified orders based on a list of order codes.

GXP 4.64

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
API/V40/CMS/Content/Outlet/{OutletCode}/SectionsCategoriesItems API/V40/CMS/Content/SectionsCategoriesItems API/V40/CMS/Content/Guest/{GuestId}/SectionsCategoriesItems
  • Now returns 'LeadTime' as part of CategoryItems
Items now have a LeadTime property to support scenarios where the user wants to specify Lead Time on a per item basis rather than Outlet.
API/V40/CMS/Content/CacheStatus API/V40/CMS/Content/CacheStatusForProperty API/V40/CMS/Content/ClearCacheForProperty
  • API calls for checking the state of, and clearing the cache. They are not visible in Swagger.
These API endpoints are secured using a SecurityKey, the same way the POS API is secured.

GXP 4.63

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
API/V40/Interactive/Order API/V40/Interactive/Outlet/{OutletCode}/NonVerifiedGuestOrder
  • Now returns 'Round sequence' as part of Order Items
Order Items now have a round sequence to support scenarios where we have appended to an existing check - resulting in multiple rounds for that order
API/V40/Interactive/Outlet/{OutletCode}/PlaceVerifiedGuestOrder API/V40/Interactive/Outlet/{OutletCode}/PlaceNonVerifiedGuestOrder
  • Append to check not supported by MCP, Lightspeed or IG
If a GxpChequeNumber is supplied in the request for these 3 Pos Adapters, an AppendToCheckNotSupported error will be returned from the endpoint
API/V40/Interactive/Outlet/{OutletCode}/PlaceVerifiedGuestOrder API/V40/Interactive/Outlet/{OutletCode}/PlaceNonVerifiedGuestOrder
  • PosOrderRoundsOutOfSync error code
During appending to a check, if a round is placed in Pos but then fails in Gxp, we will now roll back the order items in GXP and return an error message to sync Gxp to Pos.

GXP 4.62

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
API/V40/Interactive/Outlet/{outletCode}/deliveryLocation/{deliveryLocationCode}/CallWaiter
  • New endpoint to call waiter for TS POS integration
This endpoint takes outlet code and delivery location code as query parameters. It is used to send a call waiter request to TS POS. Returns 200 if successful. If unsuccessful, one of the following error codes will be returned: 400, 410, 500.

GXP 4.61

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
API/V40/Settings API/V40/Settings/Outlet/{code}
  • Added Outlet's TelephonNumber and TelephonePrefix to the response
API/V40/Settings API/V40/Settings/Property
  • Added Property's TelephonePrefix to the response

GXP 4.60

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
API/V40/Interactive/Outlet/{code}/AddItemsToBasket API/V40/Interactive/Outlet/{code}/PlaceVerifiedGuestOrder API/V40/Interactive/Outlet/{code}/PlaceVerifiedGuestServiceRequest API/V40/Interactive/Outlet/{code}/PlaceNonVerifiedGuestOrder API/V40/Interactive/Outlet/{code}/PlaceNonVerifiedGuestServiceRequest
  • New area error DeliveryDateInThePast
This area error is returned if order is set to be delivered later and delivery time is in the past
API/V40/System/Settings/Outlet
  • Extend response object with new property CollectionText
When 'Allow Collection' is enabled for an Outlet, GXP user can enter 'Specify Pickup Location' which is returned in this new property.

GXP 4.58

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
API/V40/System/Settings API/V40/System/Settings/Property
  • New string field "skinCode"
Returns the Custom Style as defined in GXP/Content Management/Homepage. Nulls allowed.
  • /API/V40/Interactive/Outlet/{{outletCode}}/PlaceVerifiedGuestOrder
  • /API/V40/Interactive/Outlet/{{outletCode}}/PlaceNonVerifiedGuestOrder
  • /API/V40/Interactive/Outlet/{{outletCode}}/PlaceVerifiedGuestServiceRequest
  • /API/V40/Interactive/Outlet/{{outletCode}}/PlaceNonVerifiedGuestServiceRequest
  • "orderId" is now returned as part of the response
On a successful placing of an order, we now return the id for that order. If an error occurs, we will return 0.

GXP 4.57

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
API/V40/Interactive/Guest/CheckIn
  • New area error NoRoomsAvailableOfRoomTypeException
This area error is returned if check-in fails due to no rooms are available

GXP 4.56.1

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
API/V40/Interactive/Guest/ConfirmationNumber
  • New endpoint to verify the confirmation number against the guest in the session.
Returns InvalidConfirmationNumber area code if no confirmation found against logged in guest.

GXP 4.55

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
API/V40/System/Settings
  • "allowNonVerifiedGuests" will now be set to false, if an Outlet has no Order Forms associated with it
The API will not set it to false, if the associated Order Form captures no fields
API/V40/System/Settings/Outlet
  • "GetMenuBitByBit" has been removed from the response object.
"GetMenuBitByBit" is no longer associated with Outlets

GXP 4.54

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
API/V40/CMS/Content/Homepage API/V40/CMS/Content/Guest/Homepage
  • The API no longer filters banners based on their start and end date. Instead, new UTC "StartDate" and "EndDate" fields have been added to the banner object.
As apps often cache homepage data, server-side filtering could not work correctly, therefore we now expose the dates so that the apps can modify the banner filtering as the clock ticks over.
API/V40/Interactive/Guest/ReservationNumber
  • Added a new endpoint to verify the Guest's Reservation Number
API/V40/CMS/Content/Homepage
  • Extend Quicklaunches response object with new property SectionCode
The SectionCode property is used to identify which Section the Quicklaunch is linked to.
API/V40/Interactive/Guest/CheckIn
  • New areacode MoreThanOneRoomInReservation in response if more than one room is connected to the guest reservation.
A guest check-in can only be processed if the guest reservation has one single room connected
API/V40/Interactive/Outlet/{code}/PlaceVerifiedGuestOrder
API/V40/Interactive/Outlet/{code}/PlaceVerifiedGuestServiceRequest
API/V40/Interactive/Outlet/{code}/PlaceNonVerifiedGuestOrder
API/V40/Interactive/Outlet/{code}/PlaceNonVerifiedGuestServiceRequest
New field PaymentReferenceNumber (string, max 250 chars) available to track external payments. This value will be passed on to any configured OHEICS integrations

GXP 4.52

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
API/V40/Interactive/Outlet/{code}/DeliveryLocation
API/V40/Interactive/Outlet/{code}/AddItemsToBasket
API/V40/Interactive/Outlet/{code}/PlaceVerifiedGuestOrder
API/V40/Interactive/Outlet/{code}/PlaceVerifiedGuestServiceRequest
API/V40/Interactive/Outlet/{code}/PlaceNonVerifiedGuestOrder
API/V40/Interactive/Outlet/{code}/NonVerifiedGuestOrder
API/V40/Interactive/Outlet/{code}/PlaceNonVerifiedGuestServiceRequest
API/V40/System/Settings/Outlet (with outlet code in query string)
  • Endpoints related to a single outlet will now verify that outlet is visible. If not, an OutletNotAvailable area error code will be returned in an HTTP 410 Gone response.
API/V40/Interactive/Outlet
API/V40/System/Session/ContentVersion
API/V40/System/Settings
API/V40/System/Settings/Outlet
  • Endpoints related to a several outlets will only include outlets marked as visible.
API/V40/System/Settings/ OutletAndContentPreCalculatedAvailability/{code}
  • New endpoint with pre-calculated availability and time slots for a single outlet including all sections and category items
New properties:
  • outletAvailabilitySummary - The Availability Summary is a complete merge of Opening Hours for the Outlet and all Availability Periods for Sections and Category Items within that Outlet. These summaries inform that something is available to be sold and thus can be used to specify delivery times. Times are specified as "minutes since midnight" where 0 is minute starting at 00:00 and 1439 is minute starting at 23:59. Each time is one minute long so 1439 covers up until midnight.
  • outletAvailabilitySlots - This property contains a list of time slot definitions. Each definition matches a period in the outletAvailabilitySummary property and contains the properties: first.start, first.end, last.start, last.end and interval.
    • If a given period is 100-400 then the time-slot definition would specifiy the first and the last time-slot in that period, in this case that could be 100-130 and 370-400.
    • The first and the last time-slot can be different than the time-slots in-between (to even out strange opening and closing times), but never longer than 2 x interval.
    • The interval property is based on the Outlet interval setting. It specifies the length of the all the middle time-slots between start and end time-slots. It can be 0 if no middle time slots are needed, meaning start and end time-slot cover the whole period.
    • The end time-slot can be empty if start time-slot covers the whole period by itself. Interval is then 0.
  • outletsHash - An outlets hash is also returned to tell what outlet configuration that this data is calculated on.
  • This endpoint will replace the outlet availability data previously shown in the endpoint API/V40/CMS/Content/Outlet/{code}/SectionsCategoriesItems
API/V40/System/Settings/Outlet
  • Extend response object with new property GeofenceRadius
To prevent non verified guests from placing orders/service requests from outside the property, a new setting under Outlets has been introduced. The centre point of the radius is the Property's Longitude and Latitude. The unit of measurement for the geo-fence radius is meters.

GXP 4.51

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
/API/V40/Interactive/Guest/CheckIn
  • New endpoint which performs a check-in.
The check-in uses the new PMS Trigger framework. Upon success, returns a signed-in session token (like that returned from the "InitaliseByRoom" API call).
/API/V40/Interactive/Guest/CheckOut
  • New endpoint which performs a check-out
The check-out uses the new PMS Trigger framework. Upon success, returns a signed-out session token (like that returned from the "Initalise" API call).

GXP 4.46

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
/API/V40/Interactive/Guest/Profile
  • Returns a new property VerifiedLanguageCode
This new language code is guaranteed to have a format that is understood by GXP and will only be a value that is supported by the property (matching a language in the GetLanguages call). If conversion from PMS integrated language code to GXP language code can't be made then the property's default language will be used. The old property LanguageCode is unchanged and will contain whatever value the PMS system has returned as guest language.

GXP 4.45

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
/API/V40/Interactive/Outlet/{OutletCode}/PlaceVerifiedGuestOrder /API/V40/Interactive/Outlet/{OutletCode}/PlaceNonVerifiedGuestOrder
  • Add price verification between Basket and Infogenesis POS system
When placing an order, if the Basket price does not match Infogenesis POS system, "BasketPosPriceOutOfSync" will be returned as the "areaError".

/API/V40/CMS/Content/Homepage

/API/V40/CMS/Content/Guest/{GuestId}/Homepage

  • Extend response object with property OutletCode and SectionType
Quicklaunches, Shortcuts and Widget Banners that are linked to sections, categories or items have a new property called 'OutletCode' which contains the code of the outlet they are linked to. There is also a new property called 'SectionType' which contains the type of linked section.

/API/V40/CMS/Content/Homepage

  • Extend response object with property TimedBackgroundImages
TimedBackgroundImages property contains the new Homepage Background Images response, which supports the new functionality of being able to specify when an image is displayed during the day.

GXP 4.44

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

/API/V40/System/Settings/Languages

  • Name will have translated language name.
The 'Name' property should have the translated name for the language. If there is no translated name for the language, then the name should be used.

GXP 4.43

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

/API/V40/System/Settings/Languages

  • Name will have translated language name.
The 'Name' property should have the translated name for the language. If there is no translated name for the language, then the name should be used.

/API/V40/System/Settings

/API/V40/System/Settings/Outlet

  • Extend response object with property AllowGuestMessage
This property contains a boolean flag for whether the outlet should allow messages on the front end

/API/V40/CMS/Content/Outlet/{OutletCode}/SectionsCategoriesItems

/API/V40/CMS/Content/SectionsCategoriesItems

/API/V40/CMS/Content/Guest/{GuestId}/SectionsCategoriesItems

/API/V40/CMS/Content/Categories/{CategoryCode}/Items

/API/V40/CMS/Content/Items/{Code}

  • Item modifiers and item modifier options that have been set to invisible will not be returned.
Item modifiers and item modifier options that have been set to invisible will not be returned.

GXP 4.40

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

/API/V40/CMS/Content/Homepage

  • Extend response object with property SortOrder
This property contains the widgets' sort order

API/V40/System/Session/InitialiseByAsset

  • New response property: RoomStatus
Previously, the response has only included information about if the initialisation was successful or not. Now, a new property is returned as well: RoomStatus (responses/initialiseSessionByAsset/content/roomStatus). Possible response codes are:
  • NoGuestInRoom
  • RoomIsOccupied

/API/V40/CMS/Content/Guest/{GuestId}/SectionsCategoriesItems

/API/V40/CMS/Content/Homepage

  • Extend response object with property SortOrder
This property contains the widgets' sort order

/API/V40/CMS/Content/Guest/{GuestId}/SectionsCategoriesItems

  • List of all sections, categories and items for the specific guest, sections visible to all rooms are not included.
When calling the endpoint, the response will now contain any sections, categories and items that are assigned to a section which the guest has access to.

/API/V40/CMS/Content/Guest/{GuestId}/Homepage

  • List of all widgets, banners and homepage items for the specific guest, widgets visible to all rooms are not included.
When calling the endpoint, the response will now contain any widgets that are assigned to a section which the guest has access to.

GET API/V40/Interactive/Order

If guest has checked out or moved room, call will return HttpCode 404, AreaCode GuestNotFound Previously, HttpCode 200 with empty response was returned.

GET API/V40/Interactive/Order/BillInfo

If guest has checked out or moved room, call will return HttpCode 401, AreaCode GuestNotLoggedIn Previously, no error was returned for room move.

GET API/V40/Interactive/Messages

If guest has checked out or moved room, call will return HttpCode 404, AreaCode GuestNotFound Previously, call would cause server error

GET API/V40/Interactive/Messages/Conversations

If guest has checked out or moved room, call will return HttpCode 404, AreaCode GuestNotFound Previously, call would cause server error

POST API/V40/Interactive/Messages/Conversations

If guest has checked out or moved room, call will return HttpCode 404, AreaCode GuestNotFound Previously, a room move would just return HttpCode 200 with empty response

PATCH API/V40/Interactive/Messages/Conversations/{code}/Message

If guest has checked out or moved room, call will return HttpCode 404, AreaCode GuestNotFound Previously, a room move would just return HttpCode 200 with empty response

PATCH API/V40/Interactive/Messages/{code}

If guest has checked out or moved room, call will return HttpCode 404, AreaCode GuestNotFound Previously, call would just return HttpCode 200

GET API/V40/Interactive/Guest/Profile

If guest has checked out or moved room, call will return HttpCode 500, AreaCode GuestNotCheckedIn Previously, a room move would return HttpCode 200 for the correct room

POST API/V40/Interactive/Outlet/{outletCode}/PlaceVerifiedGuestOrder

If guest has checked out or moved room, call will return HttpCode 500, AreaCode GuestNotCheckedIn Previously, a room move would return HttpCode 200

POST API/V40/Interactive/Outlet/{outletCode}/PlaceVerifiedGuestServiceRequest

If guest has checked out or moved room, call will return HttpCode 500, AreaCode GuestNotCheckedIn Previously, a room move would return HttpCode 200

POST API/V40/System/Session/InitialiseByAsset

Invalid format of Asset Key will return HttpCode 400, AreaCode "SystemError" Previously, an invalid format of key would return HttpCode 500. This should not be confused with an asset key that isn't found which returns HttpCode 400, AreaCode "Invalid asset key".

GET /System/Session/ContentVersion

Calling endpoint will now also return property liveVersion showing what the current live version is. The live version can be different from the version currently used in the session.

GXP 4.38

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

/API/V40/CMS/Content/Homepage

  • Dynamic widgets now included in response.
When calling the endpoint, the response will now contain any dynamic widgets set up for the property. They will appear in the same format as other widgets.

Interactive/Guest/Profile

  • Adding response parameter GuestId.
Returning the GuestId for the person making the get Profile API call.

Outlet/{outletCode}/PlaceNonVerifiedGuestOrder

  • Adding optional parameter NumberOfGuests to request.
NumberOfGuests (string) - optional This property contains the number of guests attached to an order in GXP. As some apps which are live still use the number of guests in the order form this is optional. If this is left blank the value in the order form will be taken, otherwise this new parameter will be taken.

Outlet/{outletCode}/PlaceNonVerifiedGuestServiceRequest

  • Adding optional parameter NumberOfGuests to request.
NumberOfGuests (string) - optional This property contains the number of guests attached to an service in GXP. As some apps which are live still use the number of guests in the order form this is optional. If this is left blank the value in the order form will be taken, otherwise this new parameter will be taken.

Release notes

GXP 4.35

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Outlet/{outletCode}/PlaceNonVerifiedGuestOrder

Outlet/{outletCode}/PlaceVerifiedGuestOrder

  • Adding optional parameter GxpChequeNumber to request.
  • Adding response parameter GxpChequeNumber.
GxpChequeNumber (string) - optional This property contains the ChequeNumber attached to an order in GXP. For Pos orders, after a successful PlaceOrder, this will be returned in the response. If we want to append to an existing order, this property must contain the value received from a previous call as part of the new request.

/API/V40/System/Settings

/API/V40/System/Settings/Outlet

  • Adding AllowAppendToCheque to outlet settings.
Setting from outlet settings page now retrieved as part of call.

Interactive/Outlet/Restaurant/PlaceVerifiedGuestOrder

Interactive/Outlet/Restaurant/PlaceNonVerifiedGuestOrder

  • Fails validation if cheque number in request, and outlet setting 'AllowAppendToCheque' set to false.
New validation around outlet settings.

/API/V40/Interactive/Outlet/{outletName}/NonVerifiedGuestOrder

  • New endpoint to retrieve non verified guest orders for specified outlet. (17214).
DeliveryLocationCode (string) - optional If a delivery location code is passed as a query parameter, then we use this to filter the results. Offset (optional) - Offsets the start of the beginning of orders returned Limit (optional) - number of orders returned Note - results will come back ordered descending by creation date.

GXP 4.34

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

System/Settings

System/Settings/CMS

  • Extend GetCMSSettings/Content object with property MobileConfigurationSettings
This property contains configuration settings for mobile as a JSON object and is required by Native Apps. If null, it means there are no configuration settings.

Content/Outlet/{OutletCode}/SectionsCategoriesItems

  • Array timeSlotGroups added to each available day in the availabilitySlots property
  • This new property, contains a list of time slot definitions. Each definition matches a period in the totalAvailabilitySummary property and contains the properties: first.start, first.end, last.start, last.end and interval.
  • If a given period is 100-400 then the time-slot definition would specifiy the first and the last time-slot in that period, in this case that could be 100-130 and 370-400.
  • The first and the last time-slot can be different than the middle time-slots (to even out strange opening and closing times), but never longer than 2 x interval.
  • The interval property is based on the Outlet interval setting. It specifies the length of the all the middle time-slots between start and end time-slots. It can be 0 if no middle time slots are needed, meaning start and end time-slot cover the whole period.
  • The end time-slot can be empty if start time-slot covers the whole period by itself. Interval is then 0.

GXP 4.33

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Content/SectionsCategoriesItems

Content/Categories/{CategoryCode}/Items

Content/Items/{Code}

  • Extend ItemModifier with field MaximumQuantity
The maximum number of item modifiers a guest can choose on the front end. If the MaximumQuantity has a value, then on the front end, the guest can select no more than the MaximumQuantity for the item modifier. If the MaximumQuantity is null, then there is no maximum quantity set for the item modifier.

Content/Outlet/{OutletCode}/SectionsCategoriesItems

Content/SectionsCategoriesItems

Content/Sections

  • Extend Section with field IsEncryptedUrl
If IsEncryptedUrl is set to true, Url field is set to empty and Url has a value if IsEncryptedUrl is false

Content/Sections/{SectionCode}/EncryptedURL

  • New endpoint
It returns the section Url with a query string parameter 'guestInfo' containing the encrypted JSON

Content/Outlet/{OutletCode}/SectionsCategoriesItems

  • Extend Sections and CatogoryItems with property AvailabilitySummary
  • Extend Outlet with property TotalAvailabilitySummary
The Availability Summary for Sections and CategoryItems is an individual merge of all Availability Periods for that specific entity. Opening hours for the Outlet and Availability Periods for other Sections and CategoryItems are not included. These summaries are a simplification of the normal Availability Periods in that overlapping periods have been merged together and time slots stretching over midnight have been split up into two separate days. The Total Availability Summary is a complete merge of Opening Hours for the Outlet and all Availability Periods for Sections and Category Items within that Outlet. These summaries inform that something is available to be sold and thus can be used to specify delivery times.

System/Settings

System/Settings/Outlet

  • Extend Outlets with property AvailabilitySummary
The Availability Summary for the Outlet is a simplification of the normal Opening Hours in that overlapping periods have been merged together and time slots stretching over midnight have been split up into two separate days.

Content/Homepage

  • Extend Widget with field OutletCode
All shortcut widgets of action type section, category or item get the associated outlet code, if one is available, added to the shortcut

System/Settings/CMS

Properties added
  • allow2wayMessaging
  • showTermsAndConditions
  • showWelcomeScreen
  • messagePollingInterval
Description
  • allow2wayMessaging (int) - 1=On, 2=Off, 3=TempOff
  • showTermsAndConditions (bool)
  • showWelcomeScreen (bool)
  • messagePollingInterval (int) - number of minutes between each polling

Interactive/Outlet

Properties added
  • outlets/deliveryCharge
  • outlets/deliveryLocationAreas/deliveryCharge
Description
  • outlets/deliveryCharge (decimal) - what is configured in Outlet Settings (If UsePos=true then a PosCode needs to be set for the Delivery Charge to be used, otherwise 0 will be used. If UsePos=false then Delivery Charge for Outlet will be used as it is)
  • outlets/deliveryLocationAreas/deliveryCharge (decimal) - what is configured in Outlet Settings -> Delivery Location Areas

Interactive/Outlet/{request.OutletCode}/DeliveryLocation

Properties added
  • outlets/deliveryLocationAreas/deliveryCharge
Description
  • outlets/deliveryLocationAreas/deliveryCharge (decimal) - what is configured in Outlet Settings -> Delivery Location Areas

Interactive/Order

Properties added
  • orders/outletName
  • orders/extraCharges/description
  • orders/deliveryLocation
Description
  • orders/outletName (string) - name of outlet
  • orders/extraCharges/description (string) - text description of the extra charge
  • orders/deliveryLocation (string) - description of delivery location (if Type=Collection => return "Collection", if Type="Delivery Location" => return delivery location, if Type="Room" or unknown => return "Room ___" where room number can be left out if missing).

GXP 4.32

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Interactive/Outlet/{OutletName}/AddItemsToBasket

Interactive/Outlet/{OutletName}/PlaceNonVerifiedGuestServiceRequest

Interactive/Outlet/{OutletName}/PlaceVerifiedGuestServiceRequest

  • Adding item modifier validation for orders and service requests. (TFS 14694)
No validation currently exists, so any current calls with invalid category item modifiers will return an error message.
System/Settings/Outlet
  • Adding IsTaxIncludedInPrice flag Outlet settings response
IsTaxIncludedInPrice (bool) - specifies whether the prices of items within my outlet are inclusive of VAT or not.

GXP 4.30

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
System/Properties/{PropertyCode}/Assets
  • Delete an existing asset by sending no room number
Functionality added to remove an asset by passing in no room number in the request

GXP 4.29

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
System/Settings/Outlet
  • Adding ExtraCharges list to Outlet settings response
Extra charges list:
  • Name (string) - extra charge name
  • Tax (decimal) - extra charge tax
  • Price (decimal) - extra charge price
  • Code (string) - extra charge code
  • CMS/Content/Sections
  • CMS/Content/Sections/{SectionCode}/Categories
  • [Obsolete] CategoryExtraCharges list from Response.
Use System/Settings/Outlet to retrieve Outlet Extra Charges.

Content/Outlet/{OutletCode}/SectionsCategoriesItems

Content/SectionsCategoriesItems

Content/Categories/{CategoryCode}/Items

  • Added "sortOrder" property to the CategoryItem ItemModifier object in the response.
int
CMS/Content/SectionsCategoriesItems
  • Added SectionOutlets property
The SectionOutlets property contains a list of OutletCodes for Sections of "OutletContent" type
CMS/Content/Sections
  • Added SectionOutlets property
The SectionOutlets property contains a list of OutletCodes for Sections of "OutletContent" type

GXP 4.28

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
System/Settings
  • Added new node containing Outlet Settings information
This composite endpoint now contains information from the GetOutletSettings call
  • System/Session/InitialiseByToken
  • System/Session/LoginByToken
  • System/Session/InitialiseByRoom
  • System/Session/InitialiseByAsset
  • System/Session/LoginByRoom
  • LanguageCode - string (optional)
This will enable session creation with specific LanguageCode
Interactive/Outlet
  • Added new deliveryLocationAreas property to the Outlet nodes
Added associated Delivery Location Areas information to the relevant Outlets returned
CMS/Content/SectionsCategoriesItems
  • Added SectionOutlets property
The SectionOutlets property contains a list of OutletCodes for Sections of "OutletContent" type
CMS/Content/Sections
  • Added SectionOutlets property
The SectionOutlets property contains a list of OutletCodes for Sections of "OutletContent" type

GXP 4.27

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
System/Properties/{PropertyCode}/Assets/Current
  • Delete an existing asset
New endpoint

GXP 4.26

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Interactive/Content/Outlet/{OutletCode}/SectionsCategoriesItems

  • Added new fields to AvailabilityPeriods response object
AvailabilityPeriods response object now includes:
  • IsMonday (bool)
  • IsTuesday (bool)
  • IsWednesday (bool)
  • IsThursday (bool)
  • IsFriday (bool)
  • IsSaturday (bool)
  • IsSunday (bool)

Interactive/Content/SectionsCategoriesItems

  • Added new fields to AvailabilityPeriods response object
AvailabilityPeriods response object now includes:
  • IsMonday (bool)
  • IsTuesday (bool)
  • IsWednesday (bool)
  • IsThursday (bool)
  • IsFriday (bool)
  • IsSaturday (bool)
  • IsSunday (bool)

Interactive/Content/Categories/{CategoryCode}/Items

  • Added new fields to AvailabilityPeriods response object
AvailabilityPeriods response object now includes:
  • IsMonday (bool)
  • IsTuesday (bool)
  • IsWednesday (bool)
  • IsThursday (bool)
  • IsFriday (bool)
  • IsSaturday (bool)
  • IsSunday (bool)

Interactive/Content/Items/{Code}

  • Added new fields to AvailabilityPeriods response object
AvailabilityPeriods response object now includes:
  • IsMonday (bool)
  • IsTuesday (bool)
  • IsWednesday (bool)
  • IsThursday (bool)
  • IsFriday (bool)
  • IsSaturday (bool)
  • IsSunday (bool)

Interactive/Outlet/{outletcode}/PlaceNonVerifiedGuestServiceRequest

  • Added new POST Endpoint that creates a new service request for non-verified guests
New POST endpoint that takes in the following properties and creates Service request
  • NumberofGuests - (int) Number of guests
  • Item - (ItemDomainModel) Defines service request modelm including modifiers and comments
  • OrderFormDetailsDictionary - (OrderFormDetails) Order form details
  • deliveryDateTime - (DateTime) Due delivery time
  • isDeliveryDateTimeutc - (bool)
  • deliverLater - (string)
  • deliveryLocationCode - (string) Code for delivery location on outlet
  • deliveryType - (string)
  • sessionToken - (string)

Interactive/Outlet/{outletcode}/PlaceVerifiedGuestServiceRequest

  • Added 'PaymentType' property to the request.
  • Optional
  • Supported values: Open, PaidByCash, PaidByCard, ChargeToRoom.

Interactive/Outlet/{outletcode}/PlaceNonVerifiedGuestServiceRequest

  • Added 'PaymentType' property to the request.
  • Optional
  • Supported values: Open, PaidByCash, PaidByCard, ChargeToRoom.

Interactive/System/Settings/Outlet

  • Added new outlet opening times collection to response.

OutletOpeningTimes collection contains:

  • Day - day of the week enum
  • StartTime - TimeSpan
  • EndTime - TimeSpan

CMS/Content/Sections

CMS/Content/SectionCategoriesItems

  • 'Interactive Content' section types are not returned by endpoint.
  • 'Interactive Content' section types are not returned so that main app menu can be constructed without seeing outlet related menu sections.

GXP 4.25

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Interactive/Outlet/{outletcode}/PlaceVerifiedGuestServiceRequest

  • Added new POST Endpoint that creates a new service request for verified guests
New POST endpoint that takes in the following properties and creates Service request
  • NumberofGuests - (int) Number of guests
  • Item - (ItemDomainModel) Defines service request modelm including modifiers and comments
  • deliveryDateTime - (DateTime) Due delivery time
  • isDeliveryDateTimeutc - (bool)
  • deliverLater - (string)
  • deliveryLocationCode - (string) Code for delivery location on outlet
  • deliveryType - (string)
  • sessionToken - (string)

System/Settings/Outlet

Added two new properties to response Endpoint now returns interval minutes ("intervalTimeMinutes") and lead minutes ("leadTimeMinutes") for the selected outlet.

GXP 4.24

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Interactive/Messages/Conversations

  • Added new POST Endpoint that creates a new conversation with a new message
New POST endpoint that takes in the following properties and returns the newly created conversation
  • message - (string) The initial message in the conversation.
  • conversationType - (string) Defines how conversation is created. Can be either empty or "guest". If "guest" then the guest's name will be used as message creator.
  • outletCode - (string) Outlet this conversation is connected to. Field is optional, but if left empty then the first available outlet will be selected.
  • orderCode - (string) Order this conversation is connected to. Field is optional.

GXP 4.23

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Content/Outlet/{OutletCode}/SectionsCategoriesItems

Content/SectionsCategoriesItems

Content/Categories/{CategoryCode}/Items

  • Added "sortOrder" property to the response.
int

Information/Weather/Forecast

  • Added "current" property to the response.
Current weather details

System/Session/Pin

  • New endpoint
New endpoint that takes in a Pin and compares it to the one stored on the system.
  • guestPinVerified - A match returns true, else a false is returned

Outlet/{outletCode}/PlaceNonVerifiedGuestOrder

  • Removed DeliveryLocationCode (optional) from OrderFormDetails
  • Removed DeliverLater property (required)
Already set in AddItemsToBasket call

Outlet/{outletCode}/PlaceVerifiedGuestOrder

  • Added NoOfGuests
int (optional)

GXP 4.22

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Interactive/Guest/Profile

  • Added "ArrivalDate" property to the response.
  • Added "DepartureDate" property to the response.
Date and time in ISO 8601 format

System/Session/InitialiseByAsset

New end points. Initialise a new session by the asset key

System/Properties/{propertyCode}/Assets

New end points. Get the current asset from the Asset Catalogue

System/Properties/{propertyCode}/Assets/Current

New end points. Get the current asset from the Asset Catalogue

GXP 4.20

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

System/Settings/Property

System/Settings

  • Added "TelephoneNumber" property to the response.
string
  • Added "Timezone" property to the response.
string, IANA TZ format (i.e. "Europe/London")
Outlet/{outletCode}/AddItemsToBasket ***BETA ONLY
  • Added "PosTotalSurcharge" property to the response.
decimal

GXP 4.19

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Content/Outlet/{request.OutletCode}/SectionsCategoriesItems

Content/SectionsCategoriesItems

Content/Content/Categories/{CategoryCode}/Items

Content/Content/Items/{Code}

Response body - for each CategoryItem:
  • Added SpaItemCode property.
  • Added SosItemCode property.

Content/Outlet/{request.OutletCode}/SectionsCategoriesItems

Content/SectionsCategoriesItems

Content/Content/Categories/{CategoryCode}/Items

Content/Content/Items/{Code}

Response body - for each CategoryItemButton:
  • Added File property.
Used by CategoryItemButtons of PDF type

Content/Homepage

Response body - for each Widget:
  • Added DisplayName property.
Used by Widgets of TextArea type only

GXP 4.18

Breaking changes

Endpoint Details Notes
Outlet/{outletCode}/AddItemsToBasket ***BETA ONLY Added DeliveryType on request. Required, Enum. Available values: Collection, Room, DeliveryLocation.
Outlet/{outletCode}/AddItemsToBasket ***BETA ONLY Renamed PosDeliveryCharge to DeliveryCharge on response. -/td>

Non-breaking changes

Endpoint Details Notes
System/Settings/Outlet/{code} Response body: added allowDeliverLater, allowDeliverToRoom, allowCollection Bool
Outlet/{outletCode}/AddItemsToBasket ***BETA ONLY Added DeliveryLocationCode on request. Optional, String.

GXP 4.17

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Outlet/{outletCode}/AddItemsToBasket ***BETA ONLY

Cart/Items

Cart/AddItemsAndCheckout

Added "comments" property for each Order Item Optional, String, 255 character limit

Outlet/{outletCode}/AddItemsToBasket ***BETA ONLY

Cart/Items

Cart/AddItemsAndCheckout

Cart [Get]

Cart/Clear

Returns "comments" property for each Order Item String

Outlet/{request.OutletCode}/PlaceVerifiedGuestOrderAsync ***BETA ONLY

Outlet/{request.OutletCode}/PlaceNonVerifiedGuestOrderAsync ***BETA ONLY

New endpoints. Place a new order for verified or nonverified guests.

Messages/Conversations

Added messageType property for each Message This property exists for every Message and is of type String

GXP 4.16

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Content/Outlet/{OutletCode}/SectionsCategoriesItems ***BETA ONLY

New endpoint Return a list of sections linked to the given outlet
Interactive/Outlet ***BETA ONLY New endpoint Returns a list of Outlets - for each outlet includes the following properties
  • Code
  • Name - the translated value based on the property's language
  • Description - the translated value based on the property's language
  • Delivery Location Area id
  • ImageUrl - linked to the first image added to the outlet

Content/Outlet/{OutletCode}/SectionsCategoriesItems ***BETA ONLY

New Endpoint Returns Sections, Categories and Items linked to the given outlet.

Interactive/Messages/Conversations/{code}/message ***BETA ONLY

New endpoint Be able to add a new message to existing conversation.

Content/Outlet/{request.OutletCode}/SectionsCategoriesItems

Content/SectionsCategoriesItems

Content/Content/Categories/{CategoryCode}/Items

Content/Content/Items/{Code}

Response body - for each CategoryItem:
  • Added IsInStock property.

Content/Sections

Content/SectionsCategoriesItems

Content/Outlet/{OutletCode}/SectionsCategoriesItems

Response body:
  • Added Availability periods collection to a section.

System/Settings/Outlet/{code} - (code optional) ***BETA ONLY

New endpoint
  • Returns settings for the given outlet.
  • If there is no outlet is given, it returns a collection of outlet settings at the property.

GXP 4.15

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Content/Categories/{code}/Items

Content/SectionsCategoriesItems

Response body - for each categoryItem:
  • Added ItemImages (collection) property
  • Marked Images property as obsolete

Content/Items/{code}

Response body:
  • Added ItemImages (collection) property
  • Marked Images property as obsolete

Outlet/{request.OutletCode}/SectionsCategoriesItems

New Endpoint Return data for the Property's Sections, Categories and Items for an outlet

GXP 4.14

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Content/Homepage

Added background images array Returns data for the homepage

Interactive/Order

New endpoint Returns a list of orders for the logged-in guest

System/Session/Initialise

System/Session/InitialiseByRoom

System/Session/InitialiseByToken

Request body:
  • Added optional Version property

GXP 4.13

Breaking changes

None

Non-breaking changes

None

GXP 4.12

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

CMS/Content/{CategoryCode}/Items

CMS/Content/SectionsCategoriesItems

Response body:
  • Added Buttons collection to each CategoryItem

Interactive/Cart/Checkout

Interactive/Cart/AddItemsAndCheckout

Response body:
  • Added code property to each item in the orders collection
Interactive/Messages/Conversations New endpoint
Interactive/ServiceRequests Response body:
  • Added order property
Contains details of the submitted order

GXP 4.11

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

Interactive/Cart/AddItemsAndCheckout

Interactive/Cart/AddItems

Request body:
  • Added PosItemCode property (Optional) for AddCartItem
  • Added PosItemCode property (Optional) for RequestCartItemOption

GXP 4.10

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
CMS/Content/Categories/{CategoryCode}/Items Response body:
  • Added CategoryItem.AnalyticsTag property
  • Added CategoryItem.TemplateTag property
CMS/Content/Homepage New endpoint Contains arrays of 'homepage content' - QuickLaunches and Widgets
CMS/Content/Items/{Code} Response body:
  • Added AnalyticsTag property
  • Added TemplateTag property
CMS/Content/Sections Response body:
  • Added Section.AnalyticsTag property
CMS/Content/Sections/{SectionCode}/Categories Response body: Added Category.AnalyticsTag property (for both Category and Subcategory)
CMS/Content/SectionsCategoriesItems Response body:
  • Added Section.AnalyticsTag property
  • Added Category.AnalyticsTag property (for both Category and Subcategory)
  • Added CategoryItem.AnalyticsTag property
  • Added CategoryItem.TemplateTag property

Interactive/Cart/AddItemsAndCheckout

Interactive/Cart/Checkout

Response body: Added AvailabilityPeriods collection and Code property to each item in UnavailableItems collection ***BETA ONLY

When a checkout fails due to one or more items being unavailable at the specified delivery date / time, the response body shows a list of those unavailable items.

Now, for each unavailable item:

  • its list of availability periods is included
  • a Code property is included (the CategoryItem code)

GXP 4.9

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
All CORS support added Does not apply to non-web clients
CMS/Content/Sections Response body: added Teasers property to Section property
CMS/Content/Sections/{SectionCode}/Categories Response body: added Teasers property to Category property
CMS/Content/SectionsCategoriesItems Response body: added Teasers property to Section / Category properties
Interactive/Guest/Profile Response body: added reservationNumber, checkInDate and checkOutDate properties

GXP 4.8

Breaking changes

None

Non-breaking changes

Endpoint Details Notes

/Interactive/Cart

/Interactive/Cart/Clear

/Interactive/Cart/Items

Response body property marked obsolete: items/HasOnlySingleSelectRequiredModifiersWithNonZeroValues
/Interactive/Order/BillInfo New endpoint
/Interactive/ServiceRequests Added IsDeliveryDateTimeUtc boolean property to request body

Used the same way as in /Cart/AddItemsAndCheckout

Optional - defaults to false

/Interactive/ServiceRequests

Added error:

errorCode: ValidationError, areaError: ServiceUnavailableAtSpecifiedDeliveryTime

Returned when the submitted delivery time does not fall within the available times for the selected service

GXP 4.7

Breaking changes

None

Non-breaking changes

Endpoint Details Notes
/Interactive/Messages Additional request querystring parameters:
  • pageLength (int, nullable)
  • pageNumber (int, default 1)
  • descendingOrder (bool, default false)

The endpoint originally supplied all messages sent to the logged-in guest, in order of the date / time they were sent (with the oldest first)

This functionality is preserved, thanks to the nullable / default nature of the added parameters - ie to get all messages as before, just omit the new parameters