# Lock a specified roomstay Locks the room stay identified by the given ID, preventing further modifications. This operation is useful for ensuring that the details of a room stay are finalized and cannot be altered. If the specified room stay ID does not exist, a error will be returned. In case of an unexpected system error, a will be triggered. Endpoint: PATCH /api/v3/roomStays/roomStays/{id}/lock Version: 3.0.4 Security: OAuth2 ## Path parameters: - `id` (integer, required) The unique identifier of the room stay to lock ## Response 200 fields (application/json): - `id` (integer) Unique identifier of the room stay - `rate` (object) Rate summary of the room stay - `rate.id` (integer) Unique identifier of the rate - `rate.rateCode` (string) Code of the rate - `rate.rateType` (string) Type of the rate Enum: "DAILY", "WEEKLY", "MONTHLY" - `rate.name` (string) Name of the rate - `startDate` (string) Start date of the room stay - `endDate` (string) End date of the room stay - `estimatedArrivalTime` (object) Estimated departure time - `estimatedArrivalTime.hour` (integer) - `estimatedArrivalTime.minute` (integer) - `estimatedArrivalTime.second` (integer) - `estimatedArrivalTime.nano` (integer) - `estimatedDepartureTime` (object) Estimated departure time - `earlyCheckIn` (boolean) Indicates if early check-in is allowed - `lateCheckOut` (boolean) Indicates if late check-out is allowed - `externalNotes` (string) External notes for the room stay - `opsInformation` (string) Operational information - `additionalAccessInformation` (string) Additional access information - `booking` (object) Booking associated with the issue - `booking.id` (integer) The unique identifier of the booking - `booking.bookingReference` (string) The booking reference number - `roomStayStatus` (string) Status of the room stay Enum: "ENQUIRY", "QUOTED", "PENDING", "MEDIATION_REQUIRED", "CONFIRMED", "CHECKED_IN", "CHECKED_OUT", "COMPLETE", "CANCELLED", "LOST" - `unit` (object) Summary of the Unit associated with the Unit Access Group - `unit.id` (integer) Unique identifier of the unit Example: 1 - `unit.name` (string) Name of the unit Example: "Apartment 101" - `originalUnit` (object) Summary of the Unit associated with the Unit Access Group - `unitType` (object) Type summary of the unit - `unitType.id` (integer) Unique identifier of the unit type Example: 1 - `unitType.name` (string) Name of the unit type Example: "Studio Apartment" - `discountNet` (number) Net discount amount - `discountRate` (number) Discount rate - `buyPrice` (number) Buy price - `baseBuyPrice` (number) Base buy price - `reportingBuyPrice` (number) Reporting buy price - `agencyCommission` (number) Agency commission - `discountDailyRate` (number) Discount daily rate - `vatInclusive` (boolean) Indicates if VAT is inclusive - `holdUntil` (string) Hold until date and time - `extendUntil` (string) Extend until date and time - `expiresAt` (string) Expiration date and time - `extensionOf` (object) Room stay related to the Activity - `extensionOf.netAmount` (number) Net amount for the room stay - `extensionOf.vatAmount` (number) VAT amount for the room stay - `extensionOf.numberOfAdults` (integer) Number of adults in the room stay - `extensionOf.numberOfChildren` (integer) Number of children in the room stay - `extensionOf.numberOfInfants` (integer) Number of infants in the room stay - `netAmount` (number) Net amount - `baseNetAmount` (number) Base net amount - `reportingNetAmount` (number) Reporting net amount - `vatAmount` (number) VAT amount - `baseVatAmount` (number) Base VAT amount - `reportingVatAmount` (number) Reporting VAT amount - `vatProfile` (object) VAT profile - `vatProfile.id` (integer) The unique identifier of the VAT profile - `vatProfile.name` (string) The name of the VAT profile - `vatProfile.description` (string) The description of the VAT profile - `vatProfile.primaryProfile` (boolean) Indicates if this is the primary profile - `vatProfile.systemProfile` (boolean) Indicates if this is a system profile - `lastStatus` (string) Last status of the room stay Enum: "ENQUIRY", "QUOTED", "PENDING", "MEDIATION_REQUIRED", "CONFIRMED", "CHECKED_IN", "CHECKED_OUT", "COMPLETE", "CANCELLED", "LOST" - `lastStatusChangeDate` (string) Last status change date and time - `conversionDate` (string) Conversion date and time - `numberOfGuests` (integer) Number of guests - `bookableOnline` (boolean) Indicates if the room stay is bookable online - `identifier` (string) Identifier - `clientPrice` (number) Client price - `baseClientPrice` (number) Base client price - `reportingClientPrice` (number) Reporting client price - `accommodationProduct` (object) Product details - `accommodationProduct.id` (integer) Unique identifier of the product Example: 1 - `accommodationProduct.productCode` (string) Code of the product Example: "PROD-001" - `accommodationProduct.name` (string) Name of the product Example: "Product 1" - `promotionalCodeType` (string) Promotional code type Enum: "DAILY_PERCENTAGE" - `promotionalCodeAmount` (number) Promotional code amount - `promotionalCodeCode` (string) Promotional code - `promotionalCodeDescription` (string) Promotional code description - `splitBooking` (boolean) Indicates if the booking is split - `lockRoomStay` (boolean) Indicates if the room stay is locked - `currency` (object) Base currency details of the invoice - `currency.id` (integer) Unique identifier of the currency Example: 1 - `currency.name` (string) Name of the currency Example: "US Dollar" - `baseCurrency` (object) Base currency details of the invoice - `buyCurrency` (object) Base currency details of the invoice - `extensionOfOriginal` (object) Room stay related to the Activity - `originalRate` (number) Original rate - `confirmedDate` (string) Confirmed date and time - `lostReasonNote` (string) Lost reason note - `lostReason` (object) Lost reason - `lostReason.id` (integer) Unique identifier of the reason - `lostReason.reason` (string) Description of the reason - `lostReason.turnedAway` (boolean) Indicates if the reason is for being turned away - `lostReason.type` (string) Type of the reason Enum: "CANCELLATION", "AMENDMENT" - `billingAccountOverride` (object) Finance account details - `billingAccountOverride.id` (integer) Unique identifier of the finance account - `billingAccountOverride.accountCode` (string) Account code of the finance account - `billingAccountOverride.contact` (object) The primary correspondence contact of the company - `billingAccountOverride.contact.id` (integer) Unique identifier of the contact - `billingAccountOverride.contact.firstName` (string) First name of the contact - `billingAccountOverride.contact.lastName` (string) Last name of the contact - `billingAccountOverride.company` (object) Company summary associated with the finance account - `billingAccountOverride.company.id` (integer) Unique identifier of the company - `billingAccountOverride.company.companyName` (string) Name of the company - `billingAccountOverride.externalId` (string) External identifier of the finance account - `billingAccountOverride.exportedDate` (string) Date when the finance account was exported - `billingAccountOverride.exportStatus` (string) Export status of the finance account Enum: "SKIPPED", "CREATED", "PENDING", "SENT", "EXPORTED", "FAILED", "IMPORTED" - `overnightGuestCount` (integer) Overnight guest count - `contractSignedDate` (string) Contract signed date and time - `depositAmount` (number) Deposit amount - `numberOfAdults` (integer) Number of adults - `numberOfChildren` (integer) Number of children - `numberOfInfants` (integer) Number of infants - `organisationSettings` (object) Organisation settings - `organisationSettings.id` (integer) The unique identifier of the organisation settings Example: 1 - `organisationSettings.name` (string) The name of the organisation Example: "Resharmonics" - `organisationSettings.currency` (object) The currency of the organisation - `organisationSettings.currency.description` (string) Description of the currency - `organisationSettings.currency.symbol` (string) Symbol of the currency - `organisationSettings.currency.exchangeRate` (number) Exchange rate of the currency - `organisationSettings.currency.baseRate` (number) Base rate of the currency - `organisationSettings.currency.unit` (string) Unit of the currency - `organisationSettings.currency.autoUpdate` (boolean) Indicates if the currency is auto-updated - `organisationSettings.currency.primaryCurrency` (boolean) Indicates if this is the primary currency - `organisationSettings.currency.htmlSafeSymbol` (string) HTML safe symbol of the currency - `organisationSettings.country` (object) Data Transfer Object representing a Country entity in the Property Management System (PMS). - `organisationSettings.country.id` (integer) Unique identifier of the country - `organisationSettings.country.name` (string, required) Name of the country - `organisationSettings.country.sortOrder` (integer, required) Sort order of the country - `organisationSettings.country.countryCodeAlpha2` (string, required) Alpha-2 country code - `organisationSettings.country.countryCodeAlpha3` (string, required) Alpha-3 country code - `organisationSettings.country.countryCodeNumeric` (string, required) Numeric country code