Sales & Events Integration with PMS-CRS Tutorial

Let's get started

If you are looking to build a PMS-CRS integration solution to receive Booking and Guestroom Block information and update Guestroom Blocks, Guestroom Night Patterns and Availability to the AS&EM system, then you have come to the right place.

Primary workflow(s) you need to develop is to get OAuth 2.0 token from AHWS via the Authentication API and use that to retrieve Booking and Guestroom Block information or send Guestroom Block and Guestroom Availability updates to respective API(s). Once you send updates to API(s) for updating AS&EM, the integration will process your request asynchronously and generate the result notification(s) for you (if required).

If you have chosen to receive result notifications, you will need to build another workflow to poll for generated result notification from Amadeus Hospitality Event Notification Service (AHENS) via the Notification Receive API.

Final workflow you need to develop is to commit result notification by calling Notification Commit API once you complete processing of received result notification. If the client system does not send a commit, then according to the retry settings, AHENS will make the result notification reappear in its result notification queue. When the Vendor application next calls the Notification Receive API, the result notification that was not committed will be sent again. This workflow needs to be implemented only if you have chosen to receive result notifications.

Optionally, you can also develop a flow that allows you to create an Activity. Activities are simple reminders (typically related to the Booking) that notify the AS&EM property user when they are logged into the application. An integrating system may want to use the Activity API to assign tasks/actionable items to users for various conditions/workflows (outlining next steps, rectification of data, etc).

How it works

During initial set up with Amadeus Hospitality Web Services (AHWS), you must be registered as a Publisher & Subscriber in Amadeus Hospitality Event Notification Services (AHENS) to exchange updates to resources (Booking, Guestroom Block and Guestroom Availability) and to poll for generated result notification messages.

Once you are registered with AHENS, next step is to get a subscription for the "Sales & Events Integration with PMS-CRS" product.

This subscription will allow you to make calls to any of the Sales & Events Integration with PMS-CRS APIs.

High Level Workflow(s)

The Sales & Events Integration with PMS-CRS APIs are designed to support the following workflow(s):

Obtain an authentication token

  1. You call AHWS Authentication API to request an authentication token.
  2. If necessary, refresh your authentication token by calling the AHWS Authentication API.

Poll for Notifications

  1. With the authentication token received, you can poll for resource update(s) using the Notification API.
    1. Amadeus Hospitality allows integrating systems to be subscribed to multiple entities based on the granularity required by the business process (e.g. Booking, GuestRoomBlock).
    2. The type of the resource returned will be indicated by the “resourceType” property on the Notification received.
    3. Notifications can be received from Amadeus Hospitality by specifying the “locationId” filter (for entities that are location-specific entities, e.g. Booking, GuestRoomBlock).
    4. NOTE: Each notification will contain a link to a complete representation of the resource as it is available with the Amadeus Hospitality Integration tier when the resource is received.
  2. Once you persist the link to retrieve the reference, you are requested to commit the notification using the Commit API using the notification Id.

Retrieving Booking Information from the AS&EM system

  1. Using the authentication token received, you call the Booking GET API to retrieve Booking information using the link received in the Notification.
  2. The Booking JSON received will contain link to fetch the information of the child entities (e.g. Guestroom Block)
    1. Fetching the child entities is optional.
    2. The link to the child entities (e.g. GuestRoomBlocks) will always be present to allow eventual consistency in case GuestRoomBlocks are created at a later date.

Retrieving Guestroom Block Information from the AS&EM system

  1. GuestRoomBlocks can be retrieved in two (2) ways:
    1. Get all GuestRoomBlocks for a Booking:
      1. With the authentication token received, call the Guestroom Block GET by Booking Id API to retrieve Guestroom Block information using the link received in the Booking.
    2. Alternatively, if you received the Guestroom Block notification, you can directly call the Guestroom Block GET by Guestroom Block Id API to retrieve the Guestroom Block information.
  2. Each Guestroom Block will contain a collection of Guestroom Nights.
    1. If there are more Guestroom Nights to be fetched, the message may also contain a link to the Guestroom Nights with a continuation token:
    2. These links can be used to call the Guestroom Night GET API to retrieve Guestroom Night information for a given Guestroom Block.
      1. For each Guestroom Night collection received, please check for the Continuation Token.
    3. If there is, use continuation token you received in the previous response in the next request until you get a response without a continuation token.
  3. NOTE: Each Guestroom Night entry in the response collection is a complete representation of the RoomNight by Guestroom Block, PatternDate and GuestroomType.

Sending a Guestroom Block Group Code & PMS Linked flag updates to AS&EM system

  1. When a GuestRoomBlock is created in AS&EM and is received by the integrating system, the PMS system may want to respond back with an update to the PMS Group Code and/or the PMS Linked flag to indicate “linking” of the AS&EM block with a PMS.
  2. Using the authentication token received, you call the Guestroom Block Integration Data API with Integration Data updates. You will receive a synchronous response indicating whether the payload was accepted for processing or not.
  3. This request will be validated and processed asynchronously. Once request is processed, a result notification will be generated.
  4. You can poll for result notifications by using the Notification API.
  5. Once notifications have been processed and persisted on your end, you will need to commit the result using the Commit API.

Sending a Guestroom Block Update to AS&EM system

  1. Using the authentication token received, you call the Guestroom Block Patch API with Guestroom Block data updates. You will receive a synchronous response indicating whether the payload was accepted for processing or not.
  2. This request will be validated and processed asynchronously. Once request is processed, a result notification will be generated.
  3. You can poll for result notifications by using the Notification API.
  4. Once notifications have been processed and persisted on your end, you will need to commit the result using the Commit API.

Sending a Guestroom Availability to AS&EM system

  1. Using the authentication token received, you call the Guestroom Availability Patch API with Guestroom Availability data updates. You will receive a synchronous response indicating whether the payload was accepted for processing or not.
  2. This request will be validated and processed asynchronously. Once request is processed, a result notification will be generated.
  3. You can poll for result notifications by using the Notification API.
  4. Once notifications have been processed and persisted on your end, you will need to commit the result using the Commit API.

Creating an Activity in the AS&EM system

  1. Activities can be created by the Integrating System in AS&EM to be acted upon by the Booking Sales Manager, Booking Owner or the Default Lead Coordinator.
  2. Using the authentication token received, you call the Activity API. You will receive a synchronous response indicating whether the payload was accepted for processing or not.
  3. This request will be validated and processed asynchronously. Once request is processed, a result notification will be generated (depending upon the configuration).
  4. You can poll for result notifications by using the Notification API.
  5. Once notifications have been processed and persisted on your end, you will need to commit the result using the Commit API.

Committing Notifications

  1. Committing the notifications will prevent replay of the notifications.
  2. Using the authentication token received, you can poll for resource update(s) using the Commit API.
    1. One or more notifications can be committed in a single call using the notification Ids from the notifications received.

AHWS Authentication

AHWS provides an authentication service which allows clients to access all the other APIs. This document outlines the steps a client application would use to interact with all APIs in AHWS. You call AS&EM authentication API to get authentication token.

 

Authenticating in for the first time

To start, you will need to authenticate with AHWS to receive an access token and a refresh token. An application needs the following items in order to interact with the authentication API:

  • client_id - Provided by AS&EM
  • client_secret - Provided by AS&EM
  • password - This is the password of the AS&EM User Not your API Management password
  • username - This is the username of the AS&EM User Not your API Management username

In order to perform the client operations, there are up to three possible actions:

  1. Acquire an access token and a refresh token
  2. Call the service while presenting the access token
  3. Refresh the access token when it expires or becomes invalid

Acquire an access token and a refresh token

In order to acquire a token, you first have to call the Authentication API with a POST request. AS&EM recommends always passing your subscription key as a header attribute in all calls made that require it.

Type: HTTP POST

Request URL

https://api.newmarketinc.com/2.0/OAuth2/AccessToken

Request header example

    Content-Type: application/json
    Ocp-Apim-Subscription-Key: [Your-Subscription-Key]
        

Request body example (JSON)

{                     
	"client_id": "[clientidvalue]",
	"client_secret": "[clientsecretvalue]",
	"grant_type": "password",
	"password": "[passwordvalue]",
	"username": "[usernamevalue]"
}
					

Response body example (JSON)

          
{
"access_token": "1cBZBtY4Nfcrx/PlVf+nmGgiUbZdMPLWM0g4Qh4r5y5KQOoVhshYRNihi4/ja6p+CZ2hNEih2t/YR7UL6pn7iw0QisRDZKD032dSzB70DKiOWREYX+hH+IRphp8E/Ip
DUhDVHr8acEj6TH0sPoHMQr7F06WTbzcCBjomrY8YOcBs1h9pdyFS9nYXb1RARxoicX24QjkRWfjfbXmJvaJ3Rg9kNVGAVIboZWDZ6n176MSazjM0WteAs5UdsmB70qB6HHmzbF5+jmoKcqQ
1UHpjLfqxUvcOO3HyIz71tR04gldO3/e1mfOMSPTeesoAXU3quYcjcGeY2s+gf5jlURnZWosB4xyPtacXwEV0bdL+3ppi+iQRFhiDK0cvbdo/DgkwRzJm0KfJWl31WL9EsHYe2I0jv3xMByo
oIco7LH6DKsYRqW7RAXA5bZX4pFf+aVRCgV6vjXWg5WIUbnAOZnzpPUtMSJIKnEVal63e8+UHS4R9ToEI1bm7wNPxgk9O1Bf4Cw8DlsuQWTuhhXg/mVMeIMZuWlQBUkU3nZYZWtSGCZ+CRIS
BMySgFIMadxF/AVJd9Xo0uy9nck20tlBQRuprssxPd9VZI5GPOCOQkgBTOZGNdanAdVt9emZYYANnYRt5",
"expires_in": 900,
"refresh_token": "GXwOwRlXc54zVafcV8NyscDS1AvIUTHBifQwv8TDZsX3mEq1hEKjoWegwgErlhnJftoTA+FrBwb70Am07kQzD572h+mAbN\/XTMu\/eVHtQ4vwQhp7fkPwyCitAVhMs
GviQjfV4Y8AiQGIAVXPhvBVXzX7RLEds64jtBdGriNbG9twFUFfLIuBEYZuspTs3AIeUrhVjQzP8f5kYMKtir+XH4+ogrdDIMQ4u8YXuc91oseH77tS+8s0qRclDJeGVcysSR2n3gxI6TvsHW
DRI\/AEJ\/Haq\/XE5eoS1QxpDkk+kn5ciAOGd2BY58pgJnd5LwSb\/N1uFEj\/1pB4J5F1oxUt5Ruq68w\/qvVGdWorPyngKyPNKe4DjZ++SyJFbQqN75as6NCEUjdzpU\/7zyXXD5+57Okh
JFAaliraXfAz2jzUD4PW3yeEtQuIIOwL8kmjcsIm10OGfWuvl+6nLo6gg4wF+sY4MWct0Jt\/J6Mog65W4bSed8q5r2QLNrOClEJp+pwAEh9qkbtvDgVTfTJzhDrDvr0U7dyqdQEYqo4lmqGR
BJIC7QhCYN31tbYsJAVAp+UM+0G4bKY6FxlIrB7mKg\/Zm+RvUx4cBVlyuw1UtWzxV3DEwHP4pAoLFEzs6CWkgFECx8a3\/ETd86ivlMcM15Wy0mm9uXoW6Qcr3Y5hrmho\/BU9SKk2Fyq0fY
8r0hhiCGl55TU6rF8yLAEEvIdxSsHEiLynywGUhD6xAhyKYKyzk5wbp\/XzE8eneezEFWuRmUJJ",
"token_type": "bearer"
}
				

The JSON payload in the response body contains 4 elements:

  • access_token – the access token value
  • expires_in – the number of seconds until the token expires
  • token_type – this will always be “bearer”
  • refresh_token – the refresh token value

From the JSON payload, extract the access_token and refresh_token values to use with your requests to the secured service. If you are caching the token for multiple calls, use the expires_in value as the cache expiration.

Call the service while presenting the token

In order to call the service with the token, extract the access_token value from the response and pass it in the Authorization header in your request to the secured service like this OAuth [access_token].

Request header sample


    Content-Type: application/json
    Ocp-Apim-Subscription-Key: [Your-Subscription-Key]
	Authorization: OAuth 1cBZBtY4Nfcrx/PlVf+nmGgiUbZdMPLWM0g4Qh4r5y5KQOoVhshYRNihi4/ja6p+CZ2hNEih2t/YR7UL6pn7iw0QisRDZKD032dSzB70DKiOWREYX+
	hH+IRphp8E/IpDUhDVHr8acEj6TH0sPoHMQr7F06WTbzcCBjomrY8YOcBs1h9pdyFS9n
	YXb1RARxoicX24QjkRWfjfbXmJvaJ3Rg9kNVGAVIboZWDZ6n176MSazjM0WteAs5UdsmB70qB6HHmzbF5+jmoKcqQ1UHpjLfqxUvcOO3HyIz71tR04gldO3/e1mfOMSP
	TeesoAXU3quYcjcGeY2s+gf5jlURnZWosB4xyPtacXwEV0bdL+3ppi+iQRFhiDK0cvbdo/DgkwRz
	Jm0KfJWl31WL9EsHYe2I0jv3xMByooIco7LH6DKsYRqW7RAXA5bZX4pFf+aVRCgV6vjXWg5WIUbnAOZnzpPUtMSJIKnEVal63e8+UHS4R9ToEI
	1bm7wNPxgk9O1Bf4Cw8DlsuQWTuhhXg/mVMeIMZuWlQBUkU3nZYZWtSGCZ
	+CRISBMySgFIMadxF/AVJd9Xo0uy9nck20tlBQRuprssxPd9VZI5GPOCOQkgBTOZGNdanAdVt9emZYYANnYRt5
					

