Skip to main content

Operation Services

Operation services let you modify an existing reservation after it has been booked. Every operation is a POST request that identifies the reservation by its voucher number and returns the updated state of the reservation.

  • Simulation: Every request carries a simulation flag. Send true to preview the outcome (e.g. the recalculated price) without changing anything, then repeat the same request with false to apply it permanently. A simulation call before price-affecting operations (guest, date or room changes) is recommended.
  • Guest identifiers: Operations that target an existing guest use the guest's guidId, which is returned for every guest in the Reservation Detail response.
  • Price & room codes: newPriceCode and newRoomCode are taken from the Room Search response.
  • Price fields: Price-affecting operations return the new totals together with amountBeforeTransaction and transactionAmountDifference, so the price impact of the change can be shown before it is applied.

Request Headers​

The following headers apply to all operation services.

NameTypeRequiredDescription
Content-TypestringYesMust be application/json.
AuthorizationstringYesBearer token. Format: Bearer <access_token>.
Accept-LanguagestringNoPreferred response language (e.g. tr-TR, en-US).
X-CURRENCYstringNoCurrency for pricing in the response (e.g. TRY, EUR).

Add Guest​

POST

/api/v1/generic-api-service/royal/operation/add-guest

Adds a new guest to the reservation identified by the voucher. The simulation flag determines whether the change is applied: true only returns a preview including the price impact, false adds the guest permanently.

curl --location 'https://api.etscore.com/api/v1/generic-api-service/royal/operation/add-guest' \
--header 'Accept-Language: en-US' \
--header 'X-CURRENCY: EUR' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"voucher": "ETSR555555555",
"simulation": true,
"guest": {
"name": "JOHN",
"surname": "DOE",
"type": "ADULT",
"gender": "MALE",
"birthDate": "1990-01-09",
"nationality": "DE",
"email": "[email protected]"
}
}'

Remove Guest​

POST

/api/v1/generic-api-service/royal/operation/remove-guest

Removes an existing guest from the reservation identified by the voucher. The guest is identified by the guestGuidId assigned when the guest was created.

curl --location 'https://api.etscore.com/api/v1/generic-api-service/royal/operation/remove-guest' \
--header 'Accept-Language: tr-TR' \
--header 'X-CURRENCY: TRY' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"voucher": "ETSR555555555",
"guestGuidId": "cb13e194-2e74-4cc5-a5df-37dde250a880",
"simulation": true
}'

Change Guest​

POST

/api/v1/generic-api-service/royal/operation/change-guest

Replaces all details (type, gender, birth date, nationality, email) of an existing guest in the reservation. The guest to update is identified by oldGuestGuidId. Use Change Guest Name for name/surname corrections only.

curl --location 'https://api.etscore.com/api/v1/generic-api-service/royal/operation/change-guest' \
--header 'Accept-Language: en-US' \
--header 'X-CURRENCY: TRY' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"voucher": "ETSR555555555",
"oldGuestGuidId": "35559b10-89d2-4a5c-97bf-fe8e29477e45",
"simulation": true,
"guest": {
"name": "JOHN",
"surname": "DOE",
"type": "ADULT",
"gender": "MALE",
"birthDate": "1990-01-01",
"nationality": "DE",
"email": "[email protected]"
}
}'

Change Guest Name​

POST

/api/v1/generic-api-service/royal/operation/change-guest-name

Corrects the details (including name/surname) of one or more existing guests in the reservation. Guests are sent as a list in the guest array and each one is identified by its guidId.

curl --location 'https://api.etscore.com/api/v1/generic-api-service/royal/operation/change-guest-name' \
--header 'Accept-Language: tr-TR' \
--header 'X-CURRENCY: TRY' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"voucher": "ETSR555555555",
"simulation": true,
"guest": [
{
"name": "JOHN",
"surname": "DOE SMITH",
"birthDate": "1990-01-01",
"email": "[email protected]",
"gender": "MALE",
"type": "ADULT",
"guidId": "6d7c5791-1d4d-4150-aaa3-fe8ecce9808a"
}
]
}'

Change Check-in / Check-out​

POST

/api/v1/generic-api-service/royal/operation/change-checkin-checkout

Changes the check-in/check-out dates of the reservation identified by the voucher. The room/rate for the new dates is selected with newPriceCode. Since a date change reprices the reservation, previewing it with simulation: true first is recommended.

curl --location 'https://api.etscore.com/api/v1/generic-api-service/royal/operation/change-checkin-checkout' \
--header 'Accept-Language: tr-TR' \
--header 'X-CURRENCY: EUR' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"checkIn": "2026-12-02",
"checkOut": "2026-12-05",
"newPriceCode": "<price code>",
"specialCase": false,
"voucher": "ETSR555555555",
"simulation": true
}'

Change Room​

POST

/api/v1/generic-api-service/royal/operation/change-room

Changes the room of the reservation identified by the voucher. The target room is selected with newRoomCode.

curl --location 'https://test-api.etscore.com/api/v1/generic-api-service/royal/operation/change-room' \
--header 'Accept-Language: tr-TR' \
--header 'X-CURRENCY: TRY' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"newRoomCode": "67575",
"voucher": "ETSR555555555",
"simulation": true
}'

Change Hotel Note​

POST

/api/v1/generic-api-service/royal/operation/change-hotel-note

Creates or updates the free-text note forwarded to the hotel for the reservation identified by the voucher (e.g. late check-in, high floor preference).

curl --location 'https://api.etscore.com/api/v1/generic-api-service/royal/operation/change-hotel-note' \
--header 'Accept-Language: tr-TR' \
--header 'X-CURRENCY: TRY' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"note": "test example test",
"voucher": "ETSR555555555",
"simulation": true
}'