Update details for an existing Minihotel reservation.
Using this function you can update various values, such as the guest's name, ID number, email, phone, remarks, and more. You can update individual room reservations as well as multi-room/group reservations.
The {reservationId} used inside the endpoint is the MiniHotel reservation ID. For example: 007001234.
HTTP Request Method = PUT.
https://sandbox.minihotel.cloud/api/Agents/Sci/Reservation/{reservationId}
https://api2.minihotel.cloud/api/Agents/Sci/Reservation/{reservationId}
Request
For the reservation's header only
| Parameter | Description | Type | Example |
|---|---|---|---|
| Reservation | Reservation node List | Object | |
| Header | Reservation header object | Object | |
| Status | Reservation status. Optional. Use this field to update the reservation status, including cancellation by setting it to CL. | String | “IN” |
| ArrivalTime | Arrival time (Optional field) | String (hh:mm format) | “15:00” |
| DepartureTime | Departure time (Optional field) | String (hh:mm format) | “11:00” |
| FirstName | Guest first name | String | “Jon” |
| LastName | Guest last name | String | “Doe” |
| IdNumber | Guest ID number | String | “123456” |
| Guest email (Optional field) | String | “email@example. com” | |
| Phone | Guest phone (Optional field) | String | “123456789” |
| Remarks | Reservation remarks (Optional field) | Object | |
| AppendRemarks | If this parameter value is ‘true’, the remarks will be added to the existing ones. If the parameter is ‘false’ then the new remarks will overwrite the existing ones. Notes: This parameter applies for both printed and non printed remarks. The default value of this parameter is ‘false’. This is an optional field. | Boolean | "true" |
| Printed | Printed remarks (Optional field) | String | "Non-smoking room please" |
| NonPrinted | Non-printed remarks (Optional field) | String | "Problematic guest" |
Request Example
For the reservation's header only
<Request>
<Authentication username="Test" password="3657488" />
<Hotel id="sandbox" />
<Reservation>
<Header>
<Status>IN</Status>
<ArrivalTime>15:00</ArrivalTime>
<DepartureTime>10:00</DepartureTime>
<Email>[email protected]</Email>
<Phone>123456789</Phone>
<FirstName>John</FirstName>
<IdNumber>3333333</IdNumber>
<Remarks>
<AppendRemarks>true</AppendRemarks>
<Printed>Non-smoking room please</Printed>
<NonPrinted>Problematic guest</NonPrinted>
</Remarks>
</Header>
</Reservation>
</Request>
Request
For the reservation's rooms / members
| Parameter | Description | Type | Example |
|---|---|---|---|
| Reservation | Reservation node List | Object | |
| Header | Reservation header object | Object | |
| ArrivalTime | Arrival time (Optional field) | String (hh:mm format) | “15:00” |
| DepartureTime | Departure time (Optional field) | String (hh:mm format) | “11:00” |
| Members | Reservation members | Collection of Member | |
| Member | Reservation member | Object | |
| #serial | Member serial ID | Attribute (string) | “00001”, “1”, “2” |
| RoomType | Room type code | String | “DBL”, “TPL” |
| FirstName | Guest first name | String | “Jon” |
| LastName | Guest last name | String | “Doe” |
| IdNumber | Guest ID number | String | “123456” |
| Guest email (Optional field) | String | “email@example. com” | |
| Phone | Guest phone (Optional field) | String | “123456789” |
| Status | Reservation status (Optional field) | String | “”, “IN”, “OUT” |
The "RoomType" parameter is optional. However, if used, it must contain at least one room type and can include up to the maximum number of rooms reserved in the reservation. You can modify the number of rooms by either maintaining or reducing the quantity, but you cannot exceed the total number of reserved rooms
Request Example
For the reservation's rooms / members
<?xml version="1.0" encoding="UTF-8"?>
<Request>
<Authentication username="Test" password="3657488" />
<Hotel id="sandbox" />
<Reservation>
<Header>
<ArrivalTime>15:00</ArrivalTime>
<DepartureTime>10:00</DepartureTime>
</Header>
<Members>
<Member serial="001">
<FirstName>dada</FirstName>
<LastName>jana</LastName>
<IdNumber>3333333</IdNumber>
<Email>[email protected]</Email>
<Phone>80808070</Phone>
<RoomType>Twin</RoomType>
<Status>IN</Status>
</Member>
<Member serial="002">
<FirstName>nana</FirstName>
<LastName>jana</LastName>
<IdNumber>3333733</IdNumber>
<Email>[email protected]</Email>
<Phone>80808070</Phone>
<Status></Status>
</Member>
</Members>
</Reservation>
</Request>
Success should return a simple response with a '200' status code
OK: Confirmed
OK1–OK9: Mostly available for custom use
OK2: Confirmed – Channel Manager / OTAs
OK4: Confirmed – Booking Engine (Homepage)
WL: Waiting List
PN: Pending
IN: Checked-in
OUT: Checked-out
CL: Cancelled
BL: Blacklisted
LWP: Left Without Payment
BID: Bid / Quote
CLOSE: Closed Room
ALC: Allocation
PRE: Pre-authorization
ℹ️ Additional status values can be customized in the system setup.
In order to reset a reservation header's status, you can change it to "OK". For example: In order to to change a checked-out reservation to checked-in, you can change its status to "OK", and then change it to "IN".
Group members can only have 3 statuses: "IN", "OUT", and "". Null status (i.e. "") in a group member request is making the member as "OK" / no status set. You can use null to reset a group member's status.
Error Response
| Parameter | Description | Type |
|---|---|---|
| Error | Error element | Object |
| StatusCode | Error code | String |
| Message | Error description | String |
Example
<Error>
<StatusCode>101</StatusCode>
<Message>Arrival time: Bad format</Message>
</Error>
Error Codes
101: Arrival time: Bad format
102: Departure time: Bad format
103: Member serial ID is missing
104: Member ID ‘{Serial ID}’ was not found
105: Member status ‘{Status}’ is not valid
106: No available room for ‘{RoomType}’ room type was found
107: RoomTypes node cannot be part of the request when modifying group reservations
151: Cannot add new rooms
152: Status ‘{Status}’ is not valid