This header should be coupled with a body that meets the requirements of that API you are accessing. With this header, AHWS will allow you access to the products you subscribe to. This access token will expire after the expires_in timeframe is exceeded. At this point you will receive a 403 - Forbidden response from AHWS and will be required to retrieve a new access token.

Http Authorization Headers are an industry standard and adhere to the following format:

Authorization: [type] [credential]

Note that in the header we are specifying an Authorization Type of OAuth and our credential in this case is the access_token from the response payload.

If the refresh token is invalid or expired, you will receive a 403 - Forbidden. In this case, you need to present your full credentials again.

Guestroom Availability API

Summary

Guestroom Availability API provides Patch API to update room availability on existing Guestroom Availability in AS&EM system. This API can be called by using the AHWS Authentication token retrieved from the Authentication API

Definitions

Group Availability This refers to any inventory consumed by Groups that are in AS&EM.
These may be "linked" or unlinked" to the PMS.
Group availability values are updated on the GuestRoomTypeDay (GRTD) record by AS&EM and not by the integration.
Transient Sold This refers to any inventory consumed by Groups that exist on the PMS side, but not in AS&EM.
In other words, if a vendor/partner has a group but does not have an AS&EM ID on it, such groups are Transients.

PATCH API

Product Flow Diagram Guestroom Availability:

API Request

Request URL

Please refer Guestroom Availability API page for more details.

Request Headers
Content-Type* String Media type of the body sent to the API. It should be "application/json" or "application/json-patch+json" for this PATCH request.
Ocp-Apim-Subscription-Key* String Subscription key which provides access to this API.
Authorization* String OAuth 2.0 access token obtained from Authentication API.
Ama-CorrelationId String (Optional) Unique correlationId to track the request. The correlationId should be used for all operations related to the request (e.g. initiating the request, poll for results and committing the request)
Request Body

Guestroom Availability Patch request should contain only required fields which need to be updated in S&C system.

Following fields are required for each Patch API call:

  • Location
  • GuestRoomAbbreviation
  • EffectiveDate
  • RecordStatus
Integrating Systems can choose to update one or more of the following values:
  • OutOfInventory
  • OutOfOrder
  • TransientSold

Rules for a valid resource:

  • At least one of the following attributes - OutOfInventory, OutOfOrder, TransientSold, PMSAdditionalAttributes, PhysicalInventory, ProspectGroupSold, TentativeGroupSold, DefiniteGroupSold must be non-null.
  • The value of the above attributes (mention in Rule 1) can be 0. 0 should not be interpreted as null and vice-versa. Absence of attribute implies NULL.
  • No restrictions are placed on the Effective Date (i.e. any date supplied will be updated).

NOTE: To avoid governor limit issues during the AS&EM availability rollups, we recommend that bulk updates to GuestRoomAvailability be made in batches (30-day, 60-day or 90-day) such that the number of GuestRoomAvailability records per message does not exceed 2000 records.

Following is a sample request body:

Click here to see a sample request payload (JSON) for integrating system to perform a GuestRoom Availability PATCH operation.

[
	{
		"recordStatus": "Active",
		"effectiveDate": "2020-01-01",
		"location": {
			"linkReference": {
				"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
			}
		},
		"guestRoomAbbreviation": "ROH",
		"transientSold": 10
	},
	{
		"recordStatus": "Active",
		"effectiveDate": "2020-01-02",
		"location": {
			"linkReference": {
				"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
			}
		},
		"guestRoomAbbreviation": "ROH",
		"transientSold": 20
	}
]

 

API Response

  1. 202 Accepted

    Response Header
    Ama-CorrelationId String Same CorrelationId that you have sent in request header in "Ama-CorrelationId" parameter.
    If a correlation Id was not supplied in the request header, AHENS will generate a new correlation Id to track this request
    Response Body
    						
    {
      "correlationId": "05ff8323-5def-48a7-994d-77498c28dd33"
    }
    

For all Guestroom Availability API(s) the rest of the responses can be found in "Errors & Troubleshooting" section

Asynchronous Processing Response

This is the asynchronous result response (resourceType = GuestRoomAvailability-Result) generated by the background processors when the request has been processed.

Response Body(Successful processing response)
Click here to see a sample response payload (JSON) returned when the background processing of the GuestRoomAvailability PATCH request is successful.
	

{
	"id": "6214ad24dcc5450001fbab14",
	"eventId": "6214ad24dcc5450001fbab13",
	"pubSubMapId": "1621414_566555_GuestRoomAvailability-Result_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~_4136079_1752516_GuestRoomAvailability-Result_Get_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
	"eventDetail": {
		"resourceId": "XxjGCIO/Qifg/vGcPwAtsWeHmfHJCsjzg9ZORfF4j3U=",
		"resourceType": "GuestRoomAvailability-Result",
		"locationId": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
		"subject": "GuestRoomAvailability-Result",
		"eventData": {
			"meta": {
				"resourceType": "GuestRoomAvailability-Patch",
				"locationId": "a190I000004OUSkQAO"
			}
		},
		"publishedOn": "2022-02-22T09:30:10.662Z"
	},
	"correlationId": "ce53e591-a158-4e75-bb0b-7f574ba7fa43",
	"status": "Received",
	"lastStatusChangeOn": "2022-02-22T10:01:19.357Z",
	"lastSubscribedOn": "2022-02-22T10:01:19.357Z",
	"receivedCount": 1,
	"trackingId": "33031bf8-200d-4f0e-ab65-629dfc9c2523",
	"createdOn": "2022-02-22T09:30:12.325Z",
	"modifiedOn": "2022-02-22T10:01:19.357Z",
	"recordStatus": "Active"
}

                
Response Body(Erroneous processing response)
Click here to see a sample response payload (JSON) returned when the background processing of the GuestRoomAvailability PATCH request fails with an error.
	

{
	"id": "6214b64bc7832c0001f4f64e",
	"eventId": "6214b64bc7832c0001f4f64d",
	"pubSubMapId": "1621414_566555_GuestRoomAvailability-Result_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~_4136079_1752516_GuestRoomAvailability-Result_Get_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
	"eventDetail": {
		"resourceId": "g9cgjVyu8d1b6aa9CRYcdAE2Fl3SxQg2reFX/yvw84k=",
		"resourceType": "GuestRoomAvailability-Result",
		"locationId": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
		"subject": "GuestRoomAvailability-Result",
		"eventData": {
			"meta": {
				"resourceType": "GuestRoomAvailability-Patch",
				"locationId": "a190I000004OUSkQAO"
			},
			"errors": [
				{
					"status": 400,
					"title": "Invalid GuestRoomType(s) received in the message. GuestRoomType(s) UNKNOWNGRT received in the message do not exist in AS&EM or are inactive.",
					"detail": "Invalid GuestRoomType(s) received in the message. GuestRoomType(s) UNKNOWNGRT received in the message do not exist in AS&EM or are inactive."
				}
			]
		},
		"publishedOn": "2022-02-22T10:09:13.936Z"
	},
	"correlationId": "51390d50-2f13-49ea-a300-12f35ba7b53a",
	"status": "Received",
	"lastStatusChangeOn": "2022-02-22T10:14:25.277Z",
	"lastSubscribedOn": "2022-02-22T10:14:25.277Z",
	"receivedCount": 1,
	"trackingId": "886c34a3-22ec-4096-97ee-fcca96e45263",
	"createdOn": "2022-02-22T10:09:15.808Z",
	"modifiedOn": "2022-02-22T10:14:25.277Z",
	"recordStatus": "Active"
}

                

Rate Limits and Usage Quotas

Rate Limits

Limitations for this API are yet to be decided. Once decided, limits will be updated on this page for your reference.

Guestroom Block API

APIs Included

Summary

Guestroom Block APIs allows partner systems and applications to exchange Guestroom Block information from AS&EM system. Guestroom Block APIs supports retrieval & update of Guestroom Block information. These APIs can be called by using the AHWS Authentication token retrieved from the Authentication API

Guestroom Block GET by Booking Id API

The GuestRoomBlock GET API supports retrieval of information for all GuestRoomBlocks associated to an AS&EM Booking by using the Booking identifier specified in the data change notification from Amadeus. If GuestRoomBlocks are not created/available with the Amadeus Platform Services at the time of making the call, no GuestRoomBlocks will be returned.

This API(s) can be called by using the AHWS Authentication token retrieved from the Authentication API.

Product Flow Diagram Guestroom Block GET by Booking Id:

API Request

Request URL

Please refer Guestroom Block GET by Booking Id API page for more details.

Request Headers
Content-Type* String Media type of the body sent to the API. It should be "application/json" for this GET request.
Ocp-Apim-Subscription-Key* String Subscription key which provides access to this API.
Authorization* String OAuth 2.0 access token obtained from Authentication API.
Ama-CorrelationId String (Optional) Unique correlationId to track the request. The correlationId should be used for all operations related to the request (e.g. initiating the request, poll for results and committing the request)
Parameters

The call to the Guestroom Block GET by Booking Id API requires that the integrating system should already have the Booking identifier. This Booking Identifier is already included in the link from the notification.

            https://api.newmarketinc.com/api/ahpguestroomblockservice/{version}/guestroomblocks?bookingIdentifier={bookingIdentifier}
            

API Response

  1. 200 OK

    Response Header
    Ama-CorrelationId String Same CorrelationId that you have sent in request header in "Ama-CorrelationId" parameter.
    If a correlation Id was not supplied in the request header, AHENS will generate a new correlation Id to track this request
    Response Body
    Click here to see a sample response payload (JSON) returned when the integrating system performs a GET Guestroom Block By Booking Id operation.
    
    {
    	"data": [
    		{
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"location": {
    				"name": "AKSQA-NextGen-PMSCRS-Integration",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "AKSQA00NEXTGEN"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "location abbreviation"
    					}
    				]
    			},
    			"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    			"startDate": "2022-01-12",
    			"endDate": "2022-01-17",
    			"status": "Prospect",
    			"isOverrideBookingStatusAllowed": false,
    			"isPickupComplete": false,
    			"isControlledByExternalSystem": false,
    			"cutoffDate": "2021-12-13",
    			"guestRoomNightReference": {
    				"associatedReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~/guestroomnights"
    				}
    			},
    			"sources": [
    				{
    					"role": "OwningUser",
    					"alias": "ar&d",
    					"linkReference": {
    						"id": "fDAwNTBJMDAwMDBBTElwclFBSHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    						"contributingSystemId": {
    							"id": "0050I00000ALIprQAH"
    						}
    					},
    					"label": "Owning User",
    					"fullName": "Amadeus Hospitality R&D",
    					"firstName": "Amadeus Hospitality",
    					"lastName": "R&D",
    					"email": "hospitality.rnd@amadeus.com"
    				}
    			],
    			"setupValues": [
    				{
    					"type": "HousingMethod",
    					"name": "Rooming List",
    					"abbreviation": "ROOMING",
    					"linkReference": {
    						"id": "fGExeTBJMDAwMDAwY3hZRlFBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    						"contributingSystemId": {
    							"id": "a1y0I000000cxYFQAY"
    						}
    					}
    				}
    			],
    			"integrationData": [
    				{
    					"type": "PMS",
    					"data": [
    						{
    							"name": "GroupCode",
    							"value": "GroupCode12345"
    						},
    						{
    							"name": "IsLinkedToPMS",
    							"value": true
    						},
    						{
    							"name": "RateCode",
    							"value": "BULK, CORPORATE"
    						}
    					]
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "OwningUser",
    					"value": "0050I00000ALIprQAH"
    				},
    				{
    					"name": "LastModifiedBy",
    					"value": {
    						"username": "asem.admin@amadeus.com"
    					}
    				}
    			],
    			"billingInstructions": "Room and Tax to Master",
    			"incidentalsBilling": "Incidentals on Own",
    			"mealPlanRatePerPerson": 125,
    			"mealPlanType": "Breakfast, Lunch & Dinner",
    			"isConfidentialRate": true,
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0H0I00000LheUcUAJ",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4595081+00:00",
    			"modifiedOn": "2022-02-17T07:11:02.8562572+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:42:56+00:00",
    			"externalModifiedOn": "2022-02-17T06:58:38+00:00"
    		},
    		{
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"location": {
    				"name": "AKSQA-NextGen-PMSCRS-Integration",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "AKSQA00NEXTGEN"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "location abbreviation"
    					}
    				]
    			},
    			"name": "Annual Sales Kickoff (Americas)- Conference",
    			"startDate": "2022-01-12",
    			"endDate": "2022-01-13",
    			"status": "Prospect",
    			"isOverrideBookingStatusAllowed": false,
    			"isPickupComplete": false,
    			"isControlledByExternalSystem": false,
    			"cutoffDate": "2021-12-13",
    			"guestRoomNightReference": {
    				"associatedReference": {
    					"id": "fGEwSDBJMDAwMDBMaGVVY1VBSHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/fGEwSDBJMDAwMDBMaGVVY1VBSHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~/guestroomnights"
    				}
    			},
    			"sources": [
    				{
    					"role": "OwningUser",
    					"linkReference": {
    						"id": "fDAwNTBJMDAwMDBBTElwclFBSHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    						"contributingSystemId": {
    							"id": "0050I00000ALIprQAH"
    						}
    					},
    					"label": "Owning User",
    					"fullName": "Amadeus Hospitality R&D",
    					"firstName": "Amadeus Hospitality",
    					"lastName": "R&D",
    					"email": "hospitality.rnd@amadeus.com"
    				}
    			],
    			"integrationData": [
    				{
    					"type": "PMS",
    					"data": [
    						{
    							"name": "GroupCode",
    							"value": "GroupCode67890"
    						},
    						{
    							"name": "IsLinkedToPMS",
    							"value": false
    						}
    					]
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "OwnerId",
    					"value": "0050I00000ALIprQAH"
    				}
    			],
    			"id": "fGEwSDBJMDAwMDBMaGVVY1VBSHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/fGEwSDBJMDAwMDBMaGVVY1VBSHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0H0I00000LheUcUAH",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-02-12T06:32:12.3244138+00:00",
    			"modifiedOn": "2021-02-12T06:32:12.3726874+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-12T06:29:08+00:00",
    			"externalModifiedOn": "2021-02-12T06:29:28+00:00"
    		}
    	],
    	"correlationId": "d162ee13-a121-4b4c-a9fb-dd37f4ab39d9"
    }
    
    

