VRPlatformVRPlatform
Reservations

/reservations/{reservationId}/adjustments

Create a reservation adjustment line. Adjustments post additional journal entries for the reservation and are the supported way to change locked reservations. Pass type or recurringFeeId when the booking is active; canceled bookings may create an unclassified adjustment. A recurring-fee adjustment is rejected before persistence when the fee uses an inactive posting account. If it affects a dependent fee with statement-attached history, the adjustment posts while that dependent historical group stays unchanged. An independently balanced adjustment can post while the parent reservation general ledger status is inactive. Without an explicit generalLedgerPostingAt, the route resolves and persists the earliest valid posting date. Pass onLocked=error to reject a locked natural date instead. Explicit dates remain unchanged, and cannot be combined with onLocked=nextOpen. Supports dryRun. See https://docs.vrplatform.app/guides/build/reservations#adjustments-and-posting-dates.

Required scope: reservations:write

POST
/reservations/{reservationId}/adjustments
X-API-Key<token>

API key provided in dashboard

In: header

Path Parameters

reservationId*string
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Query Parameters

onLocked?string

Use error to reject a locked natural posting date. When omitted without an explicit generalLedgerPostingAt, the adjustment uses nextOpen.

Value in"error" | "nextOpen"
dryRun?boolean

Validate this request through the real write path, then roll back all changes. See https://docs.vrplatform.app/api/dry-run-mode.

Request Body

application/json

id?string|null
description?string|null
reservationRef?string|null
amount*integer

Value in cents (100 = 1€)

