Aiosell to Staydeed (Webhooks)

Reservation Push

Aiosell POSTs reservation details to Staydeed when a booking is created, modified, or cancelled by an OTA.

POSThttps://staydeed.com/api/aiosell/reservations

This endpoint is hosted by Staydeed.

The action field selects the operation: book, modify, or cancel.

A cancel needs only action, hotelCode, channel, and bookingId.

Dates use YYYY-MM-DD; bookedOn is a YYYY-MM-DD HH:MM:SS timestamp.

Headers

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

Request body

Fields marked "book, modify" are required for those actions and not needed for `cancel`.

FieldTypeRequiredDescription
actionstringYesOperation type: book, modify, or cancel.
hotelCodestringYesProperty identifier (the motel code).
bookingIdstringYesOTA booking reference.
channelstringYesOTA channel name.
cmBookingIdstringNoChannel manager booking id.
bookedOnstring (timestamp)NoBooking creation timestamp.
checkinstring (YYYY-MM-DD)book, modifyCheck-in date.
checkoutstring (YYYY-MM-DD)book, modifyCheck-out date.
segmentstringNoBooking segment.
specialRequestsstringNoGuest special requests (free text).
pahbooleanNoPay-at-hotel flag.
amountobjectNoPricing breakup (see below).
amount.amountAfterTaxnumberNoTotal after tax.
amount.amountBeforeTaxnumberNoTotal before tax.
amount.taxnumberNoTax amount.
amount.currencystringNoISO currency code.
amount.commissionnumberNoOTA commission.
amount.tcsnumberNoTCS amount.
amount.tdsnumberNoTDS amount.
guestobjectNoGuest information (see below).
guest.firstNamestringNoGuest first name.
guest.lastNamestringNoGuest last name.
guest.emailstringNoGuest email.
guest.phonestringNoGuest phone.
guest.addressobjectNoGuest address (line1, city, state, country, zipCode).
roomsarray<Room>book, modifyRoom details for the booking.
rooms[].roomCodestringYesRoom type identifier.
rooms[].rateplanCodestringNoRate plan identifier.
rooms[].guestNamestringNoName of the room guest.
rooms[].occupancyobjectNo{ adults, children }.
rooms[].pricesarrayNoPer-night { date, sellRate } entries.
creditCardobjectNoVirtual card details, when the OTA provides them. Card fields arrive encrypted; Staydeed stores them in an encrypted vault.

Sample payload

{
  "action": "book",
  "hotelCode": "sandbox-pms",
  "channel": "Booking.com",
  "bookingId": "BDC5238846",
  "cmBookingId": "AIOSELL0001",
  "bookedOn": "2026-10-20 12:30:45",
  "checkin": "2026-11-10",
  "checkout": "2026-11-12",
  "segment": "OTA",
  "specialRequests": "Airport transfer required",
  "pah": false,
  "amount": {
    "amountAfterTax": 15700,
    "amountBeforeTax": 14000,
    "tax": 1700,
    "currency": "INR",
    "commission": 1400,
    "tcs": 0,
    "tds": 0
  },
  "guest": {
    "firstName": "Jane",
    "lastName": "Doe",
    "email": "jane@example.com",
    "phone": "+10000000000",
    "address": {
      "line1": "1 Main Street",
      "city": "Detroit",
      "state": "MI",
      "country": "US",
      "zipCode": "48150"
    }
  },
  "rooms": [
    {
      "roomCode": "suite",
      "rateplanCode": "suite-d-cp",
      "guestName": "Jane Doe",
      "occupancy": {
        "adults": 2,
        "children": 0
      },
      "prices": [
        {
          "date": "2026-11-10",
          "sellRate": 7000
        },
        {
          "date": "2026-11-11",
          "sellRate": 7000
        }
      ]
    }
  ]
}

Responses

200Success

{
  "success": true,
  "message": "Reservation Updated Successfully"
}

200Success

{
  "success": true,
  "message": "Reservation Modified Successfully"
}

200Success

{
  "success": true,
  "message": "Reservation Cancelled Successfully"
}

200Held for review (e.g. unmapped room code, no availability)

{
  "success": false,
  "message": "The room code is not mapped to a room type. Held for review by the property."
}

401Missing or invalid Basic Auth credentials

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