Guestroom Block GET by Guestroom Block Id API

The GuestRoomBlock GET API supports retrieval of GuestRoomBlock information by using the GuestRoomBlock identifier specified in the data change notification from Amadeus.

This API(s) can be called by using the AHWS Authentication token retrieved from the Authentication API.

Product Flow Diagram Guestroom Block GET by Guestroom Block Id:

API Request

Request URL

Please refer Guestroom Block GET by Guestroom Block Id API page for more details.

Request Headers
Content-Type* String Media type of the body sent to the API. It should be "application/json" for this GET request.
Ocp-Apim-Subscription-Key* String Subscription key which provides access to this API.
Authorization* String OAuth 2.0 access token obtained from Authentication API.
Ama-CorrelationId String (Optional) Unique correlationId to track the request. The correlationId should be used for all operations related to the request (e.g. initiating the request, poll for results and committing the request)
Parameters

The call to the Guestroom Block GET by Guestroom Block Id API requires that the integrating system should already have the Guestroom Block identifier which is already included in the link from the notification.

            https://api.newmarketinc.com/api/ahpguestroomblockservice/{version}/guestroomblocks/{guestRoomBlockIdentifier}
            

API Response

  1. 200 OK

    Response Header
    Ama-CorrelationId String Same CorrelationId that you have sent in request header in "Ama-CorrelationId" parameter.
    If a correlation Id was not supplied in the request header, AHENS will generate a new correlation Id to track this request
    Response Body
    Click here to see a sample response payload (JSON) returned when the integrating system performs a GET Guestroom Block By Guestroom Block Id operation.
    
    {
    	"data": {
    		"booking": {
    			"name": "Annual Sales Kickoff (Americas)",
    			"linkReference": {
    				"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    				"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    				"contributingSystemId": {
    					"id": "a0L0I00000LfPTvUAN"
    				}
    			},
    			"additionalAttributes": [
    				{
    					"name": "Abbreviation",
    					"value": "Sales Kickoff"
    				}
    			]
    		},
    		"location": {
    			"name": "Portsmouth Resort & Spa",
    			"linkReference": {
    				"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    				"contributingSystemId": {
    					"id": "a190I000004OUSkQAO"
    				}
    			},
    			"additionalAttributes": [
    				{
    					"label": "PMS Location Code",
    					"name": "PropertyCode",
    					"value": "PORTS"
    				},
    				{
    					"label": "Abbreviation",
    					"name": "Abbreviation",
    					"value": "NextGen"
    				}
    			]
    		},
    		"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    		"startDate": "2022-01-12",
    		"endDate": "2022-01-17",
    		"status": "Prospect",
    		"isOverrideBookingStatusAllowed": false,
    		"isPickupComplete": false,
    		"isControlledByExternalSystem": false,
    		"cutoffDate": "2021-12-13",
    		"guestRoomNights": [
    			{
    				"booking": {
    					"linkReference": {
    						"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"location": {
    					"linkReference": {
    						"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ="
    					}
    				},
    				"guestRoomBlock": {
    					"linkReference": {
    						"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"patternDate": "2022-01-12",
    				"guestRoomTypeId": {
    					"id": "a0x0I0000063vNhQAI"
    				},
    				"guestRoomAbbreviation": "KING",
    				"guestRoomName": "KING",
    				"quantity": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 7
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 7
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 7
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					}
    				],
    				"rate": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"rate": 200.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 275.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"rate": 200.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 275.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"rate": 200.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 275.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					}
    				],
    				"id": "fGEwSTBJMDAwMDBudGlUUFVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
    				"contributingSystemId": "a0I0I00000ntiTPUAY",
    				"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    				"currencyCode": "USD",
    				"createdOn": "2021-02-12T06:32:12.5748293+00:00",
    				"modifiedOn": "2021-02-12T06:32:12.574831+00:00",
    				"recordStatus": "Active",
    				"externalCreatedOn": "2021-02-12T06:29:09+00:00",
    				"externalModifiedOn": "2021-02-12T06:29:28+00:00"
    			},
    			{
    				"booking": {
    					"linkReference": {
    						"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"location": {
    					"linkReference": {
    						"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ="
    					}
    				},
    				"guestRoomBlock": {
    					"linkReference": {
    						"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"patternDate": "2022-01-13",
    				"guestRoomTypeId": {
    					"id": "a0x0I0000063vNhQAI"
    				},
    				"guestRoomAbbreviation": "KING",
    				"guestRoomName": "KING",
    				"quantity": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 7
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 7
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 7
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					}
    				],
    				"rate": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"rate": 200.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 275.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"rate": 200.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 275.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"rate": 200.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 275.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					}
    				],
    				"id": "fGEwSTBJMDAwMDBudGlUUVVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
    				"contributingSystemId": "a0I0I00000ntiTQUAY",
    				"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    				"currencyCode": "USD",
    				"createdOn": "2021-02-12T06:32:12.5749132+00:00",
    				"modifiedOn": "2021-02-12T06:32:12.5749134+00:00",
    				"recordStatus": "Active",
    				"externalCreatedOn": "2021-02-12T06:29:09+00:00",
    				"externalModifiedOn": "2021-02-12T06:29:28+00:00"
    			},
    			{
    				"booking": {
    					"linkReference": {
    						"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"location": {
    					"linkReference": {
    						"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ="
    					}
    				},
    				"guestRoomBlock": {
    					"linkReference": {
    						"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"patternDate": "2022-01-14",
    				"guestRoomTypeId": {
    					"id": "a0x0I0000063vNhQAI"
    				},
    				"guestRoomAbbreviation": "KING",
    				"guestRoomName": "KING",
    				"quantity": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 7
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 7
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 7
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					}
    				],
    				"rate": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"rate": 200.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 275.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"rate": 200.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 275.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"rate": 200.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 275.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					}
    				],
    				"id": "fGEwSTBJMDAwMDBudGlUUlVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
    				"contributingSystemId": "a0I0I00000ntiTRUAY",
    				"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    				"currencyCode": "USD",
    				"createdOn": "2021-02-12T06:32:12.5749598+00:00",
    				"modifiedOn": "2021-02-12T06:32:12.5749599+00:00",
    				"recordStatus": "Active",
    				"externalCreatedOn": "2021-02-12T06:29:09+00:00",
    				"externalModifiedOn": "2021-02-12T06:29:28+00:00"
    			},
    			{
    				"booking": {
    					"linkReference": {
    						"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"location": {
    					"linkReference": {
    						"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ="
    					}
    				},
    				"guestRoomBlock": {
    					"linkReference": {
    						"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"patternDate": "2022-01-15",
    				"guestRoomTypeId": {
    					"id": "a0x0I0000063vNhQAI"
    				},
    				"guestRoomAbbreviation": "KING",
    				"guestRoomName": "KING",
    				"quantity": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 15
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 15
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 15
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					}
    				],
    				"rate": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"rate": 225.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 295.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"rate": 225.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 295.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"rate": 225.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 295.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					}
    				],
    				"id": "fGEwSTBJMDAwMDBudGlUU1VBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
    				"contributingSystemId": "a0I0I00000ntiTSUAY",
    				"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    				"currencyCode": "USD",
    				"createdOn": "2021-02-12T06:32:12.5750059+00:00",
    				"modifiedOn": "2021-02-12T06:32:12.5750061+00:00",
    				"recordStatus": "Active",
    				"externalCreatedOn": "2021-02-12T06:29:09+00:00",
    				"externalModifiedOn": "2021-02-12T06:29:28+00:00"
    			},
    			{
    				"booking": {
    					"linkReference": {
    						"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"location": {
    					"linkReference": {
    						"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ="
    					}
    				},
    				"guestRoomBlock": {
    					"linkReference": {
    						"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"patternDate": "2022-01-16",
    				"guestRoomTypeId": {
    					"id": "a0x0I0000063vNhQAI"
    				},
    				"guestRoomAbbreviation": "KING",
    				"guestRoomName": "KING",
    				"quantity": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 15
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 15
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 15
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 10
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 2
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					}
    				],
    				"rate": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"rate": 225.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 295.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"rate": 225.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 295.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"rate": 160.75,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"rate": 225.25,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 295.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 350.5,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					}
    				],
    				"id": "fGEwSTBJMDAwMDBudGlUVFVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
    				"contributingSystemId": "a0I0I00000ntiTTUAY",
    				"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    				"currencyCode": "USD",
    				"createdOn": "2021-02-12T06:32:12.5750517+00:00",
    				"modifiedOn": "2021-02-12T06:32:12.5750519+00:00",
    				"recordStatus": "Active",
    				"externalCreatedOn": "2021-02-12T06:29:09+00:00",
    				"externalModifiedOn": "2021-02-12T06:29:28+00:00"
    			},
    			{
    				"booking": {
    					"linkReference": {
    						"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"location": {
    					"linkReference": {
    						"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ="
    					}
    				},
    				"guestRoomBlock": {
    					"linkReference": {
    						"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"patternDate": "2022-01-12",
    				"guestRoomTypeId": {
    					"id": "a0x0I00000DXYwFQAX"
    				},
    				"guestRoomAbbreviation": "QUEEN",
    				"guestRoomName": "QUEEN",
    				"quantity": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					}
    				],
    				"rate": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					}
    				],
    				"id": "fGEwSTBJMDAwMDBudGlUV1VBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
    				"contributingSystemId": "a0I0I00000ntiTWUAY",
    				"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    				"currencyCode": "USD",
    				"createdOn": "2021-02-12T06:32:12.5750972+00:00",
    				"modifiedOn": "2021-02-12T06:32:12.5750973+00:00",
    				"recordStatus": "Active",
    				"externalCreatedOn": "2021-02-12T06:29:09+00:00",
    				"externalModifiedOn": "2021-02-12T06:29:28+00:00"
    			},
    			{
    				"booking": {
    					"linkReference": {
    						"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"location": {
    					"linkReference": {
    						"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ="
    					}
    				},
    				"guestRoomBlock": {
    					"linkReference": {
    						"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"patternDate": "2022-01-13",
    				"guestRoomTypeId": {
    					"id": "a0x0I00000DXYwFQAX"
    				},
    				"guestRoomAbbreviation": "QUEEN",
    				"guestRoomName": "QUEEN",
    				"quantity": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					}
    				],
    				"rate": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					}
    				],
    				"id": "fGEwSTBJMDAwMDBudGlUWFVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
    				"contributingSystemId": "a0I0I00000ntiTXUAY",
    				"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    				"currencyCode": "USD",
    				"createdOn": "2021-02-12T06:32:12.5751442+00:00",
    				"modifiedOn": "2021-02-12T06:32:12.5751444+00:00",
    				"recordStatus": "Active",
    				"externalCreatedOn": "2021-02-12T06:29:09+00:00",
    				"externalModifiedOn": "2021-02-12T06:29:28+00:00"
    			},
    			{
    				"booking": {
    					"linkReference": {
    						"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"location": {
    					"linkReference": {
    						"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ="
    					}
    				},
    				"guestRoomBlock": {
    					"linkReference": {
    						"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"patternDate": "2022-01-14",
    				"guestRoomTypeId": {
    					"id": "a0x0I00000DXYwFQAX"
    				},
    				"guestRoomAbbreviation": "QUEEN",
    				"guestRoomName": "QUEEN",
    				"quantity": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					}
    				],
    				"rate": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					}
    				],
    				"id": "fGEwSTBJMDAwMDBudGlUWVVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
    				"contributingSystemId": "a0I0I00000ntiTYUAY",
    				"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    				"currencyCode": "USD",
    				"createdOn": "2021-02-12T06:32:12.5751442+00:00",
    				"modifiedOn": "2021-02-12T06:32:12.5751444+00:00",
    				"recordStatus": "Active",
    				"externalCreatedOn": "2021-02-12T06:29:09+00:00",
    				"externalModifiedOn": "2021-02-12T06:29:28+00:00"
    			},
    			{
    				"booking": {
    					"linkReference": {
    						"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"location": {
    					"linkReference": {
    						"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ="
    					}
    				},
    				"guestRoomBlock": {
    					"linkReference": {
    						"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"patternDate": "2022-01-15",
    				"guestRoomTypeId": {
    					"id": "a0x0I00000DXYwFQAX"
    				},
    				"guestRoomAbbreviation": "QUEEN",
    				"guestRoomName": "QUEEN",
    				"quantity": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					}
    				],
    				"rate": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					}
    				],
    				"id": "fGEwSTBJMDAwMDBudGlUWlVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
    				"contributingSystemId": "a0I0I00000ntiTZUAY",
    				"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    				"currencyCode": "USD",
    				"createdOn": "2021-02-12T06:32:12.5752723+00:00",
    				"modifiedOn": "2021-02-12T06:32:12.5752725+00:00",
    				"recordStatus": "Active",
    				"externalCreatedOn": "2021-02-12T06:29:09+00:00",
    				"externalModifiedOn": "2021-02-12T06:29:28+00:00"
    			},
    			{
    				"booking": {
    					"linkReference": {
    						"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"location": {
    					"linkReference": {
    						"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ="
    					}
    				},
    				"guestRoomBlock": {
    					"linkReference": {
    						"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    					}
    				},
    				"patternDate": "2022-01-16",
    				"guestRoomTypeId": {
    					"id": "a0x0I00000DXYwFQAX"
    				},
    				"guestRoomAbbreviation": "QUEEN",
    				"guestRoomName": "QUEEN",
    				"quantity": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 50
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"quantity": 0
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"quantity": 0
    					}
    				],
    				"rate": [
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Agreed",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Blocked",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Single",
    						"rate": 150,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Forecast",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Single",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Double",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Triple",
    						"rate": 0,
    						"isInclusive": false
    					},
    					{
    						"guestRoomBlockDataType": "Pickup",
    						"guestRoomOccupancyType": "Quad",
    						"rate": 0,
    						"isInclusive": false
    					}
    				],
    				"id": "fGEwSTBJMDAwMDBudGlUYVVBSXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
    				"contributingSystemId": "a0I0I00000ntiTaUAI",
    				"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    				"currencyCode": "USD",
    				"createdOn": "2021-02-12T06:32:12.5753214+00:00",
    				"modifiedOn": "2021-02-12T06:32:12.5753216+00:00",
    				"recordStatus": "Active",
    				"externalCreatedOn": "2021-02-12T06:29:09+00:00",
    				"externalModifiedOn": "2021-02-12T06:29:28+00:00"
    			}
    		],
    		"sources": [
    			{
    				"role": "OwningUser",
    				"alias": "ar&d",
    				"linkReference": {
    					"id": "fDAwNTBJMDAwMDBBTElwclFBSHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "0050I00000ALIprQAH"
    					}
    				},
    				"fullName": "Amadeus Hospitality R&D",
    				"firstName": "Amadeus Hospitality",
    				"lastName": "R&D",
    				"email": "hospitality.rnd@amadeus.com"
    			}
    		],
    		"setupValues": [
    			{
    				"type": "HousingMethod",
    				"name": "Rooming List",
    				"abbreviation": "ROOMING",
    				"linkReference": {
    					"id": "fGExeTBJMDAwMDAwY3hZRlFBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a1y0I000000cxYFQAY"
    					}
    				}
    			}
    		],
    		"integrationData": [
    			{
    				"type": "PMS",
    				"data": [
    					{
    						"name": "IsLinkedToPMS",
    						"value": true
    					},
    					{
    						"label": "PMS Group ID",
    						"name": "GroupCode",
    						"value": "GroupCode12345"
    					},
    					{
    						"name": "RateCode",
    						"value": "BULK, CORPORATE"
    					}
    				]
    			}
    		],
    		"additionalAttributes": [
    			{
    				"name": "OwningUser",
    				"value": "0050I00000ALIprQAH"
    			},
    			{
    				"name": "LastModifiedBy",
    				"value": {
    					"username": "hospitality.rnd@amadeus.com"
    				}
    			}
    		],
    		"billingInstructions": "Room and Tax to Master",
    		"incidentalsBilling": "Incidentals on Own",
    		"mealPlanRatePerPerson": 125,
    		"mealPlanType": "Breakfast, Lunch & Dinner",
    		"isConfidentialRate": true,
    		"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    		"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    		"contributingSystemId": "a0H0I00000LheUcUAJ",
    		"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    		"currencyCode": "USD",
    		"createdOn": "2021-10-21T08:08:09.4595081+00:00",
    		"modifiedOn": "2022-02-17T07:11:02.8562572+00:00",
    		"recordStatus": "Active",
    		"externalCreatedOn": "2021-02-09T09:42:56+00:00",
    		"externalModifiedOn": "2022-02-17T06:58:38+00:00"
    	},
    	"correlationId": "29b9390b-c311-4d35-9b8c-cdb05ab0877d"
    }
    
    

