Skip to main content

Allocates or releases specific seats in a cart item.

POST 

/api/v1/cart/allocateManualSeats

Flags or unflags seats for a given cart item and event session. Supports selecting seats with a rate or releasing previously selected seats. If no cart item exists, the endpoint creates a cart item automatically.

Note: Distanciation rules (social distancing) are not applied in the REST version. This is a design decision to simplify the initial implementation. If distanciation support is needed, it will be added in a future version.

SOAP Equivalent: AWSP_AllocSeatsManual

Examples

✅ Success (200)

{
"cartId": 12,
"cartItemId": 345,
"cartItemDetail": [
{
"rateId": 7,
"amount": 45.00,
"fees": 2.50,
"seatProperties": {
"seatId": 8901,
"categoryId": 3,
"contingentId": 10,
"designationId": 22,
"floorId": 1,
"blockId": 5,
"accessId": null,
"tribuneId": null,
"doorId": null,
"categoryLabel": "Catégorie 1",
"designationLabel": "Gradin",
"floorLabel": "Parterre",
"blockLabel": "Bloc A",
"accessLabel": null,
"tribuneLabel": null,
"doorLabel": null,
"rank": "A",
"seat": "12",
"coordX": 15.2,
"coordY": 8.7,
"status": 0,
"type": 100,
"isNumbered": true,
"rotation": 0
}
}
],
"errors": []
}

❌ Error 400 - Missing x-tenant header

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "Bad Request",
"status": 400,
"detail": "The x-tenant header is required"
}

❌ Error 422 - Validation failed

The endpoint validates request parameters before processing. Multiple validation errors can be returned.

Common validation errors:

  • CartId must be greater than or equal to 0
  • CartItemId must be greater than or equal to 0
  • EventSessionId must be greater than 0
  • Detail must contain at least one seat operation
  • Detail[].SeatId must be greater than 0
  • Detail[].RateId must be greater than 0
  • CartItemId must be provided when deselecting seats (cannot deselect from a non-existent cart item)

Example - Invalid CartId:

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "Validation Failed",
"status": 422,
"detail": "The request contains 1 validation error(s)",
"errors": [
{
"field": "cartId",
"message": "CartId must be greater than or equal to 0"
}
],
"errorCount": 1,
"traceId": "00-abc123-def456-00",
"timestamp": "2025-01-15T10:30:45.123Z"
}

Example - Invalid CartItemId:

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "Validation Failed",
"status": 422,
"detail": "The request contains 1 validation error(s)",
"errors": [
{
"field": "cartItemId",
"message": "CartItemId must be greater than or equal to 0"
}
],
"errorCount": 1,
"traceId": "00-abc123-def456-00",
"timestamp": "2025-01-15T10:30:45.123Z"
}

Example - Invalid EventSessionId:

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "Validation Failed",
"status": 422,
"detail": "The request contains 1 validation error(s)",
"errors": [
{
"field": "eventSessionId",
"message": "EventSessionId must be greater than 0"
}
],
"errorCount": 1,
"traceId": "00-abc123-def456-00",
"timestamp": "2025-01-15T10:30:45.123Z"
}

Example - Empty Detail array:

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "Validation Failed",
"status": 422,
"detail": "The request contains 1 validation error(s)",
"errors": [
{
"field": "detail",
"message": "Detail must contain at least one seat operation"
}
],
"errorCount": 1,
"traceId": "00-abc123-def456-00",
"timestamp": "2025-01-15T10:30:45.123Z"
}

Example - Multiple validation errors (invalid SeatId and RateId):

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "Validation Failed",
"status": 422,
"detail": "The request contains 2 validation error(s)",
"errors": [
{
"field": "detail[0].seatId",
"message": "SeatId must be greater than 0"
},
{
"field": "detail[0].rateId",
"message": "RateId must be greater than 0"
}
],
"errorCount": 2,
"traceId": "00-abc123-def456-00",
"timestamp": "2025-01-15T10:30:45.123Z"
}

Example - Deselection with zero CartItemId:

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "Validation Failed",
"status": 422,
"detail": "The request contains 1 validation error(s)",
"errors": [
{
"field": "cartItemId",
"message": "CartItemId must be provided when deselecting seats. Cannot deselect seats from a non-existent cart item."
}
],
"errorCount": 1,
"traceId": "00-abc123-def456-00",
"timestamp": "2025-01-15T10:30:45.123Z"
}

❌ Error 422 - Cart validation failed (errorCode: 13001)

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "Cart validation failed",
"status": 422,
"detail": "The provided CartId does not match the cart item.",
"errorCode": 13001,
"errorCount": 1,
"traceId": "00-abc123-def456-00",
"timestamp": "2025-01-15T10:30:45.123Z"
}

❌ Error 422 - Event session validation failed (errorCode: 13002)

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "Event session validation failed",
"status": 400,
"detail": "The provided EventSessionId is not valid for this cart item.",
"errorCode": 13002,
"errorCount": 1,
"traceId": "00-abc123-def456-00",
"timestamp": "2025-01-15T10:30:45.123Z"
}

❌ Error 422 - Invalid cart item type (errorCode: 13003)

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "Invalid cart item type",
"status": 400,
"detail": "The cart item is not a CONNECT session.",
"errorCode": 13003,
"errorCount": 1,
"traceId": "00-abc123-def456-00",
"timestamp": "2025-01-15T10:30:45.123Z"
}

❌ Error 422 - Cart item disabled (errorCode: 13004)

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "Cart item disabled",
"status": 400,
"detail": "The cart item is disabled and cannot be modified.",
"errorCode": 13004,
"errorCount": 1,
"traceId": "00-abc123-def456-00",
"timestamp": "2025-01-15T10:30:45.123Z"
}

❌ Error 404 - Cart item not found (errorCode: 13005)

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.4",
"title": "Not Found",
"status": 404,
"detail": "The requested cart item was not found.",
"errorCode": 13005,
"errorCount": 1,
"traceId": "00-abc123-def456-00",
"timestamp": "2025-01-15T10:30:45.123Z"
}

❌ Error 500 - Server error

{
"type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
"title": "Internal Server Error",
"status": 500,
"detail": "An unexpected error occurred",
"traceId": "00-abc123-def456-00"
}

SOAP to REST Field Mapping

REST FieldSOAP FieldNotes
cartIdid_TemporaryOrderCart identifier (ID_FlagGroup), passed by ref
cartItemIdid_TemporaryOrderRowCart item identifier (ID_InterfaceFlag), passed by ref
eventSessionIdid_CatalogDateCatalog content / session identifier
detail[].seatIdlistAllocRequest[].ID_SeatSeat to flag/unflag
detail[].rateIdlistAllocRequest[].ID_RateRate applied when selecting
detail[].actionSelectlistAllocRequest[].ActionSelecttrue = select, false = unselect
cartItemDetail[].rateIdlistAllocSeats[].ID_RateRate identifier for allocated seat
cartItemDetail[].amountlistAllocSeats[].AmountSeat price amount
cartItemDetail[].feeslistAllocSeats[].FeesAdditional fees for the seat
cartItemDetail[].seatPropertieslistAllocSeats[].Seat_DetailComplete seat properties
errors[].seatIdlistAllocError[].ID_SeatSeat identifier that produced the error
errors[].errorlistAllocError[].ErrorError code (aligns with SOAP error codes)

Request

Responses

OK