Range-9007199254740991 <= value <= 9007199254740991
accountId?string|null
accountRef?string|null
metadata?|null
generalLedgerPostingAt?string|null
type?string|null
recurringFeeId?string|null
party?string|null

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.vrplatform.app/reservations/497f6eca-6276-4993-bfeb-53cbbbba6f08/adjustments" \  -H "Content-Type: application/json" \  -d '{    "amount": -9007199254740991  }'
{
  "currency": "string",
  "uniqueRef": "string",
  "guestName": "string",
  "bookerName": "string",
  "checkIn": "string",
  "checkOut": "string",
  "generalLedgerPostingAt": "string",
  "bookedAt": "string",
  "cancelledAt": "string",
  "bookingPlatform": "string",
  "confirmationCode": "string",
  "pmsReferenceCode": "string",
  "adults": 0,
  "children": 0,
  "guests": 0,
  "userdata": {
    "property1": null,
    "property2": null
  },
  "metadata": {
    "property1": null,
    "property2": null
  },
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "shortRef": "string",
  "generalLedgerStatus": "active",
  "lock": {
    "status": "locked",
    "booksClosed": {
      "date": "string"
    },
    "ownerStatement": {
      "ids": [
        "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      ]
    },
    "reconciled": {
      "bankRecordIds": [
        "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      ]
    },
    "statementPeriod": {
      "hits": [
        {
          "listingId": "8c73d933-f7ed-437e-9da1-caac95adc1ae",
          "txnAt": "string",
          "openFrom": "string"
        }
      ]
    }
  },
  "issues": [
    {
      "code": "lineNotFound",
      "severity": "error",
      "context": {
        "lineIds": [
          "string"
        ],
        "lines": [
          {
            "amount": 0,
            "lineId": "string",
            "name": "string"
          }
        ]
      },
      "message": "string"
    }
  ],
  "issuesComputedAt": "2024-01-15T12:30:00.000+00:00",
  "issuesStale": true,
  "connection": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "status": "active",
    "uniqueRef": "string",
    "appId": "string"
  },
  "nights": 0,
  "status": "booked",
  "bookingPlatformLabel": "string",
  "financials": {
    "totals": {
      "tax": 0,
      "manager": 0,
      "owner": 0,
      "reservation": 0,
      "expense": 0,
      "deposit": 0,
      "guest": 0
    },
    "lines": [
      {
        "name": "string",
        "type": "reservation",
        "party": "owners",
        "status": "active",
        "amount": 0,
        "inactiveReason": "reservationCancelled",
        "currency": "string",
        "account": {
          "id": "string",
          "name": "string",
          "uniqueRef": "string",
          "status": "active",
          "type": "ledger"
        },
        "recurringFee": {
          "id": "string",
          "uniqueRef": "string",
          "name": "string",
          "type": "managementFee"
        },
        "transaction": {
          "id": "string",
          "status": "active",
          "amount": -9007199254740991,
          "account": {
            "id": "string",
            "name": "string",
            "uniqueRef": "string",
            "status": "active"
          },
          "date": "string",
          "description": "string",
          "currency": "string",
          "type": "deposit",
          "isOpeningBalance": true,
          "contact": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "name": "string",
            "firstName": "string",
            "uniqueRef": "string",
            "shortRef": "string",
            "email": "user@example.com",
            "type": "owner"
          },
          "connection": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "name": "string",
            "status": "active",
            "uniqueRef": "string",
            "appId": "string"
          },
          "uniqueRef": "string",
          "shortRef": "string",
          "recurringTemplate": {
            "id": "string"
          }
        },
        "line": {
          "id": "string",
          "type": "string",
          "description": "string"
        },
        "postingDatePreview": {
          "hasMore": true,
          "entries": [
            {
              "postingDate": "string",
              "amount": 0
            }
          ]
        },
        "lock": {
          "status": "locked",
          "booksClosed": {
            "date": "string"
          },
          "ownerStatement": {
            "ids": [
              "497f6eca-6276-4993-bfeb-53cbbbba6f08"
            ]
          },
          "reconciled": {
            "bankRecordIds": [
              "497f6eca-6276-4993-bfeb-53cbbbba6f08"
            ]
          },
          "statementPeriod": {
            "hits": [
              {
                "listingId": "8c73d933-f7ed-437e-9da1-caac95adc1ae",
                "txnAt": "string",
                "openFrom": "string"
              }
            ]
          }
        }
      }
    ]
  },
  "listing": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "uniqueRef": "string",
    "shortRef": "string"
  },
  "listingConnection": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "uniqueRef": "string",
    "shortRef": "string"
  },
  "payment": {
    "expected": 0,
    "received": 0,
    "status": "unpaid"
  },
  "source": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "type": "string",
    "status": "active",
    "appId": "string",
    "appIcon": "string"
  },
  "lines": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "uniqueRef": "string",
      "type": "string",
      "description": "string",
      "amount": -9007199254740991,
      "connectionId": "string",
      "metadata": {
        "property1": null,
        "property2": null
      },
      "generalLedgerPostingAt": "string",
      "account": {
        "id": "string",
        "name": "string",
        "uniqueRef": "string",
        "status": "active"
      },
      "isExcluded": true
    }
  ],
  "adjustments": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "description": "string",
      "amount": -9007199254740991,
      "metadata": {
        "property1": null,
        "property2": null
      },
      "generalLedgerPostingAt": "string",
      "type": "string",
      "party": "owners",
      "account": {
        "id": "string",
        "name": "string",
        "uniqueRef": "string",
        "status": "active"
      },
      "recurringFee": {
        "id": "string",
        "uniqueRef": "string",
        "name": "string",
        "type": "managementFee"
      },
      "lock": {
        "status": "locked",
        "booksClosed": {
          "date": "string"
        },
        "ownerStatement": {
          "ids": [
            "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          ]
        },
        "reconciled": {
          "bankRecordIds": [
            "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          ]
        },
        "statementPeriod": {
          "hits": [
            {
              "listingId": "8c73d933-f7ed-437e-9da1-caac95adc1ae",
              "txnAt": "string",
              "openFrom": "string"
            }
          ]
        }
      }
    }
  ]
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "MISDIRECTED_REQUEST",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": {
    "teamId": "a4ede8ba-7c0a-4485-8763-cbd9b282fbec",
    "dataRegion": "ap",
    "apiBaseUrl": "http://example.com"
  }
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "LOCKED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}