Guestroom Nights GET by Guestroom Block Id API

The GuestRoomNights GET API supports retrieval of GuestRoomNight pattern information by using the GuestRoomBlock identifier specified in the data change notification from Amadeus.

Each Guestroom Block will contain a collection of Guestroom Nights. If there are more Guestroom Nights to be fetched, the message may also contain a link to the Guestroom Nights with a continuation token. These links can be used to call the Guestroom Night GET API to retrieve Guestroom Night information for a given Guestroom Block.

NOTE: For each Guestroom Night collection received, please check for the presence of a Continuation Token.

If one is present, use continuation token you received in the previous response in the next request until you get a response without a continuation token.

This API(s) can be called by using the AHWS Authentication token retrieved from the Authentication API.

Product Flow Diagram Guestroom Night GET by Guestroom Block Id:

API Request

Request URL

Please refer Guestroom Nights GET by Guestroom Block Id API page for more details.

Request Headers
Content-Type* String Media type of the body sent to the API. It should be "application/json" for this GET request.
Ocp-Apim-Subscription-Key* String Subscription key which provides access to this API.
Authorization* String OAuth 2.0 access token obtained from Authentication API.
Ama-CorrelationId String (Optional) Unique correlationId to track the request. The correlationId should be used for all operations related to the request (e.g. initiating the request, poll for results and committing the request)
Parameters

The call to the Guestroom Nights GET by Guestroom Block Id API requires that the integrating system should already have the Guestroom Block identifier which is already included in the link from the notification.

            https://api.newmarketinc.com/api/ahpguestroomblockservice/{version}/guestroomblocks/{guestRoomBlockIdentifier}/guestroomnights[?continuationToken]
            

API Response

  1. 200 OK

    Response Header
    Ama-CorrelationId String Same CorrelationId that you have sent in request header in "Ama-CorrelationId" parameter.
    If a correlation Id was not supplied in the request header, AHENS will generate a new correlation Id to track this request
    Response Body
    Click here to see a sample payload (JSON) returned when the integrating system performs a Guestroom Nights GET by Guestroom Block Id operation.
    
    {
    	"data": [
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-12",
    			"guestRoomTypeId": {
    				"id": "a0x0I00000D0mEnQAJ"
    			},
    			"guestRoomAbbreviation": "ROH",
    			"guestRoomName": "Run of House",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I00000D0mEnQAJ"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA3fGEwSTBJMDAwMDBudGlUSVVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTIUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4714099+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.2992073+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:42:58+00:00",
    			"externalModifiedOn": "2021-02-09T11:13:43+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-13",
    			"guestRoomTypeId": {
    				"id": "a0x0I00000D0mEnQAJ"
    			},
    			"guestRoomAbbreviation": "ROH",
    			"guestRoomName": "Run of House",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I00000D0mEnQAJ"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA4fGEwSTBJMDAwMDBudGlUSlVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTJUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4716319+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.299428+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:42:58+00:00",
    			"externalModifiedOn": "2021-02-09T11:13:43+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-14",
    			"guestRoomTypeId": {
    				"id": "a0x0I00000D0mEnQAJ"
    			},
    			"guestRoomAbbreviation": "ROH",
    			"guestRoomName": "Run of House",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I00000D0mEnQAJ"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA5fGEwSTBJMDAwMDBudGlUS1VBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTKUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.471824+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.2996146+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:42:58+00:00",
    			"externalModifiedOn": "2021-02-09T11:13:43+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-15",
    			"guestRoomTypeId": {
    				"id": "a0x0I00000D0mEnQAJ"
    			},
    			"guestRoomAbbreviation": "ROH",
    			"guestRoomName": "Run of House",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I00000D0mEnQAJ"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDBhfGEwSTBJMDAwMDBudGlUTFVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTLUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4720127+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.2997977+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:42:58+00:00",
    			"externalModifiedOn": "2021-02-09T11:13:43+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-16",
    			"guestRoomTypeId": {
    				"id": "a0x0I00000D0mEnQAJ"
    			},
    			"guestRoomAbbreviation": "ROH",
    			"guestRoomName": "Run of House",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I00000D0mEnQAJ"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDBifGEwSTBJMDAwMDBudGlUTVVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTMUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4722857+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.2999823+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:42:58+00:00",
    			"externalModifiedOn": "2021-02-09T11:13:43+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-12",
    			"guestRoomTypeId": {
    				"id": "a0x0I0000063vNhQAI"
    			},
    			"guestRoomAbbreviation": "KING",
    			"guestRoomName": "KING",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 7
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 7
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 7
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 200.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 275.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 200.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 275.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 200.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 275.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I0000063vNhQAI"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDBjfGEwSTBJMDAwMDBudGlUUFVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTPUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4724818+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.300164+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:43:09+00:00",
    			"externalModifiedOn": "2021-02-09T17:28:33+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-13",
    			"guestRoomTypeId": {
    				"id": "a0x0I0000063vNhQAI"
    			},
    			"guestRoomAbbreviation": "KING",
    			"guestRoomName": "KING",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 7
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 7
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 7
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 200.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 275.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 200.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 275.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 200.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 275.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I0000063vNhQAI"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDBkfGEwSTBJMDAwMDBudGlUUVVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTQUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4726876+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.3003505+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:43:09+00:00",
    			"externalModifiedOn": "2021-02-09T17:28:33+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-14",
    			"guestRoomTypeId": {
    				"id": "a0x0I0000063vNhQAI"
    			},
    			"guestRoomAbbreviation": "KING",
    			"guestRoomName": "KING",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 7
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 7
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 7
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 200.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 275.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 200.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 275.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 200.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 275.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I0000063vNhQAI"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDBlfGEwSTBJMDAwMDBudGlUUlVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTRUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4728706+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.3005332+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:43:09+00:00",
    			"externalModifiedOn": "2021-02-09T17:28:33+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-15",
    			"guestRoomTypeId": {
    				"id": "a0x0I0000063vNhQAI"
    			},
    			"guestRoomAbbreviation": "KING",
    			"guestRoomName": "KING",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 15
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 15
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 15
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 225.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 295.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 225.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 295.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 225.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 295.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I0000063vNhQAI"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDBmfGEwSTBJMDAwMDBudGlUU1VBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTSUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4730935+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.3007184+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:43:09+00:00",
    			"externalModifiedOn": "2021-06-07T06:11:30+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-16",
    			"guestRoomTypeId": {
    				"id": "a0x0I0000063vNhQAI"
    			},
    			"guestRoomAbbreviation": "KING",
    			"guestRoomName": "KING",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 15
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 15
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 15
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 10
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 2
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 225.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 295.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 225.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 295.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 160.75,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 225.25,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 295.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 350.5,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I0000063vNhQAI"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDEwfGEwSTBJMDAwMDBudGlUVFVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTTUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4732856+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.3009254+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:43:09+00:00",
    			"externalModifiedOn": "2021-02-09T17:28:33+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-12",
    			"guestRoomTypeId": {
    				"id": "a0x0I00000DXYwFQAX"
    			},
    			"guestRoomAbbreviation": "QUEEN1",
    			"guestRoomName": "QUEEN1",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I00000DXYwFQAX"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDExfGEwSTBJMDAwMDBudGlUV1VBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTWUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4734908+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.3011097+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:43:17+00:00",
    			"externalModifiedOn": "2021-02-09T17:28:33+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-13",
    			"guestRoomTypeId": {
    				"id": "a0x0I00000DXYwFQAX"
    			},
    			"guestRoomAbbreviation": "QUEEN1",
    			"guestRoomName": "QUEEN1",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I00000DXYwFQAX"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDEyfGEwSTBJMDAwMDBudGlUWFVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTXUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4737287+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.3012931+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:43:17+00:00",
    			"externalModifiedOn": "2021-02-09T17:28:33+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-14",
    			"guestRoomTypeId": {
    				"id": "a0x0I00000DXYwFQAX"
    			},
    			"guestRoomAbbreviation": "QUEEN1",
    			"guestRoomName": "QUEEN1",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I00000DXYwFQAX"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDEzfGEwSTBJMDAwMDBudGlUWVVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTYUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4739186+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.3014741+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:43:17+00:00",
    			"externalModifiedOn": "2021-02-09T17:28:33+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-15",
    			"guestRoomTypeId": {
    				"id": "a0x0I00000DXYwFQAX"
    			},
    			"guestRoomAbbreviation": "QUEEN1",
    			"guestRoomName": "QUEEN1",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I00000DXYwFQAX"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDE0fGEwSTBJMDAwMDBudGlUWlVBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTZUAY",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4741056+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.301657+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:43:17+00:00",
    			"externalModifiedOn": "2021-02-09T17:28:33+00:00"
    		},
    		{
    			"location": {
    				"name": "Portsmouth Resort & Spa",
    				"linkReference": {
    					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a190I000004OUSkQAO"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "PMS Location Code",
    						"name": "PropertyCode",
    						"value": "PORTS"
    					},
    					{
    						"label": "Abbreviation",
    						"name": "Abbreviation",
    						"value": "NextGen"
    					}
    				]
    			},
    			"booking": {
    				"name": "Annual Sales Kickoff (Americas)",
    				"linkReference": {
    					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0L0I00000LfPTvUAN"
    					}
    				}
    			},
    			"guestRoomBlock": {
    				"name": "Annual Sales Kickoff (Americas)- Delegates Stay",
    				"linkReference": {
    					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a0H0I00000LheUcUAJ"
    					}
    				}
    			},
    			"patternDate": "2022-01-16",
    			"guestRoomTypeId": {
    				"id": "a0x0I00000DXYwFQAX"
    			},
    			"guestRoomAbbreviation": "QUEEN1",
    			"guestRoomName": "QUEEN1",
    			"quantity": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 50
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"quantity": 0
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"quantity": 0
    				}
    			],
    			"rate": [
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Agreed",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Blocked",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Single",
    					"rate": 150,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Forecast",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Single",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Double",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Triple",
    					"rate": 0,
    					"isInclusive": false
    				},
    				{
    					"guestRoomBlockDataType": "Pickup",
    					"guestRoomOccupancyType": "Quad",
    					"rate": 0,
    					"isInclusive": false
    				}
    			],
    			"additionalAttributes": [
    				{
    					"name": "Id",
    					"value": "a0x0I00000DXYwFQAX"
    				}
    			],
    			"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDE1fGEwSTBJMDAwMDBudGlUYVVBSXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    			"contributingSystemId": "a0I0I00000ntiTaUAI",
    			"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    			"currencyCode": "USD",
    			"createdOn": "2021-10-21T08:08:09.4743264+00:00",
    			"modifiedOn": "2022-02-09T10:31:12.3018381+00:00",
    			"recordStatus": "Active",
    			"externalCreatedOn": "2021-02-09T09:43:17+00:00",
    			"externalModifiedOn": "2021-02-09T17:28:33+00:00"
    		}
    	],
    	"correlationId": "06d5f874-a365-47ac-ba41-fd6e474e9efe"
    }
                        

