Submit
const url = 'https://api.wink.travel/api/booking/f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92/review';const options = { method: 'POST', headers: { 'Wink-Version': '2.0', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: 'null'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.wink.travel/api/booking/f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92/review \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Wink-Version: 2.0' \ --data nullSubmits the authenticated guest’s completed review for the given booking and returns the persisted review. Responds 201 on success.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Booking identifier for which the review is being submitted
Example
f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92Header Parameters
Section titled “Header Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”Completed review containing the guest’s answers to the questionnaire questions
Request payload submitted by a guest to record their review for a completed stay.
object
List of user review answers.
A single answer submitted by a guest for one review question, carrying the question reference and numeric score.
object
Category of the question (e.g., COMFORT, SERVICE, VALUE).
Example
SERVICEReview question identifier that this answer responds to.
Example
4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62Display order of this answer within the review template.
Example
1Guest’s numeric rating for this question on a 0-10 scale.
Example
7Example
{ "category": "SERVICE", "questionIdentifier": "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62", "sort": 1, "value": 7}Cloudinary image identifier for guest’s photo from the property.
Example
wink/review/siam-residences-2026-01-14-xyz123abcPrivate message from guest to the hotel manager. Not displayed on property’s public profile.
Example
Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.Room number where the guest stayed.
Example
501Guest’s personal rating of their room on a 0-10 scale.
Example
9Guest’s written review text describing their stay.
Example
Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.Example
{ "answers": [ { "category": "SERVICE", "questionIdentifier": "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62", "sort": 1, "value": 7 } ], "imageIdentifier": "wink/review/siam-residences-2026-01-14-xyz123abc", "messageFromGuest": "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.", "roomNumber": "501", "roomRating": 9, "text": "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home."}Responses
Section titled “Responses”Review submitted and persisted
Lightweight projection of a guest review, containing all publicly visible review data and metadata.
object
Guest’s answers to each review question with their scores.
A guest’s recorded answer to a single review question, including the score and question metadata.
object
Category of the question (e.g., COMFORT, SERVICE, VALUE).
Review question identifier that this answer responds to.
Display order of this answer within the review.
Guest’s numeric rating for this question on a 0-10 scale.
Hotel has approved the guest’s photo for public display on their profile.
Hotel has approved this review text for public display on their profile.
Average rating across all question answers (0-10 scale).
Booking identifier this review is associated with.
Datetime this record was first created
Property (hotel) identifier this review is for.
Unique identifier for this record.
Cloudinary image identifier for guest’s photo from their stay.
Datetime this record was last updated
User identifiers who ‘liked’ this review.
Private feedback message from guest to hotel manager. Not publicly displayed.
Hotel has submitted a response to this review.
Hotel’s public response to the guest review.
Date and time the review was submitted.
Guest’s room number during their stay.
Guest’s personal rating of their room on a 0-10 scale.
Guest’s written review text.
Guest who submitted the review.
object
Guest’s email address.
Guest’s first name.
Guest’s full name.
Guest’s last name.
Guest’s phone number.
User identifier
Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.
Example
Bad Request — missing or invalid request parameter or body
object
object
Example
Unauthorized — authentication is required or the session has expired
object
object
Example
Forbidden — authenticated but lacking the required permission or scope
object
object
Example
Not Found — the requested resource does not exist
object
object
Example
Method Not Allowed — the HTTP verb is not supported on this endpoint
object
object
Example
Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version
object
object
Example
Unsupported Media Type — use application/json
object
object
Example
Internal Server Error — an unexpected failure occurred on the server
object
object
Example
Service Unavailable — a downstream dependency is unreachable
