Aiosell to Staydeed (Webhooks)

Inventory Restrictions POST

Aiosell POSTs room-level inventory restrictions (stop-sell, minimum stay, CTA/CTD, etc.) to Staydeed.

POSThttps://staydeed.com/api/ota/inventory

Sent to the SAME endpoint as Inventory POST - you do not build a separate endpoint. The payload adds a restrictions object to each room.

Restrictions are room-type level; available may accompany the restrictions object.

Restriction fields you omit keep their stored value. A field sent as null clears it (booleans reset to false).

Headers

NameRequiredExample
Content-TypeYesapplication/json
AuthorizationYesBasic <base64(user:pass)>

Request body

FieldTypeRequiredDescription
hotelCodestringYesProperty identifier.
updatesarray<Update>YesRestriction update blocks.
updates[].startDatestring (YYYY-MM-DD)YesInclusive start date.
updates[].endDatestring (YYYY-MM-DD)YesInclusive end date.
updates[].roomsarray<Room>YesPer-room restrictions.
updates[].rooms[].roomCodestringYesRoom type identifier.
updates[].rooms[].availableintegerNoAvailable count for the room/date.
updates[].rooms[].restrictionsobjectYesRestriction object (see fields below).
restrictions.stopSellbooleanNoDisable all bookings for this date.
restrictions.minimumStayintegerNoMinimum nights required (0 - 65535).
restrictions.maximumStayinteger | nullNoMaximum nights allowed (0 - 65535).
restrictions.closeOnArrivalbooleanNoBlock check-ins on this date.
restrictions.closeOnDeparturebooleanNoBlock check-outs on this date.
restrictions.minimumStayArrivalinteger | nullNoMinimum stay if arriving on this date.
restrictions.maximumStayArrivalinteger | nullNoMaximum stay if arriving on this date.
restrictions.exactStayArrivalinteger | nullNoExact stay length if arriving on this date.
restrictions.minimumAdvanceReservationinteger | nullNoMin days ahead a booking can be made.
restrictions.maximumAdvanceReservationinteger | nullNoMax days ahead a booking can be made.

Sample payload

{
  "hotelCode": "sandbox-pms",
  "updates": [
    {
      "startDate": "2026-11-10",
      "endDate": "2026-11-12",
      "rooms": [
        {
          "roomCode": "suite",
          "available": 5,
          "restrictions": {
            "stopSell": false,
            "minimumStay": 2,
            "maximumStay": null,
            "closeOnArrival": false,
            "closeOnDeparture": false,
            "minimumStayArrival": null,
            "maximumStayArrival": null,
            "exactStayArrival": null,
            "minimumAdvanceReservation": null,
            "maximumAdvanceReservation": null
          }
        }
      ]
    }
  ]
}

Responses

200Success

{
  "success": true,
  "message": "Inventory Updated Successfully",
  "restrictionNights": 3
}

404Unknown or disabled hotelCode

{
  "success": false,
  "message": "Unknown hotelCode"
}

401Missing or invalid Basic Auth credentials

{
  "success": false,
  "message": "Unauthorized"
}