PATCH API

Guestroom Block PATCH API provides a Patch API to update room quantity & rate on existing Guestroom Blocks in AS&EM. The API supports partial updates to the pattern by GuestRoomType by Pattern Date by Occupancy (Single/Double/Triple/Quad) by Category (Agreed/Blocked/Forecast/Pickup).

This API can be called by using the AHWS Authentication token retrieved from the Authentication API.

Product Flow Diagram Guestroom Block PATCH:

API Request

Request URL

Please refer Guestroom Block API page for more details.

Request Headers
Content-Type* String Media type of the body sent to the API. It should be "application/json" or "application/json-patch+json" for this PATCH request.
Ocp-Apim-Subscription-Key* String Subscription key which provides access to this API.
Authorization* String OAuth 2.0 access token obtained from Authentication API.
Ama-CorrelationId String (Optional) Unique correlationId to track the request. The correlationId should be used for all operations related to the request (e.g. initiating the request, poll for results and committing the request)
Parameters

The call to the Guestroom Block Patch API requires that the integrating system should already have the Guestroom Block identifier which is already included in the link from the notification.

            https://api.newmarketinc.com/api/ahpguestroomblockservice/{version}/guestroomblocks/{guestRoomBlockIdentifier}
            
Request Body

Guestroom Block Patch request should contain only required fields which need to be updated in S&C system.

Following fields are required for each Patch API call:

  • LocationId/Location
  • BookingId/Booking
  • StartDate
  • EndDate
  • RecordStatus

NOTE: To avoid governor limit issues during the AS&EM revenue rollups from the GuestRoomBlock to the Booking, we recommend patching no more than 700 guestroom nights in a single PATCH API call.

Click here to see a sample request payload (JSON) for integrating system to perform a Guestroom Block PATCH operation.

{
	"recordStatus": "Active",
	"booking": {
		"linkReference": {
			"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
		}
	},
	"location": {
		"linkReference": {
			"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
		}
	},
	"startDate": "2022-01-12",
	"endDate": "2022-01-17",
	"integrationData": [
		{
			"type": "PMS",
			"data": [
				{
					"name": "GroupCode",
					"value": "GroupCode12345"
				}
			]
		}
	],
	"guestRoomNights": [
		{
			"booking": {
				"linkReference": {
					"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
				}
			},
			"location": {
				"linkReference": {
					"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
				}
			},
			"guestRoomBlock": {
				"linkReference": {
					"id": "NjE3MTFmZWRlZDM0NzgwNDExMDAzMDA2fGEwSDBJMDAwMDBMaGVVY1VBSnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
				}
			},
			"patternDate": "2022-01-15",
			"guestRoomAbbreviation": "KING",
			"quantity": [
				{
					"guestRoomBlockDataType": "Blocked",
					"guestRoomOccupancyType": "Single",
					"quantity": 11
				},
				{
					"guestRoomBlockDataType": "Blocked",
					"guestRoomOccupancyType": "Double",
					"quantity": 7
				},
				{
					"guestRoomBlockDataType": "Blocked",
					"guestRoomOccupancyType": "Triple",
					"quantity": 2
				},
				{
					"guestRoomBlockDataType": "Blocked",
					"guestRoomOccupancyType": "Quad",
					"quantity": 2
				},
				{
					"guestRoomBlockDataType": "Pickup",
					"guestRoomOccupancyType": "Single",
					"quantity": 11
				},
				{
					"guestRoomBlockDataType": "Pickup",
					"guestRoomOccupancyType": "Double",
					"quantity": 7
				},
				{
					"guestRoomBlockDataType": "Pickup",
					"guestRoomOccupancyType": "Triple",
					"quantity": 2
				},
				{
					"guestRoomBlockDataType": "Pickup",
					"guestRoomOccupancyType": "Quad",
					"quantity": 2
				}
			],
			"rate": [
				{
					"guestRoomBlockDataType": "Pickup",
					"guestRoomOccupancyType": "Single",
					"rate": 160.75
				},
				{
					"guestRoomBlockDataType": "Pickup",
					"guestRoomOccupancyType": "Double",
					"rate": 200.25
				},
				{
					"guestRoomBlockDataType": "Pickup",
					"guestRoomOccupancyType": "Triple",
					"rate": 275.5
				},
				{
					"guestRoomBlockDataType": "Pickup",
					"guestRoomOccupancyType": "Quad",
					"rate": 350.5
				}
			]
		}
	]
}

    

API Response

  1. 202 Accepted

    Response Header
    Ama-CorrelationId String Same CorrelationId that you have sent in request header in "Ama-CorrelationId" parameter.
    If a correlation Id was not supplied in the request header, AHENS will generate a new correlation Id to track this request
    Response Body
    						
    {
      "correlationId": "a92027d6-a6ea-4729-9b89-4065d9c095ef"
    }
    


Asynchronous Processing Response

This is the asynchronous result response (resourceType = GuestRoomBlock-Result) generated by the background processors when the request has been processed.

Response Body(Successful processing response)
Click here to see a sample response payload (JSON) returned when the background processing of the GuestRoomBlock PATCH request is successfull.
	

{
    "id": "620f93e0dcc5450001fbaa6e",
    "eventId": "620f93e0dcc5450001fbaa6d",
    "pubSubMapId": "1621414_566555_GuestRoomBlock-Result_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~_4136079_1752516_GuestRoomBlock-Result_Get_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    "eventDetail": {
      "resourceId": "NjE0MGVkYzVkZDBjOTJhZTVkZDU2MGE3fGEwSDBJMDAwMDBSUldmRFVBWHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
      "resourceType": "GuestRoomBlock-Result",
      "locationId": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
      "subject": "GuestRoomBlock-Result",
      "eventData": {
        "meta": {
          "id": "NjE0MGVkYzVkZDBjOTJhZTVkZDU2MGE3fGEwSDBJMDAwMDBSUldmRFVBWHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
          "href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE0MGVkYzVkZDBjOTJhZTVkZDU2MGE3fGEwSDBJMDAwMDBSUldmRFVBWHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=?includeGuestRoomNights=true"
        }
      },
      "publishedOn": "2022-02-18T12:41:02.874Z"
    },
    "correlationId": "7185bf93-35b0-445c-9a9c-0cdddf209729",
    "status": "Received",
    "lastStatusChangeOn": "2022-02-18T13:00:37.218Z",
    "lastSubscribedOn": "2022-02-18T13:00:37.218Z",
    "receivedCount": 1,
    "trackingId": "590dbc4b-49e1-47aa-96aa-a6203e6749fc",
    "createdOn": "2022-02-18T12:41:04.417Z",
    "modifiedOn": "2022-02-18T13:00:37.218Z",
    "recordStatus": "Active"
  }

                
Response Body(Erroneous processing response)
Click here to see a sample response payload (JSON) returned when the background processing of the GuestRoomBlock PATCH request fails with an error.
	

{
	"id": "620f9c40c7832c0001f4f5b1",
	"eventId": "620f9c40c7832c0001f4f5b0",
	"pubSubMapId": "1621414_566555_GuestRoomBlock-Result_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~_4136079_1752516_GuestRoomBlock-Result_Get_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
	"eventDetail": {
		"resourceId": "NjE0MGVkYzVkZDBjOTJhZTVkZDU2MGE3fGEwSDBJMDAwMDBSUldmRFVBWHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
		"resourceType": "GuestRoomBlock-Result",
		"locationId": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
		"subject": "GuestRoomBlock-Result",
		"eventData": {
			"meta": {
				"id": "NjE0MGVkYzVkZDBjOTJhZTVkZDU2MGE3fGEwSDBJMDAwMDBSUldmRFVBWHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
				"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE0MGVkYzVkZDBjOTJhZTVkZDU2MGE3fGEwSDBJMDAwMDBSUldmRFVBWHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=?includeGuestRoomNights=true"
			},
			"errors": [
				{
					"status": 400,
					"title": "GuestRoomType(s) UNKNOWNGRT received in the message do not exist in ASEM or are inactive.",
					"detail": "GuestRoomType(s) UNKNOWNGRT received in the message do not exist in ASEM or are inactive.",
					"source": {
						"pointer": "/data/GuestRoomBlock/GuestRoomNight/GuestRoomAbbreviation"
					}
				}
			]
		},
		"publishedOn": "2022-02-18T13:16:46.582Z"
	},
	"correlationId": "2c9793e8-a456-4ffa-8829-5cadddd8f6c8",
	"status": "Received",
	"lastStatusChangeOn": "2022-02-18T13:20:12.753Z",
	"lastSubscribedOn": "2022-02-18T13:20:12.753Z",
	"receivedCount": 1,
	"trackingId": "86099900-b324-4110-8164-47405fc634f6",
	"createdOn": "2022-02-18T13:16:48.377Z",
	"modifiedOn": "2022-02-18T13:20:12.753Z",
	"recordStatus": "Active"
}

                

Guestroom Block IntegrationData GET by Guestroom Block Id API

Guestroom Block Integration Data GET API provides a way for integrating systems to retrieve the Integration Data associated to a GuestRoomBlock by the GuestRoomBlockId for a particular Integration Type.

This API can be called by using the AHWS Authentication token retrieved from the Authentication API.

Product Flow Diagram Guestroom IntegrationData Block GET by Guestroom Block Id:

API Request

Request URL

Please refer Guestroom Block IntegrationData GET by Guestroom Block Id API page for more details.

Request Headers
Content-Type* String Media type of the body sent to the API. It should be "application/json" for this GET request.
Ocp-Apim-Subscription-Key* String Subscription key which provides access to this API.
Authorization* String OAuth 2.0 access token obtained from Authentication API.
Ama-CorrelationId String (Optional) Unique correlationId to track the request. The correlationId should be used for all operations related to the request (e.g. initiating the request, poll for results and committing the request)
Parameters

The call to the Guestroom Block IntegrationData GET by Guestroom Block Id API requires that the integrating system should already have the Guestroom Block identifier which is already included in the link from the data change notification. The integrationType is an optional parameter allowing users to choose the integration for which they want to retrieve the Integration Data. By default, the API will return IntegrationData for all Integration Types if an input is not supplied.

https://api.newmarketinc.com/api/ahpguestroomblockservice/{version}/guestroomblocks/{guestRoomBlockIdentifier}/integrationdata[?integrationType={integrationType}]
					

API Response

  1. 200 OK

    Response Header
    Ama-CorrelationId String Same CorrelationId that you have sent in request header in "Ama-CorrelationId" parameter.
    If a correlation Id was not supplied in the request header, AHENS will generate a new correlation Id to track this request
    Response Body
    Click here to see a sample response payload (JSON) returned when the integrating system performs a GET Guestroom Block IntegrationData By Guestroom Block Id operation.
    
    {
    	"data": {
    		"guestRoomBlock": {
    			"contributingSystemId": {
    				"id": "a0I1R00000fOyeQUASNew",
    				"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d"
    			}
    		},
    		"location": {
    			"contributingSystemId": {
    				"id": "a190I000004OUSkQAO"
    			}
    		},
    		"booking": {
    			"contributingSystemId": {
    				"id": "a0L0I00000JU0fmUAD"
    			}
    		},
    		"integrationData": [
    			{
    				"type": "PMS",
    				"data": [
    					{
    						"name": "GroupCode",
    						"value": "TB1"
    					},
    					{
    						"name": "IsLinkedToPMS",
    						"value": false
    					}
    				]
    			}
    		]
    	},
    	"correlationId": "1bbadbeb-5f78-46f9-9688-51a01393234b"
    }
    
    		

IntegrationData POST API

Guestroom Block IntegrationData POST API provides a POST API to update IntegrationData on existing Guestroom Block in S&C system. This API can be used to update an AS&EM GuestRoomBlock with a Group Code generated by the PMSCRS system and/or update the “link” status of the GuestRoomBlock.

This API can be called by using the AHWS Authentication token retrieved from the Authentication API

Product Flow Diagram Guestroom Block IntegrationData POST:

API Request

Request URL

Please refer Guestroom Block IntegrationData API page for more details.

Request Headers
Content-Type* String Media type of the body sent to the API. It should be "application/json" for this POST request.
Ocp-Apim-Subscription-Key* String Subscription key which provides access to this API.
Authorization* String OAuth 2.0 access token obtained from Authentication API.
Ama-CorrelationId String (Optional) Unique correlationId to track the request. The correlationId should be used for all operations related to the request (e.g. initiating the request, poll for results and committing the request)
Parameters

The call to the Guestroom Block IntegrationData POST API requires that the integrating system should already have the Guestroom Block identifier which is already included in the link from the notification.

https://api.newmarketinc.com/api/ahpguestroomblockservice/{version}/guestroomblocks/{guestRoomBlockIdentifier}/integrationdata
				
Request Body

Guestroom Block IntegrationData POST request should contain only required fields which need to be updated in S&C system.

Following fields are required for each POST API call:

  • Type (*currently, type = "PMS")
  • Data
  • Data -> Name
  • Data -> Value

Click here to see a sample request payload (JSON) for integrating system to perform a Guestroom Block IntegrationData POST operation.

{
	"type": "PMS",
	"data": [
		{
			"name": "GroupCode",
			"value": "TB1"
		},
		{
			"name": "IsLinkedToPMS",
			"value": false
		}
	]
}

		

