feat: v2 expose booking metadata (#17708)
* feat: accept metadata and store it in database * feat: accept metadata and store it in database * feat: add BookingSeat.metadata column * feat: handleNewBooking: store booking seat metadata when first time seated booking * feat: handleSeats, createNewSeat store metadata when 2nd+ seated booking * feat: return booking metadata in output * tests: metadata * test: seated bookings * swagger * fix: reassign bookings test * test: use different metadata in recurring * fix: test * test invalid metadata * refactor: output service * readd new line * chore: bump platform libraries * refactor: metadata doc
This commit is contained in:
@@ -2996,6 +2996,7 @@
|
||||
"post": {
|
||||
"operationId": "BookingsController_2024_08_13_cancelBooking",
|
||||
"summary": "Cancel a booking",
|
||||
"description": ":bookingUid can be :bookingUid of an usual booking, individual recurrence or recurring booking to cancel all recurrences.\n For seated bookings to cancel one individual booking provide :bookingUid and :seatUid in the request body. For recurring seated bookings it is not possible to cancel all of them with 1 call\n like with non-seated recurring bookings by providing recurring bookind uid - you have to cancel each recurrence booking by its bookingUid + seatUid.",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "cal-api-version",
|
||||
@@ -11549,6 +11550,13 @@
|
||||
"description": "Location for this booking. Displayed in email and calendar event.",
|
||||
"example": "https://example.com/meeting"
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object",
|
||||
"description": "You can store any additional data you want here. Metadata must have at most 50 keys, each key up to 40 characters, and string values up to 500 characters.",
|
||||
"example": {
|
||||
"key": "value"
|
||||
}
|
||||
},
|
||||
"bookingFieldsResponses": {
|
||||
"type": "object",
|
||||
"description": "Booking field responses consisting of an object with booking field slug as keys and user response as values.",
|
||||
@@ -11604,6 +11612,13 @@
|
||||
"description": "Location for this booking. Displayed in email and calendar event.",
|
||||
"example": "https://example.com/meeting"
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object",
|
||||
"description": "You can store any additional data you want here. Metadata must have at most 50 keys, each key up to 40 characters, and string values up to 500 characters.",
|
||||
"example": {
|
||||
"key": "value"
|
||||
}
|
||||
},
|
||||
"bookingFieldsResponses": {
|
||||
"type": "object",
|
||||
"description": "Booking field responses consisting of an object with booking field slug as keys and user response as values.",
|
||||
@@ -11664,6 +11679,13 @@
|
||||
"description": "Location for this booking. Displayed in email and calendar event.",
|
||||
"example": "https://example.com/meeting"
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object",
|
||||
"description": "You can store any additional data you want here. Metadata must have at most 50 keys, each key up to 40 characters, and string values up to 500 characters.",
|
||||
"example": {
|
||||
"key": "value"
|
||||
}
|
||||
},
|
||||
"bookingFieldsResponses": {
|
||||
"type": "object",
|
||||
"description": "Booking field responses consisting of an object with booking field slug as keys and user response as values.",
|
||||
@@ -11770,6 +11792,12 @@
|
||||
"type": "boolean",
|
||||
"example": true
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
}
|
||||
},
|
||||
"attendees": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@@ -11884,6 +11912,12 @@
|
||||
"type": "boolean",
|
||||
"example": true
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
}
|
||||
},
|
||||
"attendees": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
|
||||
Reference in New Issue
Block a user