UpdateReservation ()

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

ParameterDescriptionTypeExample
ReservationReservation node ListObject
HeaderReservation header objectObject
StatusReservation status. Optional. Use this field to update the reservation status, including cancellation by setting it to CL.String“IN”
ArrivalTimeArrival time (Optional field)String (hh:mm format)“15:00”
DepartureTimeDeparture time (Optional field)String (hh:mm format)“11:00”
FirstNameGuest first nameString“Jon”
LastNameGuest last nameString“Doe”
IdNumberGuest ID numberString“123456”
EmailGuest email (Optional field)String“email@example. com”
PhoneGuest phone (Optional field)String“123456789”
RemarksReservation remarks (Optional field)Object
AppendRemarksIf 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"
PrintedPrinted remarks (Optional field)String"Non-smoking room please"
NonPrintedNon-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

ParameterDescriptionTypeExample
ReservationReservation node ListObject
HeaderReservation header objectObject
ArrivalTimeArrival time (Optional field)String (hh:mm format)“15:00”
DepartureTimeDeparture time (Optional field)String (hh:mm format)“11:00”
MembersReservation membersCollection of Member
MemberReservation memberObject
#serialMember serial IDAttribute (string)“00001”, “1”, “2”
RoomTypeRoom type codeString“DBL”, “TPL”
FirstNameGuest first nameString“Jon”
LastNameGuest last nameString“Doe”
IdNumberGuest ID numberString“123456”
EmailGuest email (Optional field)String“email@example. com”
PhoneGuest phone (Optional field)String“123456789”
StatusReservation 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

ParameterDescriptionType
ErrorError elementObject
StatusCodeError codeString
MessageError descriptionString

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