API Response

  1. 202 Accepted

    Response Header
    Ama-CorrelationId String Same CorrelationId that you have sent in request header in "Ama-CorrelationId" parameter.
    If a correlation Id was not supplied in the request header, AHENS will generate a new correlation Id to track this request
    Response Body
    						
    {
      "correlationId": "a92027d6-a6ea-4729-9b89-4065d9c095ef"
    }
    	


Asynchronous Processing Response

This is the asynchronous result response (resourceType = GuestRoomBlock-Result) generated by the background processors when the request has been processed.

Response Body(Successful processing response)
Click here to see a sample response payload (JSON) returned when the background processing of the GuestRoomBlock Integration Data POST request is successful.
	

{
	"id": "62132933c7832c0001f4f5fe",
	"eventId": "62132930c7832c0001f4f5fd",
	"pubSubMapId": "1621414_566555_GuestRoomBlock-Result_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~_4136079_1752516_GuestRoomBlock-Result_Get_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
	"eventDetail": {
		"resourceId": "NjE0MGVkYzVkZDBjOTJhZTVkZDU2MGE3fGEwSDBJMDAwMDBSUldmRFVBWHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
		"resourceType": "GuestRoomBlock-Result",
		"locationId": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
		"subject": "GuestRoomBlock-IntegrationData-Result",
		"eventData": {
			"meta": {
				"id": "NjE0MGVkYzVkZDBjOTJhZTVkZDU2MGE3fGEwSDBJMDAwMDBSUldmRFVBWHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
				"href": "https://api-qa.amadeus-hospitality.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE0MGVkYzVkZDBjOTJhZTVkZDU2MGE3fGEwSDBJMDAwMDBSUldmRFVBWHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=/integrationData"
			}
		},
		"publishedOn": "2022-02-21T05:54:54.54Z"
	},
	"correlationId": "e94a2876-cc54-43f1-b36d-1a76730755dd",
	"status": "Received",
	"lastStatusChangeOn": "2022-02-21T05:59:58.335Z",
	"lastSubscribedOn": "2022-02-21T05:59:58.335Z",
	"receivedCount": 1,
	"trackingId": "fd991d4d-2922-4d32-acfd-e38a12cbb532",
	"createdOn": "2022-02-21T05:54:59.2Z",
	"modifiedOn": "2022-02-21T05:59:58.335Z",
	"recordStatus": "Active"
}

                
Response Body(Erroneous processing response)
Click here to see a sample response payload (JSON) returned when the background processing of the GuestRoomBlock Integration Data POST request fails with an error.
	

{
	"id": "62134a77c7832c0001f4f60e",
	"eventId": "62134a77c7832c0001f4f60d",
	"pubSubMapId": "1621414_566555_GuestRoomBlock-Result_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~_4136079_1752516_GuestRoomBlock-Result_Get_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
	"eventDetail": {
		"resourceId": "NjE0MGVkYzVkZDBjOTJhZTVkZDU2MGE3fGEwSDBJMDAwMDBSUldmRFVBWHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
		"resourceType": "GuestRoomBlock-Result",
		"locationId": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
		"subject": "GuestRoomBlock-IntegrationData-Result",
		"eventData": {
			"meta": {
				"id": "NjE0MGVkYzVkZDBjOTJhZTVkZDU2MGE3fGEwSDBJMDAwMDBSUldmRFVBWHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=",
				"href": "https://api-qa.amadeus-hospitality.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks/NjE0MGVkYzVkZDBjOTJhZTVkZDU2MGE3fGEwSDBJMDAwMDBSUldmRFVBWHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ=/integrationData"
			},
			"errors": [
				{
					"status": 400,
					"title": "AS&EM GuestRoomBlock was not updated with the LinkedToPMS flag supplied in the message because a valid Group Code is required on the message () or must already exist on the AS&EM GuestRoomBlock ()",
					"detail": "AS&EM GuestRoomBlock was not updated with the LinkedToPMS flag supplied in the message because a valid Group Code is required on the message () or must already exist on the AS&EM GuestRoomBlock ()",
					"source": {
						"pointer": "/data/GuestRoomBlock/IsLinkedToPMS"
					}
				}
			]
		},
		"publishedOn": "2022-02-21T08:16:54.088Z"
	},
	"correlationId": "d6b071a2-8b49-4f48-929c-3099180279a3",
	"status": "Received",
	"lastStatusChangeOn": "2022-02-21T08:21:59.57Z",
	"lastSubscribedOn": "2022-02-21T08:21:59.57Z",
	"receivedCount": 1,
	"trackingId": "8c5acca8-25f5-4bb8-9592-53c403a8f99d",
	"createdOn": "2022-02-21T08:16:55.585Z",
	"modifiedOn": "2022-02-21T08:21:59.57Z",
	"recordStatus": "Active"
}

                

For all Guestroom Block API(s) the rest of the responses can be found in "Errors & Troubleshooting" section

Rate Limits and Usage Quotas

Rate Limits

Limitations for this API are yet to be decided. Once decided, limits will be updated on this page for your reference.

Booking API

APIs Included

Summary

Booking API allows partner systems and applications to exchange Booking information from AS&EM system. The Booking API supports retrieval of Booking information. This API(s) can be called by using the AHWS Authentication token retrieved from the Authentication API

GET API

The Booking GET API supports retrieval of Booking information using the Booking identifier specified in the data change notification from Amadeus. This API(s) can be called by using the AHWS Authentication token retrieved from the Authentication API.

Product Flow Diagram Booking API:

API Request

Request URL

Please refer Booking API page for more details.

Request Headers
Content-Type* String Media type of the response to be received by the API. It should be "application/json" for this GET request.
Ocp-Apim-Subscription-Key* String Subscription key which provides access to this API.
Authorization* String OAuth 2.0 access token obtained from Authentication API.
Ama-CorrelationId String (Optional) Unique correlationId to track the request. The correlationId should be used for all operations related to the request (e.g. initiating the request, poll for results and committing the request)
Parameters

The call to the Booking GET API requires that the integrating system should already have the Booking identifier which is already included in the link from the notification.

                https://api.newmarketinc.com/api/bookingservice/{version}/bookings/{bookingIdentifier}
            

API Response

This is the response generated by the API when the request is processed successfully.

  1. 200 OK

    Response Header
    Ama-CorrelationId String Same CorrelationId that you have sent in request header in "Ama-CorrelationId" parameter.
    If a correlation Id was not supplied in the request header, AHENS will generate a new correlation Id to track this request
    Response Body
    Click here to see a sample response payload (JSON) returned when the integrating system performs a GET Booking By Booking Id operation.
    	
    
    {
    	"data": {
    		"name": "Annual Sales Kickoff (Americas)",
    		"abbreviation": "Sales Kickoff",
    		"arrivalDate": "2022-01-12",
    		"departureDate": "2022-01-17",
    		"status": "Prospect",
    		"decisionDueDate": "2021-02-23",
    		"cutOffDate": "2021-12-13",
    		"bookedDate": "2021-02-09",
    		"statusChangeDate": "2021-02-09",
    		"location": {
    			"name": "Portsmouth Resort & Spa",
    			"linkReference": {
    				"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    				"contributingSystemId": {
    					"id": "a190I000004OUSkQAO"
    				}
    			},
    			"additionalAttributes": [
    				{
    					"name": "Abbreviation",
    					"value": "NextGen"
    				},
    				{
    					"name": "PropertyCode",
    					"value": "PORTRS"
    				}
    			]
    		},
    		"revenueType": "Banquet",
    		"organizations": [
    			{
    				"role": "Account",
    				"name": "Amadeus Hospitality America, Inc.",
    				"linkReference": {
    					"id": "fDAwMTBJMDAwMDJVQkxMMFFBUHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "0010I00002UBLL0QAP"
    					}
    				}
    			},
    			{
    				"role": "Agency",
    				"name": "Amadeus Hospitality Americas, Inc",
    				"linkReference": {
    					"id": "fDAwMTI4MDAwMDFUOE9CaEFBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "0012800001T8OBhAAN"
    					}
    				}
    			}
    		],
    		"persons": [
    			{
    				"role": "Agent",
    				"linkReference": {
    					"id": "fDAwMzBJMDAwMDJNOWMwQVFBUnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "0030I00002M9c0AQAR"
    					}
    				},
    				"label": "Booking Agent",
    				"fullName": "Amadeus Hospitality Technical Support",
    				"firstName": "Amadeus Hospitality",
    				"lastName": "Technical Support",
    				"email": "hospitality.support@amadeus.com",
    				"phone": "888-829-8871"
    			},
    			{
    				"role": "Contact",
    				"linkReference": {
    					"id": "fDAwMzBJMDAwMDJNOWMwQVFBUnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "0030I00002M9c0AQAR"
    					}
    				},
    				"label": "Booking Contact",
    				"fullName": "Amadeus Hospitality Technical Support",
    				"firstName": "Amadeus Hospitality",
    				"lastName": "Technical Support",
    				"email": "hospitality.support@amadeus.com",
    				"phone": "888-829-8871"
    			}
    		],
    		"sources": [
    			{
    				"role": "OwningUser",
    				"alias": "ar&d",
    				"linkReference": {
    					"id": "fDAwNTBJMDAwMDBBTElwclFBSHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "0050I00000ALIprQAH"
    					}
    				},
    				"label": "Owning User",
    				"firstName": "Amadeus Hospitality",
    				"lastName": "R&D",
    				"email": "hospitality.rd@amadeus.com"
    			},
    			{
    				"role": "AdditionalSalesManager",
    				"alias": "SALESA",
    				"linkReference": {
    					"id": "fDAwNTBJMDAwMDBBTElxMVFBSHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "0050I00000ALIq1QAH"
    					}
    				},
    				"label": "Additional Sales Manager",
    				"fullName": "Sales Assistant",
    				"firstName": "Sales",
    				"lastName": "Assistant",
    				"email": "sales.assistant@amadeus.com"
    			},
    			{
    				"role": "OtherManager",
    				"alias": "BCAPT",
    				"linkReference": {
    					"id": "fDAwNTBJMDAwMDBBTElxNlFBSHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "0050I00000ALIq6QAH"
    					}
    				},
    				"label": "Other Manager",
    				"firstName": "Banquet",
    				"lastName": "Captain",
    				"email": "banquet.captain@amadeus.com"
    			},
    			{
    				"role": "ServiceAssistant",
    				"alias": "SERVA",
    				"linkReference": {
    					"id": "fDAwNTBJMDAwMDBBTElwd1FBSHxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "0050I00000ALIpwQAH"
    					}
    				},
    				"label": "Service Assistant",
    				"firstName": "Service",
    				"lastName": "Assistant",
    				"email": "service.assistant@amadeus.com"
    			},
    			{
    				"role": "ServiceManager",
    				"alias": "BSMGR",
    				"linkReference": {
    					"id": "fDAwNTBJMDAwMDA5TkJ2NlFBR3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "0050I000009NBv6QAG"
    					}
    				},
    				"label": "Service Manager",
    				"firstName": "Booking",
    				"lastName": "Service Manager",
    				"email": "booking.service.manager@amadeus.com"
    			}
    		],
    		"setupValues": [
    			{
    				"type": "HousingMethod",
    				"name": "Rooming List",
    				"abbreviation": "ROOMING",
    				"label": "Housing Method",
    				"linkReference": {
    					"id": "fGExeTBJMDAwMDAwY3hDV1FBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a1y0I000000cxCWQAY"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "SetupValueCustomField Label",
    						"name": "SetupValueCustomField",
    						"value": "Custom HousingMethod Field Value"
    					}
    				]
    			},
    			{
    				"type": "BookingType",
    				"name": "Corporate Non Transient",
    				"abbreviation": "CNT",
    				"label": "Booking Type",
    				"linkReference": {
    					"id": "fGExeTBJMDAwMDAwY3Z4b1FBQXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a1y0I000000cvxoQAA"
    					}
    				},
    				"additionalAttributes": [
    					{
    						"label": "SetupValueCustomField Label",
    						"name": "SetupValueCustomField",
    						"value": "BookingType Custom Field Value"
    					}
    				]
    			},
    			{
    				"type": "CustomBookingStatus",
    				"name": "Bid",
    				"abbreviation": "BID",
    				"label": "Custom Booking Status",
    				"linkReference": {
    					"id": "fGExeTBJMDAwMDAxMGpPTVFBWXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a1y0I0000010jOMQAY"
    					}
    				}
    			},
    			{
    				"type": "MarketSegment",
    				"name": "Corporate",
    				"abbreviation": "CORP",
    				"label": "BookingMarketSegment Label",
    				"linkReference": {
    					"id": "fGExeTBJMDAwMDAwbDJqWFFBUXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    					"contributingSystemId": {
    						"id": "a1y0I000000l2jXQAQ"
    					}
    				}
    			}
    		],
    		"guestRoomBlocks": {
    			"associatedReference": {
    				"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    				"href": "https://api-qa.newmarketinc.com/api/qa/ahpguestroomblockservice/v1/guestroomblocks?bookingIdentifier=fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
    			}
    		},
    		"comments": "For Groups staying more than 7 days, one night will be offered on complimentary basis.\r\nBreakfast is complimentary on all days.",
    		"commission": {
    			"isCommissionable": true,
    			"type": "Percentage",
    			"amount": 2
    		},
    		"taxInformation": {
    			"isTaxExempted": true
    		},
    		"integrationData": [
    			{
    				"type": "PMS",
    				"data": [
    					{
    						"label": "Is Pms Linked",
    						"name": "IsLinkedToPMS",
    						"value": false
    					},
    					{
    						"label": "Confirmation#",
    						"name": "ConfirmationNumber",
    						"value": "ASK-2022"
    					}
    				]
    			},
    			{
    				"type": "MB",
    				"data": [
    					{
    						"label": "Proposal Created Date",
    						"name": "ProposalCreatedDate",
    						"value": "2021-01-17"
    					}
    				]
    			}
    		],
    		"additionalAttributes": [
    			{
    				"label": "Arrival Shoulder Date",
    				"name": "ArrivalShoulderDate",
    				"value": "2021-08-14"
    			},
    			{
    				"label": "Auto Recurring Charge Rule",
    				"name": "AutoRecurringChargeRule",
    				"value": "Test"
    			},
    			{
    				"label": "Booking Allowed End Date",
    				"name": "BookingAllowedEndDate",
    				"value": "2021-08-16"
    			},
    			{
    				"label": "Booking Allowed Start Date",
    				"name": "BookingAllowedStartDate",
    				"value": "2021-08-10"
    			},
    			{
    				"label": "Cancellation Policy",
    				"name": "CancellationPolicy",
    				"value": "12PM"
    			},
    			{
    				"label": "Comp Category",
    				"name": "CompCategory",
    				"value": "PROMO"
    			},
    			{
    				"label": "Departure Shoulder Date",
    				"name": "DepartureShoulderDate",
    				"value": "2021-08-17"
    			},
    			{
    				"label": "Deposit Policy",
    				"name": "DepositPolicy",
    				"value": "DP1"
    			},
    			{
    				"label": "Housekeeping Pattern",
    				"name": "HousekeepingPattern",
    				"value": "Default Pattern"
    			},
    			{
    				"label": "Loyalty Program 1",
    				"name": "LoyaltyProgram1",
    				"value": "GK"
    			},
    			{
    				"label": "Loyalty Program 2",
    				"name": "LoyaltyProgram2",
    				"value": "IC"
    			},
    			{
    				"label": "Member ID 1",
    				"name": "MemberID1",
    				"value": "MEMBER123"
    			},
    			{
    				"label": "Member ID 2",
    				"name": "MemberID2",
    				"value": "MEMBER456"
    			},
    			{
    				"label": "Payment Method Detail",
    				"name": "PaymentMethodDetail",
    				"value": "At Checkout"
    			},
    			{
    				"label": "Payment Method",
    				"name": "PaymentMethod",
    				"value": "CHECK"
    			},
    			{
    				"label": "Payment Type",
    				"name": "PaymentType",
    				"value": "Group Payment"
    			},
    			{
    				"label": "Release Type",
    				"name": "ReleaseType",
    				"value": "Rolling"
    			},
    			{
    				"label": "Reservation Comments",
    				"name": "ReservationComments",
    				"value": "Reservation Comments as added in the AS&EM Booking."
    			},
    			{
    				"label": "Rolling Release Days Before",
    				"name": "RollingReleaseDaysBefore",
    				"value": 5.0
    			},
    			{
    				"label": "Suppress Rate",
    				"name": "SuppressRate",
    				"value": false
    			}
    		],
    		"id": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    		"href": "https://api-qa.newmarketinc.com/api/qa/bookingservice/v1/bookings/fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
    		"contributingSystemId": "a0L0I00000LfPTvUAN",
    		"systemId": "a53a645e-0f11-43c2-afd5-0479b434312d",
    		"currencyCode": "USD",
    		"createdOn": "2021-02-09T06:32:12.5748293+00:00",
    		"modifiedOn": "2021-02-09T06:32:12.574831+00:00",
    		"recordStatus": "Active",
    		"externalCreatedOn": "2021-02-09T06:29:09+00:00",
    		"externalModifiedOn": "2021-02-09T06:29:28+00:00"
    	},
    	"correlationId": "7083a3ee-8c5c-46b4-94b9-6c6f7ee3130b"
    }
    
                    

SYNC API

The Booking Sync API supports retrieval of Bookings and GuestRoomBlocks from AS&EM for Bookings matching specific Booking search criteria.

The API can typically be used to implement one or all of the following workflows:

  • Recover from errors on the integrating system end
  • Perform an initial export of data from AS&EM to the integrating system

This API(s) can be called by using the AHWS Authentication token retrieved from the Authentication API.

Product Flow Diagram Booking Sync API:

API Request

Request URL

Please refer Booking API page for more details.

Request Headers
Content-Type String Media type of the body sent to the API. It should be "application/json" for this GET request.
Ocp-Apim-Subscription-Key* String Subscription key which provides access to this API.
Authorization* String OAuth 2.0 access token obtained from Authentication API.
Ama-CorrelationId String (Optional) Unique correlationId to track the request. The correlationId should be used for all operations related to the request (e.g. initiating the request, poll for results and committing the request)
Request Body

Request should contain the search criteria for which a sync of the Booking and GuestRoomBlocks is requested. The sync request is by location and is based on the following dimensions:

  • Booking Status
  • Booking Dates – allowed dates are the Arrival Date, Departure Date, Audit Dates (Created On, Modified On)
  • Setup Values can be excluded or included (supported types are BookingType, HousingMethod, LeadSource, BookingMarketSegment, MeetingClass, CustomBookingStatus)

Following field(s) are required for Sync API call:

  • Location
Click here to see a sample request payload (JSON) for integrating system to perform a Booking Sync POST operation.

{
	"location": {
		"linkReference": {
			"id": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
		}
	},
	"statuses": [
		"Tentative",
		"Definite"
	],
	"dateCriteria": {
		"dateType": "ArrivalDate",
		"dateRange": {
			"start": "2021-01-05",
			"end": "2021-03-16"
		}
	},
	"setupValueCriteria": {
		"type": "BookingMarketSegment",
		"excludedValues": [
			{
				"abbreviation": "Government Business"
			}
		],
		"includedValues": [
			{
				"abbreviation": "Corporate"
			}
		]
	}
}

                

API Response

  1. 202 Accepted

    Response Header
    Ama-CorrelationId String Same CorrelationId that you have sent in request header in "Ama-CorrelationId" parameter.
    If a correlation Id was not supplied in the request header, AHENS will generate a new correlation Id to track this request
    Response Body
    Click here to see a sample response payload (JSON) returned when the integrating system performs a Sync Booking (POST) operation.
    	
    
    {
    	"correlationId": "29271da2-a7d6-4c17-b304-14f90bb3b25d"
    }
    
                    

Asynchronous Processing Response

This is the asynchronous result response (resourceType = Booking-Sync-Result) generated by the background processors when the request has been processed.

Response Body(Successful processing response)
Click here to see a sample response payload (JSON) returned when the background processing of the SYNC request is successful.
	

{
	"id": "6204ba14415d520001458d1e",
	"eventId": "6204ba14415d520001458d1d",
	"pubSubMapId": "1621414_566555_Booking-Sync-Result_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~_4136079_1752516_Booking-Sync-Result_Get_fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
	"eventDetail": {
		"resourceId": "a190I000004OUSkQAO",
		"resourceType": "Booking-Sync-Result",
		"locationId": "fGExOTBJMDAwMDA0T1VTa1FBT3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
		"subject": "Bookings and GuestRoomBlocks have been synched.",
		"eventData": {
			"message": "1 Bookings and 1 GuestRoomBlocks have been synched successfully."
		},
		"publishedOn": "2022-02-10T07:09:07.041Z"
	},
	"correlationId": "83d79de7-17a5-49c8-a340-b376471b09f2",
	"status": "Received",
	"lastStatusChangeOn": "2022-02-10T09:58:07.795Z",
	"lastSubscribedOn": "2022-02-10T09:58:07.795Z",
	"receivedCount": 1,
	"trackingId": "219798ec-6d84-40d2-b2ed-84f9cc2984d9",
	"createdOn": "2022-02-10T07:09:08.924Z",
	"modifiedOn": "2022-02-10T09:58:07.795Z",
	"recordStatus": "Active"
}

                
Response Body(Erroneous processing response)
Click here to see a sample response payload (JSON) returned when the background processing of the SYNC request fails with an error.
	

{
	"id": "6204f905415d520001458d9f",
	"eventId": "6204f905415d520001458d9e",
	"pubSubMapId": "1621414_566555_Booking-Sync-Result_fGExOTBJMDAwMDAyN3ZtUlFBUXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~_4136079_1752516_Booking-Sync-Result_Get_fGExOTBJMDAwMDAyN3ZtUlFBUXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
	"eventDetail": {
		"resourceId": "a190I0000027vmRQAQ",
		"resourceType": "Booking-Sync-Result",
		"locationId": "fGExOTBJMDAwMDAyN3ZtUlFBUXxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
		"subject": "Booking-Sync-Result",
		"eventData": {
			"errors": [
				{
					"status": 400,
					"detail": "Response from target system: [{\"message\":\"\\nSELECT Id FROM nihrm__Booking__c WHERE ( nihrm__Location__c\\n ^\\nERROR at Row:1:Column:16\\nsObject type 'nihrm__Booking__c' is not supported. If you are attempting to use a custom object, be sure to append the '__c' after the entity name. Please reference your WSDL or the describe call for the appropriate names.\",\"errorCode\":\"INVALID_TYPE\"}]"
				}
			]
		},
		"publishedOn": "2022-02-10T11:37:39.9311604Z"
	},
	"correlationId": "AHBookingASyncErrorRequest3",
	"status": "Received",
	"lastStatusChangeOn": "2022-02-10T11:37:45.0754898Z",
	"receivedCount": 1,
	"trackingId": "7bba912f-ecee-4ba6-ba27-b3024002053f",
	"createdOn": "2022-02-10T11:37:41.5422826Z",
	"modifiedOn": "2022-02-10T11:37:45.0754899Z",
	"recordStatus": "Active"
}

                


For all Booking API(s), rest of the responses can be found in "Errors & Troubleshooting" section

Rate Limits and Usage Quotas

Rate Limits

Limitations for this API are yet to be decided. Once decided, limits will be updated on this page for your reference.

Activity API

Summary

Activity API allows you to create an activity in “AS&EM”.

Activities are simple reminders that notify the user when they are logged into the application. An integrating system may want to use the Activity API to assign tasks/actionable items to users for various conditions/workflows (outlining next steps, rectification of data, etc).

Once the request is submitted, Activities are created asynchronously. If configured, the integrating system will be able to receive the asynchronous processing result indicating successful creation of the activity (or details of the failure when the activity creation fails).

The activity contains a few important details such as:

  • Location Id - This is Location Id to which requested user is associated to. This should match the location Id used by the integrating system to exchange messages with Amadeus Hospitality America, Inc.
  • Assigned To - This is AS&EM - Advanced Id of user being assigned the task.
  • Subject - A brief description of the Activity (i.e. "Your booking report is ready", Call cus-tomer", "Confirm booking", etc).
  • Status - This should always be "Not Started".
  • Priority - This is the priority level of the task ("Low", "Medium", "High").
  • Related To - This is the Id of the AS&EM entity the activity is associated to. For example, if the activity is a notification that Guestroom Block cannot be updated, you could provide the booking Id here.

Here is an example of what a task may look like: example of what a task may look like

Where to find User Ids?

In order to keep your personal information secure user information is not made directly available. There are number of fields on the associated resources that are AS&EM - Advanced user Ids.

User Id Fields

  • Booking Service Manager - The Booking Service Manager for this business.
  • Booking Owner (If Service Manager is not available/Inactive) - The Booking Owner for this business.
  • Property's Default Lead Coordinator (If both Service Manager/Booking Owner are not available/inactive) - The Default Lead Coordinator for this business.

Request

Request URL

Please refer Activity API page for more details.

Request Headers
Content-Type* String Media type of the body sent to the API. It should be "application/json".
Ocp-Apim-Subscription-Key* String Subscription key which provides access to this API.
Authorization* String OAuth 2.0 access token obtained from Authentication API.
Ama-CorrelationId String (Optional) Unique correlationId to track the request. The correlationId should be used for all operations related to the request (e.g. initiating the request, poll for results and committing the request)
Parameters

The call to the Activity API requires that the integrating system should already have the necessary identifiers from various change notifications associated to AS&EM entities. It is recommended to predefine a mapping between the information in these messages and the Activity request when developing the integration.

https://api.newmarketinc.com/api/{version}/activityservice/locations/{locationId}/activities
            

Request body

Activity API POST request should the required fields which need to be updated in S&C system when creating the Activity.

Following fields are required for each Activity API POST call:

  • locationId
  • subject
  • status
  • priority
  • assignedToId

NOTE:

  • All activities in the request must be for the same location
  • In order to avoid running into governor limit and concurrency issues on the AS&EM side, the maximum number of activities that can be supplied in the request is 50
    • The API will reject the message with a HTTP 413 (Request too large) message if more than 50 activities are supplied in the payload

Click here to see a sample request payload (JSON) for integrating system to perform an Activity API POST operation.

[
	{
		"type": "Integration Error",
		"subject": "The integrating system failed to process your request.",
		"comments": "This is the Activity Body. You can use the \r\n carriage return-line feed characters to create a new line!",
		"activityDate": "2021-12-31",
		"status": "Not Started",
		"priority": "High",
		"assignedToId": "0057F000000arl1QAA",
		"relatedToId": "fGEwTDBJMDAwMDBNaDZKSlVBWnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
		"contactId": "0037F000007p8SRQAY",
		"callResult": "other details that are required to be logged",
		"reminderDateTime": "2021-12-31T18:00:00.000Z",
		"category": "Integration Notification"
	}
]

API Response

  1. 202 Accepted

    Response Header
    Ama-CorrelationId String Same CorrelationId that you have sent in request header in "Ama-CorrelationId" parameter.
    If a correlation Id was not supplied in the request header, AHENS will generate a new correlation Id to track this request
    Response Body
    Click here to see a sample response payload (JSON).
    	
    
    {
    	"correlationId": "29271da2-a7d6-4c17-b304-14f90bb3b25d"
    }
    
                    

Asynchronous Processing Response

This is the asynchronous result response (resourceType = Activity-Result) generated by the background processors when the request has been processed.

Response Body(Successful processing response)
Click here to see a sample response payload (JSON) returned when the background processing of the Activity request is successful.
	

{
	"id": "6204c38cfcc94400017338b4",
	"eventId": "6204c389fcc94400017338b3",
	"pubSubMapId": "1621414_566555_Activity-Result_fGExOTBJMDAwMDA1QllpSFFBV3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~_4136079_1752516_Activity-Result_Get_fGExOTBJMDAwMDA1QllpSFFBV3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
	"eventDetail": {
		"resourceId": "4629e1c6-785c-48ab-a9d1-5695f5a1646e",
		"resourceType": "Activity-Result",
		"locationId": "fGExOTBJMDAwMDA1QllpSFFBV3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
		"subject": "Activity-Result",
		"eventData": {
			"meta": {
				"id": "fGExOTBJMDAwMDA1QllpSFFBV3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
			}
		},
		"publishedOn": "2022-02-10T07:49:28.247Z"
	},
	"correlationId": "05aede5e-e4ef-4515-aa3a-b2c92174a651",
	"status": "Received",
	"lastStatusChangeOn": "2022-02-10T08:38:41.594Z",
	"lastSubscribedOn": "2022-02-10T08:38:41.594Z",
	"receivedCount": 1,
	"trackingId": "5827f69f-b367-4d8b-b446-1c7b39d5fac2",
	"createdOn": "2022-02-10T07:49:32.261Z",
	"modifiedOn": "2022-02-10T08:38:41.594Z",
	"recordStatus": "Active"
}

                
Response Body(Erroneous processing response)
Click here to see a sample response payload (JSON) returned when the background processing of the Activity request fails with an error.
	

{
	"id": "6204d834415d520001458d34",
	"eventId": "6204d834415d520001458d33",
	"pubSubMapId": "1621414_566555_Activity-Result_fGExOTBJMDAwMDA1QllpSFFBV3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~_4136079_1752516_Activity-Result_Get_fGExOTBJMDAwMDA1QllpSFFBV3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
	"eventDetail": {
		"resourceId": "60b80e3c-305a-490b-a4c7-21c4efe6c7c0",
		"resourceType": "Activity-Result",
		"locationId": "fGExOTBJMDAwMDA1QllpSFFBV3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
		"subject": "Activity-Result",
		"eventData": {
			"meta": {
				"id": "fGExOTBJMDAwMDA1QllpSFFBV3xhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
			},
			"errors": [
				{
					"getRequestResponse": {
						"statusCode": 200,
						"totalSize": 1,
						"activityUserId": [
							"00528000005s2SQAAY"
						]
					},
					"postRequestResponse": {
						"statusCode": 500,
						"errorMessage": "Related To ID: id value of incorrect type: kmL0I00000MgnN1UAJ",
						"isActivitycreated": false,
						"referenceId": "00528000005s2SQAAY_2b0cc59dac7849d3919ff3fe30c5e4dc"
					}
				}
			]
		},
		"publishedOn": "2022-02-10T09:16:54.951Z"
	},
	"correlationId": "b08a11db-1664-44b9-a32b-3837afacf2e8",
	"status": "Received",
	"lastStatusChangeOn": "2022-02-10T09:19:44.148Z",
	"lastSubscribedOn": "2022-02-10T09:19:44.148Z",
	"receivedCount": 1,
	"trackingId": "19731def-e28a-4b7f-bd9c-fbbc63f5f7c0",
	"createdOn": "2022-02-10T09:17:40.642Z",
	"modifiedOn": "2022-02-10T09:19:44.148Z",
	"recordStatus": "Active"
}

                

Notifications

Summary

Once Amadeus has any messages to be processed by the integrating system, a notification will be generated. These notifications can contain the payload to be processed by the Integrating system (e.g. a pointer to a resource (Booking, GuestRoomBlock), an asynchronous processing response, etc).

You can poll for this result notification through Amadeus Hospitality Event Notification Services (AHENS) Notification Receive API.

Once notifications have been processed and persisted on your end, you will need to commit the result using the Notification Commit API.

High Level Work Flow

A typical workflow for receiving result notifications from AHENS is given below:

  • Call Notification Receive API to retrieve a notification generated by Amadeus.
  • Once you have successfully received and processed result notification, make a call to Notification Commit API to inform AHENS that the received Notifications have been processed.
  • See Notification Restaging below for details on Notification restaging.

EntityType

Endpoint

Summary

Notification ahens/notification/receive

A call to the Notification Receive API returns a list of notifications to the caller. The collection will be empty if there are no notifications to be processed by the integrating system.

Notification ahens/notification/commit

The Commit method is called with a collection of NotificationIds. These are Notification identifiers present in Notifications received by the integrating system.

Receiving Notifications

To receive notifications, the integrating system can call Notification Receive API and you will be given a list of Notifications available for you. Notifications can be a pointer to a resource (Booking, GuestRoomBlock) or an asynchronous processing response to an action initiated by the integrating system (e.g. a GuestRoomBlock PATCH request).

Here are the details on this API:

API Request

Request URL

Please refer Notification Receive API page for more details.

Request Headers
Content-Type* String Media type of the body sent to the API. It should be "application/json" or "application/json-patch+json" for this PATCH request.
Ocp-Apim-Subscription-Key* String Subscription key which provides access to this API.
Authorization* String OAuth 2.0 access token obtained from Authentication API.
Parameters

The Notification Receive API does not accept any API parameters.

https://api.newmarketinc.com/api/AHENS/Notification/Receive
            

Request body

The Notification Receive POST API request should contain only fields required to filter the required notifications. The body of the request must be in a valid format acceptable by AHENS.

resourceType* String ResourceType is the only parameter which is mandatory. Different notifications have different Resource Types (outlined in the respective tutorials).
locationId String (Optional) The locationId for which the notifications are to be fetched.
Typically used by integrating systems that process notifications by Location v/s by Enterprise. LocationId will be provided by Amadeus during the initial configuration/onboarding.
limit Integer limit is an optional parameter in case you want to limit number of result notifications to be received.
correlationId String CorrelationId is an optional parameter for you to uniquely identify the request. If CorrelationId is not provided in the request, AHENS will assign a unique identifier and return the same in the HTTP response header.
NOTE: This correlationId is different from the Notification’s correlationId.

In case there are more than 5000 notifications available to the caller, a maximum of 5000 Notifications will be returned at each call. A continuation token will be made available in the response header for retrieval of the remaining Notification batches. The mentioned token can be provided in the request body as a field.

Click here to see a sample request payload (JSON) for integrating system to receive a Notification Receive POST operation.

{
	"locatonId": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
	"resourceType": "GuestRoomBlock-Result",
	"limit": 100,
	"correlationId": "e3c7f5e8-7268-4ec6-a80e-bf848992312b"
}

API Response

A call to the Notification Receive API returns a list of available Notifications to the caller. The result will return empty if there are no updates available. Below you may find a sample response to the mentioned API.

Click here to see a sample response payload (JSON) returned by Amadeus when an integrating system receives a collection of Notifications.

[
	{
		"id": "5fbe1fb5c7720a12d4e052b0",
		"eventId": "5fbe1faa1ed94a00014b8a38",
		"pubSubMapId": "1194845_397517_GuestRoomBlock-Result_fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~_4136079_1752516_GuestRoomBlock-Result_Get_fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
		"eventDetail": {
			"resourceId": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
			"resourceType": "Result",
			"locationId": "1621414:566555:fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~",
			"eventData": {
				"meta": {
					"resourceType": "GuestRoomBlock-Result",
					"locationId": "fGEwTDBJMDAwMDBMZlBUdlVBTnxhNTNhNjQ1ZS0wZjExLTQzYzItYWZkNS0wNDc5YjQzNDMxMmQ~"
				}
			},
			"publishedOn": "2020-11-25T09:11:03.677Z"
		},
		"correlationId": "87fca408-c6c6-46c8-a4fd-57c9044fef1f",
		"status": "Received",
		"lastStatusChangeOn": "2020-11-25T09:13:43.493Z",
		"lastSubscribedOn": "2020-11-25T09:13:43.493Z",
		"receivedCount": 1,
		"trackingId": "03aedada-8573-4473-b564-d7444572358d",
		"createdOn": "2020-11-25T09:11:17.49Z",
		"modifiedOn": "2020-11-25T09:13:43.493Z",
		"recordStatus": "Active"
	}
]

Confirm that result notifications have been received and processed

When you have finished processing the notifications, you’ll need to confirm this with AHENS, so that those notifications won’t be delivered to you a second time. To do this you will need to commit the Notifications you received earlier. Simply post the Notification Ids you received back to the Notification Commit API to commit them, indicating that all processing for those notifications is complete.

The commit request is treated as an explicit acknowledgment by the subscriber system that Notifications have been received successfully by the integrating system.

Commit Result Notification

API Request

Request URL

Please refer Notification Commit API page for more details.

Request Headers
Content-Type* String Media type of the body sent to the API. It should be "application/json" or "application/json-patch+json" for this PATCH request.
Ocp-Apim-Subscription-Key* String Subscription key which provides access to this API.
Authorization* String OAuth 2.0 access token obtained from Authentication API.
Parameters

The Notification Commit API does not accept any API parameters.

https://api.newmarketinc.com/api/AHENS/Notification/Commit
            

Request body

Notification commit request contains identifiers of notifications that are to be committed. These identifiers can be found in the notifications received by the subscriber.

The Commit method is called with a collection of NotificationIds. These are Notification identifiers present in Notifications received by the subscriber system. Collection of Notification identifiers (List required): Notification subscriber must supply a collection of Notifications identifiers.

Click here to see a sample request payload (JSON) for integrating system to commit a collection of Notifications.

{
	"notificationIds": [
		"61dc21f7021a210001520762",
		"61e6ba83eaf86100019dcc73",
		"61e6ba32021a210001520cb2"
	]
}

API Response

A call to the Notification Commit API returns a list of commit status by Notification Id to the caller.

Click here to see a sample response payload (JSON) returned by Amadeus when an integrating system commits a collection of Notifications.

[
	{
		"statusCode": 200,
		"message": "OK",
		"resourceId": "61dc21f7021a210001520762"
	},
	{
		"statusCode": 200,
		"message": "OK",
		"resourceId": "61e6ba83eaf86100019dcc73"
	},
	{
		"statusCode": 200,
		"message": "OK",
		"resourceId": "61e6ba32021a210001520cb2"
	}
]

Restage Notification

When the Receive API method is called, the Notifications are put in the Received state. If after a period of time (configured during initial setup) these Notifications have not been Committed, these Notifications will be restaged to the New state, allowing them to be Received again. Only Notifications in the New state can be Received via Notification Receive API.

Each time a Notification is Received, the Notification ReceivedCount is incremented. If you Receive a Notification with a ReceivedCount greater than one, that Notification has gone through the restage workflow due to not being Committed before the Restage Check timer has expired.

If the ReceivedCount is incremented more than the maximum allowed (defaults to five), the Notification will be put in a Failed state. These Notifications can no longer be Received and will no longer be processed in the Notification workflow. If you would like Receive your Failed Notifications, contact your Amadeus Partner Success representative and they will restage them for you.

Included APIs

What's Included

The following APIs are included in Sales & Events Integration with PMS-CRS Product

  1. Authentication
  2. Booking
  3. Guestroom Block
  4. Guestroom Availability
  5. Activity
  6. Notification (AHENS)

You must be logged in with an active Azure API Management subscription to the Sales & Events Integration with PMS-CRS APIs.

What about Security?

Authorization is managed through an internal identifier called SystemId. All integrated AS&EM instances are assigned a unique SystemId which is used to isolate and secure data.

All Sales & Events Integration with PMS-CRS APIs require AHWS authentication. See the Authentication API section for details.

Errors & Troubleshooting

When calling the Sales & Events Integration with PMS-CRS APIs, if the request is being made using the correct credentials and if the message passes the prerequisite schema validations you will receive HTTP 200 - OK / 202 - Accepted status codes in the synchronous response.

If anything goes wrong with the Sales & Events Integration with PMS-CRS APIs, you can inspect the Http Status Code and the request body to determine what failed and how to correct your API call.

HTTP Status Codes

Reason

200 OK - The server successfully processed the request.
202 Accepted - request has been accepted but the resource change has not been applied.
207 Multi-Status - The server successfully processed the request. The sender needs to consult the contents of the multi-status response body for further information about the success or failure of the resource operations.
400 The request could not be understood. Please check the response for additional information.
401 The request did not include the correct authentication.
403 The server understood the request but is not able to fulfill because of insufficient permission.
404 The requested resource was not found.
405 The requested method is not allowed.
409 The request could not be completed due to a conflict with the current state of the target resource.
413 The requested payload sent is too large i.e. too many bytes.
422 There are validation failures with the payload. (ex. 'status' must not be empty). Please check response status for information identifying the field that caused the validation failure.
429 Rate limit is exceeded. This status code is returned when the number of requests is throttled.
500 The server has encountered a problem, please try again.
503 The service is temporarily unavailable. If the length of the delay is known a Retry-After header is given. It is recommended that you delay for this interval before sending another request to the service. If no Retry-After is provided you should handle as a 500 error.

Troubleshoot Authentication API Call

The most common error status code you will get from the Authentication API is a 403 - Forbidden. The error property in the response body will tell you what was not accepted.

  • access_denied means you have an incorrect Username and Password pair. The user might not exist or the password provided was wrong.

  • unauthorized_client means there is incorrect information in the client_id and client_secret fields. Ensure you are using the correct values that you received from AS&EM when you acquired your credentials.

You may also get a 405 - Method Not Allowed if you call OAuth endpoints with the GET verb instead of POST.

In the rare event you get a 500 or 503 status code, simply retry the action later.

For more information about OAuth refer to our Authentication API section.

General Troubleshooting

Most of the time Http 500 status codes are temporary, and normal service should return after a few seconds or minutes. You should retry a call in these instances.