En línea ahora  

/v1/floorplan/

Community-built floorplan layer. A floorplan is a venue/event interior map (`ATFloorplans` -> `ATFloorplanFloors` -> `ATFloorplanLayouts` -> `ATFloorplanAreas`). Community members draw the walls and furniture in-browser; the resulting areas can be tagged on `ATLocation.ATFloorplanArea_ID` or `ATLocationEvents.ATFloorplanArea_ID`, and trades that settle against tagged venues pay the floorplan creator a royalty (handled in `events/ontransactionstatechange/commission.php`). Architecture vs. furniture: each floor stores an `ArchitectureSVG` text blob for the bits that don't change (walls, columns, restrooms) and one or more `ATFloorplanLayouts` rows for the bits that DO (tables, sections, patio seating). Exactly one layout per floor is `Status='Active'` at any given moment; older Active layouts flip to `Historical` when a new one goes live, so attribution still resolves for past appointments. Composer integration is intentionally deferred to a follow-up; v1 ships with a direct creation entry point (`set_new`) callable from the gallery page or any other surface. Every new floorplan links directly to an `ATLocation_ID`, an `ATLocationEvent_ID`, or both. Auth: `set_*` writes require `Permission::CanCreateFloorplan`, ownership, or `Permission::CanReviewFloorplanSubmissions` depending on the action. Reads of an Active floorplan are public so consuming surfaces can render it without auth.
GET

/v1/floorplan/get_by_id

#
Returns one floorplan by ID with all floors, layouts, and areas hydrated. Used by the editor JS to refresh state after a write. Public-by-design: the floorplan tree itself isn't sensitive (the editor surface gates its own write actions via permissions).

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATFloorplan_ID int si — Floorplan to fetch.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/floorplan/get_by_id' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATFloorplan_ID={{ATFloorplan_ID}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_get_by_id_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.floorplan si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATLocation_ID si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATLocation_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATLocation_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATLocation_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATLocation_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATLocationEvent_ID si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATLocationEvent_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATLocationEvent_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATLocationEvent_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATLocationEvent_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].Creator-ATUser_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].Creator-ATUser_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].Creator-ATUser_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATDiscussionPosts_ID si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATDiscussionPosts_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATDiscussionPosts_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATDiscussionPosts_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ATDiscussionPosts_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].Namestring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].URLSlug si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].URLSlug.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].URLSlug.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].Statusstring ["Draft","Submitted","Active","Superseded","Rejected"] si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].PublishedDate si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].PublishedDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].PublishedDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ReviewedBy-ATUser_ID si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ReviewedBy-ATUser_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ReviewedBy-ATUser_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ReviewedBy-ATUser_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].ReviewedBy-ATUser_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].Cache-EarnedTraderPointsDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].Cache-EarnedTraderPoints.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].Cache-EarnedTraderPoints.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].LocationName si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].LocationName.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].LocationName.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].LocationAlias si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].LocationAlias.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].LocationAlias.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].EventName si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].EventName.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].EventName.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].EventURLSlug si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].EventURLSlug.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].EventURLSlug.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].location si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].location.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].location.anyOf[0].ATLocation_IDinteger si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].location.anyOf[0].Namestring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].location.anyOf[0].Aliasstring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].location.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].event si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].event.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].event.anyOf[0].ATLocationEvent_IDinteger si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].event.anyOf[0].Namestring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].event.anyOf[0].URLSlugstring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].event.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floorsarray si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[]object No
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ATFloorplan_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ATFloorplan_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ATFloorplan_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].Namestring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].FloorOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].FloorOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].FloorOrder.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ViewBoxWidthDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ViewBoxWidth.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ViewBoxWidth.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ViewBoxHeightDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ViewBoxHeight.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ViewBoxHeight.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ArchitectureSVG si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ArchitectureSVG.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].ArchitectureSVG.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].BackgroundImageURL si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].BackgroundImageURL.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].BackgroundImageURL.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layoutsarray si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[]object No
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].ATFloorplanFloor_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].ATFloorplanFloor_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].ATFloorplanFloor_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].Namestring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].Statusstring ["Draft","Active","Historical"] si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].EffectiveStartDate si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].EffectiveStartDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].EffectiveStartDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].EffectiveEndDate si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].EffectiveEndDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].EffectiveEndDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].Creator-ATUser_ID si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].Creator-ATUser_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].Creator-ATUser_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].Creator-ATUser_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].Creator-ATUser_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areasarray si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[]object No
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].ATFloorplanLayout_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].ATFloorplanLayout_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].ATFloorplanLayout_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].Labelstring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].Category si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].Category.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].Category.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].SVGShapestring ["rect","polygon","circle","path"] si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].SVGGeometrystring si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].DesirabilityScore si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].DesirabilityScore.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].DesirabilityScore.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].DesirabilityScore.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].DesirabilityScore.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].Capacity si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].Capacity.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].Capacity.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].Capacity.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].Capacity.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].SortOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].SortOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[0].floors[].layouts[].areas[].SortOrder.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplan.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/get_by_id",
    "RequestUserAlias": "example-user",
    "Payload": {
        "floorplan": {
            "ID": 0,
            "CreatedDate": "synthetic-example",
            "LastUpdateDate": "synthetic-example",
            "DeletedDate": null,
            "ATLocation_ID": 0,
            "ATLocationEvent_ID": 0,
            "Creator-ATUser_ID": 0,
            "ATDiscussionPosts_ID": 0,
            "Name": "synthetic-example",
            "URLSlug": "synthetic-example",
            "Status": "Draft",
            "PublishedDate": "synthetic-example",
            "ReviewedBy-ATUser_ID": 0,
            "Cache-EarnedTraderPoints": 0,
            "LocationName": "synthetic-example",
            "LocationAlias": "synthetic-example",
            "EventName": "synthetic-example",
            "EventURLSlug": "synthetic-example",
            "location": {
                "ATLocation_ID": 0,
                "Name": "synthetic-example",
                "Alias": "synthetic-example"
            },
            "event": {
                "ATLocationEvent_ID": 0,
                "Name": "synthetic-example",
                "URLSlug": "synthetic-example"
            },
            "floors": []
        }
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/floorplan/get_floor

#
Single-floor detail (architecture SVG + the floor's Active layout with all areas). Used by the editor when switching between floors. Public-by-design: same rationale as `get_for_location`.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATFloorplanFloor_ID int si — Floor row ID.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/floorplan/get_floor' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATFloorplanFloor_ID={{ATFloorplanFloor_ID}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_get_floor_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.floor si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ATFloorplan_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ATFloorplan_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ATFloorplan_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].Namestring si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].FloorOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].FloorOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].FloorOrder.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ViewBoxWidthDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ViewBoxWidth.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ViewBoxWidth.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ViewBoxHeightDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ViewBoxHeight.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ViewBoxHeight.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ArchitectureSVG si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ArchitectureSVG.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].ArchitectureSVG.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].BackgroundImageURL si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].BackgroundImageURL.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].BackgroundImageURL.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layoutsarray si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[]object No
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].ATFloorplanFloor_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].ATFloorplanFloor_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].ATFloorplanFloor_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].Namestring si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].Statusstring ["Draft","Active","Historical"] si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].EffectiveStartDate si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].EffectiveStartDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].EffectiveStartDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].EffectiveEndDate si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].EffectiveEndDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].EffectiveEndDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].Creator-ATUser_ID si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].Creator-ATUser_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].Creator-ATUser_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].Creator-ATUser_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].Creator-ATUser_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areasarray si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[]object No
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].ATFloorplanLayout_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].ATFloorplanLayout_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].ATFloorplanLayout_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].Labelstring si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].Category si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].Category.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].Category.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].SVGShapestring ["rect","polygon","circle","path"] si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].SVGGeometrystring si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].DesirabilityScore si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].DesirabilityScore.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].DesirabilityScore.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].DesirabilityScore.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].DesirabilityScore.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].Capacity si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].Capacity.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].Capacity.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].Capacity.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].Capacity.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].SortOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].SortOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floor.anyOf[0].layouts[].areas[].SortOrder.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floor.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/get_floor",
    "RequestUserAlias": "example-user",
    "Payload": {
        "floor": {
            "ID": 0,
            "CreatedDate": "synthetic-example",
            "LastUpdateDate": "synthetic-example",
            "DeletedDate": null,
            "ATFloorplan_ID": 0,
            "Name": "synthetic-example",
            "FloorOrder": 0,
            "ViewBoxWidth": 0,
            "ViewBoxHeight": 0,
            "ArchitectureSVG": "synthetic-example",
            "BackgroundImageURL": "synthetic-example",
            "layouts": []
        }
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/floorplan/get_for_event

#
Returns Active floorplans linked to an `ATLocationEvents` row via `ATFloorplans.ATLocationEvent_ID`. Public-by-design: floorplans are reused across modules and apps; no sensitive content lives on this surface.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATLocationEvent_ID int si — Event to fetch floorplans for.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/floorplan/get_for_event' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATLocationEvent_ID={{ATLocationEvent_ID}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_get_for_event_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.floorplansarray si
$.oneOf[0].allOf[1].Payload.floorplans[]object No
$.oneOf[0].allOf[1].Payload.floorplans[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floorplans[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floorplans[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocation_ID si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocation_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocation_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocation_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocation_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocationEvent_ID si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocationEvent_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocationEvent_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocationEvent_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocationEvent_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].Creator-ATUser_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].Creator-ATUser_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].Creator-ATUser_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].ATDiscussionPosts_ID si
$.oneOf[0].allOf[1].Payload.floorplans[].ATDiscussionPosts_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].ATDiscussionPosts_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].ATDiscussionPosts_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].ATDiscussionPosts_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].Namestring si
$.oneOf[0].allOf[1].Payload.floorplans[].URLSlug si
$.oneOf[0].allOf[1].Payload.floorplans[].URLSlug.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].URLSlug.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].Statusstring ["Draft","Submitted","Active","Superseded","Rejected"] si
$.oneOf[0].allOf[1].Payload.floorplans[].PublishedDate si
$.oneOf[0].allOf[1].Payload.floorplans[].PublishedDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].PublishedDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].ReviewedBy-ATUser_ID si
$.oneOf[0].allOf[1].Payload.floorplans[].ReviewedBy-ATUser_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].ReviewedBy-ATUser_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].ReviewedBy-ATUser_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].ReviewedBy-ATUser_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].Cache-EarnedTraderPointsDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].Cache-EarnedTraderPoints.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].Cache-EarnedTraderPoints.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].LocationName si
$.oneOf[0].allOf[1].Payload.floorplans[].LocationName.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].LocationName.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].LocationAlias si
$.oneOf[0].allOf[1].Payload.floorplans[].LocationAlias.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].LocationAlias.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].EventName si
$.oneOf[0].allOf[1].Payload.floorplans[].EventName.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].EventName.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].EventURLSlug si
$.oneOf[0].allOf[1].Payload.floorplans[].EventURLSlug.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].EventURLSlug.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].location si
$.oneOf[0].allOf[1].Payload.floorplans[].location.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.floorplans[].location.anyOf[0].ATLocation_IDinteger si
$.oneOf[0].allOf[1].Payload.floorplans[].location.anyOf[0].Namestring si
$.oneOf[0].allOf[1].Payload.floorplans[].location.anyOf[0].Aliasstring si
$.oneOf[0].allOf[1].Payload.floorplans[].location.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].event si
$.oneOf[0].allOf[1].Payload.floorplans[].event.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.floorplans[].event.anyOf[0].ATLocationEvent_IDinteger si
$.oneOf[0].allOf[1].Payload.floorplans[].event.anyOf[0].Namestring si
$.oneOf[0].allOf[1].Payload.floorplans[].event.anyOf[0].URLSlugstring si
$.oneOf[0].allOf[1].Payload.floorplans[].event.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floorsarray si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[]object No
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ATFloorplan_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ATFloorplan_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ATFloorplan_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].Namestring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].FloorOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].FloorOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].FloorOrder.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ViewBoxWidthDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ViewBoxWidth.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ViewBoxWidth.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ViewBoxHeightDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ViewBoxHeight.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ViewBoxHeight.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ArchitectureSVG si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ArchitectureSVG.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ArchitectureSVG.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].BackgroundImageURL si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].BackgroundImageURL.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].BackgroundImageURL.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layoutsarray si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[]object No
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].ATFloorplanFloor_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].ATFloorplanFloor_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].ATFloorplanFloor_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Namestring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Statusstring ["Draft","Active","Historical"] si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].EffectiveStartDate si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].EffectiveStartDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].EffectiveStartDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].EffectiveEndDate si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].EffectiveEndDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].EffectiveEndDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Creator-ATUser_ID si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Creator-ATUser_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Creator-ATUser_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Creator-ATUser_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Creator-ATUser_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areasarray si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[]object No
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].ATFloorplanLayout_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].ATFloorplanLayout_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].ATFloorplanLayout_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Labelstring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Category si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Category.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Category.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].SVGShapestring ["rect","polygon","circle","path"] si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].SVGGeometrystring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].DesirabilityScore si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].DesirabilityScore.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].DesirabilityScore.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].DesirabilityScore.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].DesirabilityScore.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Capacity si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Capacity.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Capacity.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Capacity.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Capacity.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].SortOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].SortOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].SortOrder.oneOf[1]string si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/get_for_event",
    "RequestUserAlias": "example-user",
    "Payload": {
        "floorplans": []
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/floorplan/get_for_location

#
Returns the Active floorplans linked to an `ATLocation` via the direct `ATFloorplans.ATLocation_ID` column, with all floors, the currently- Active layout per floor, and every area on that layout. Returns an empty list (still wrapped in Success) when no Active floorplan covers the venue. Multiple floorplans may cover the same venue (different creators, different perspectives). Consuming surfaces typically render the first Active result; finer attribution comes via the area-level tag `ATLocation.ATFloorplanArea_ID`. Public-by-design: floorplans are reused across modules and apps; no sensitive content lives on this surface.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATLocation_ID int si — Location to fetch floorplans for.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/floorplan/get_for_location' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATLocation_ID={{ATLocation_ID}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_get_for_location_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.floorplansarray si
$.oneOf[0].allOf[1].Payload.floorplans[]object No
$.oneOf[0].allOf[1].Payload.floorplans[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floorplans[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floorplans[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocation_ID si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocation_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocation_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocation_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocation_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocationEvent_ID si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocationEvent_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocationEvent_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocationEvent_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].ATLocationEvent_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].Creator-ATUser_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].Creator-ATUser_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].Creator-ATUser_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].ATDiscussionPosts_ID si
$.oneOf[0].allOf[1].Payload.floorplans[].ATDiscussionPosts_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].ATDiscussionPosts_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].ATDiscussionPosts_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].ATDiscussionPosts_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].Namestring si
$.oneOf[0].allOf[1].Payload.floorplans[].URLSlug si
$.oneOf[0].allOf[1].Payload.floorplans[].URLSlug.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].URLSlug.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].Statusstring ["Draft","Submitted","Active","Superseded","Rejected"] si
$.oneOf[0].allOf[1].Payload.floorplans[].PublishedDate si
$.oneOf[0].allOf[1].Payload.floorplans[].PublishedDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].PublishedDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].ReviewedBy-ATUser_ID si
$.oneOf[0].allOf[1].Payload.floorplans[].ReviewedBy-ATUser_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].ReviewedBy-ATUser_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].ReviewedBy-ATUser_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].ReviewedBy-ATUser_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].Cache-EarnedTraderPointsDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].Cache-EarnedTraderPoints.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].Cache-EarnedTraderPoints.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].LocationName si
$.oneOf[0].allOf[1].Payload.floorplans[].LocationName.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].LocationName.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].LocationAlias si
$.oneOf[0].allOf[1].Payload.floorplans[].LocationAlias.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].LocationAlias.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].EventName si
$.oneOf[0].allOf[1].Payload.floorplans[].EventName.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].EventName.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].EventURLSlug si
$.oneOf[0].allOf[1].Payload.floorplans[].EventURLSlug.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].EventURLSlug.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].location si
$.oneOf[0].allOf[1].Payload.floorplans[].location.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.floorplans[].location.anyOf[0].ATLocation_IDinteger si
$.oneOf[0].allOf[1].Payload.floorplans[].location.anyOf[0].Namestring si
$.oneOf[0].allOf[1].Payload.floorplans[].location.anyOf[0].Aliasstring si
$.oneOf[0].allOf[1].Payload.floorplans[].location.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].event si
$.oneOf[0].allOf[1].Payload.floorplans[].event.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.floorplans[].event.anyOf[0].ATLocationEvent_IDinteger si
$.oneOf[0].allOf[1].Payload.floorplans[].event.anyOf[0].Namestring si
$.oneOf[0].allOf[1].Payload.floorplans[].event.anyOf[0].URLSlugstring si
$.oneOf[0].allOf[1].Payload.floorplans[].event.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floorsarray si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[]object No
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ATFloorplan_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ATFloorplan_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ATFloorplan_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].Namestring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].FloorOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].FloorOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].FloorOrder.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ViewBoxWidthDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ViewBoxWidth.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ViewBoxWidth.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ViewBoxHeightDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ViewBoxHeight.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ViewBoxHeight.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ArchitectureSVG si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ArchitectureSVG.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].ArchitectureSVG.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].BackgroundImageURL si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].BackgroundImageURL.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].BackgroundImageURL.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layoutsarray si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[]object No
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].ATFloorplanFloor_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].ATFloorplanFloor_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].ATFloorplanFloor_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Namestring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Statusstring ["Draft","Active","Historical"] si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].EffectiveStartDate si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].EffectiveStartDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].EffectiveStartDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].EffectiveEndDate si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].EffectiveEndDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].EffectiveEndDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Creator-ATUser_ID si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Creator-ATUser_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Creator-ATUser_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Creator-ATUser_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].Creator-ATUser_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areasarray si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[]object No
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].DeletedDate = null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].ATFloorplanLayout_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].ATFloorplanLayout_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].ATFloorplanLayout_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Labelstring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Category si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Category.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Category.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].SVGShapestring ["rect","polygon","circle","path"] si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].SVGGeometrystring si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].DesirabilityScore si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].DesirabilityScore.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].DesirabilityScore.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].DesirabilityScore.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].DesirabilityScore.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Capacity si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Capacity.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Capacity.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Capacity.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].Capacity.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].SortOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].SortOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.floorplans[].floors[].layouts[].areas[].SortOrder.oneOf[1]string si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/get_for_location",
    "RequestUserAlias": "example-user",
    "Payload": {
        "floorplans": []
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/floorplan/get_license_for_app

#
License lookup for a (floorplan, app) pair. Resolution order: 1. Per-app override row in `ATFloorplanLicenses` (Status='Active'). 2. Wildcard row (`ATApps_ID IS NULL`, Status='Active'). 3. Fall through to the `Permission::FloorplanAreaTradeRoyaltyPct` default for the floorplan originator. Public-by-design: app renderers can inspect published floorplan terms.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATFloorplan_ID int si — Floorplan to look up.
ATApps_ID int No 0 App requesting the data; pass 0 for first-party.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/floorplan/get_license_for_app' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATFloorplan_ID={{ATFloorplan_ID}}' \
  --data-urlencode 'ATApps_ID={{ATApps_ID}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_get_license_for_app_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.royaltyPctnumber si
$.oneOf[0].allOf[1].Payload.flatFeeCentsinteger si
$.oneOf[0].allOf[1].Payload.sourcestring ["app","wildcard","default"] si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/get_license_for_app",
    "RequestUserAlias": "example-user",
    "Payload": {
        "royaltyPct": 0,
        "flatFeeCents": 0,
        "source": "app"
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/floorplan/get_pending_review_list

#
Moderation queue: floorplans waiting for review. Gated by `Permission::CanReviewFloorplanSubmissions`.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
resultLimit int No 50 Max rows to return.
resultOffset int No 0 Pagination offset.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/floorplan/get_pending_review_list' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'resultLimit={{resultLimit}}' \
  --data-urlencode 'resultOffset={{resultOffset}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_get_pending_review_list_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.itemsarray si
$.oneOf[0].allOf[1].Payload.items[]object No
$.oneOf[0].allOf[1].Payload.items[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.items[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.items[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.items[].Namestring si
$.oneOf[0].allOf[1].Payload.items[].Creator-ATUser_IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.items[].Creator-ATUser_ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.items[].Creator-ATUser_ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.items[].ATLocation_ID si
$.oneOf[0].allOf[1].Payload.items[].ATLocation_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.items[].ATLocation_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.items[].ATLocation_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.items[].ATLocation_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.items[].ATLocationEvent_ID si
$.oneOf[0].allOf[1].Payload.items[].ATLocationEvent_ID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.items[].ATLocationEvent_ID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.items[].ATLocationEvent_ID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.items[].ATLocationEvent_ID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.items[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.items[].LastUpdateDate si
$.oneOf[0].allOf[1].Payload.items[].LastUpdateDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.items[].LastUpdateDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.items[].CreatorAlias si
$.oneOf[0].allOf[1].Payload.items[].CreatorAlias.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.items[].CreatorAlias.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.items[].LocationName si
$.oneOf[0].allOf[1].Payload.items[].LocationName.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.items[].LocationName.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.items[].EventName si
$.oneOf[0].allOf[1].Payload.items[].EventName.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.items[].EventName.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/get_pending_review_list",
    "RequestUserAlias": "example-user",
    "Payload": {
        "items": []
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/floorplan/set_approved

#
Approve a Submitted floorplan, promoting it to Active. Floorplans are not exclusive per venue/event -- multiple Active floorplans may share the same direct link -- so no supersede pass runs at this layer; the moderator can manually mark an older floorplan as Superseded if a true replacement is intended. Gated by `Permission::CanReviewFloorplanSubmissions`.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATFloorplan_ID int si — Floorplan to approve.
isWritingRequest bool No false Set true to actually transition.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/floorplan/set_approved' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATFloorplan_ID={{ATFloorplan_ID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_set_approved_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.Status = "Active" si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/set_approved",
    "RequestUserAlias": "example-user",
    "Payload": {
        "Status": "Active"
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/floorplan/set_areas

#
Replace every area on a layout with the supplied list. The whole-list replace is intentional: the editor sends its current state, the server is the single source of truth on disk. Existing areas are soft-deleted (`DeletedDate=NOW()`) and the supplied rows are inserted fresh; this preserves historical attribution because the old area IDs aren't reused, but tagged ATLocation/ATLocationEvent rows pointing at deleted areas will need re-tagging by the operator.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATFloorplanLayout_ID int si — Layout to replace areas on.
areas array si — Array of {label, category, svgShape, svgGeometry, capacity?, desirabilityScore?, sortOrder?} objects. The dispatcher accepts a JSON-encoded array on the wire (e.g. via the `areas` POST field) and auto-decodes it.
isWritingRequest bool No false Set true to actually persist.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/floorplan/set_areas' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATFloorplanLayout_ID={{ATFloorplanLayout_ID}}' \
  --data-urlencode 'areas={{areas}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Parámetros: areas
CampoTipoObligatorioDescripción
areasstring (application/json) siPass a JSON-encoded string, not nested form fields.
areasarray (JSON decodificado) si
areas[]object No
areas[].labelstring si
areas[].svgShapestring ["rect","polygon","circle","path"] No
areas[].svgGeometrystring si
areas[].categorystring No
areas[].desirabilityScore No
areas[].desirabilityScore.anyOf[0]integer No
areas[].desirabilityScore.anyOf[1]null No
areas[].capacity No
areas[].capacity.anyOf[0]integer No
areas[].capacity.anyOf[1]null No
areas[].sortOrderinteger No
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_set_areas_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.areaIDsarray si
$.oneOf[0].allOf[1].Payload.areaIDs[]integer No
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/set_areas",
    "RequestUserAlias": "example-user",
    "Payload": {
        "areaIDs": []
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/floorplan/set_event_area

#
Tag an `ATLocationEvent` with a floorplan area. Same gate as `set_location_area`.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATLocationEvent_ID int si — Event to tag.
ATFloorplanArea_ID int si — Area to bind (0 to clear).
isWritingRequest bool No false Set true to actually persist.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/floorplan/set_event_area' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATLocationEvent_ID={{ATLocationEvent_ID}}' \
  --data-urlencode 'ATFloorplanArea_ID={{ATFloorplanArea_ID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_set_event_area_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payload = true si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/set_event_area",
    "RequestUserAlias": "example-user",
    "Payload": true
}
Documentación del endpoint legible por máquinas
POST

/v1/floorplan/set_floor

#
Upsert a floor (architecture SVG, viewbox, name, order). Pass ATFloorplanFloor_ID = 0 to create a new floor under the supplied floorplan; non-zero updates the existing row. Architecture SVG is sanitised before write so user-pasted blobs can't smuggle scripts.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATFloorplan_ID int si — Owner floorplan; required when creating.
ATFloorplanFloor_ID int si — 0 to create, or existing row ID to update.
name string si — Floor display name.
floorOrder int No 0 -2..N ordering hint (-2 = sub-basement, 0 = ground).
viewBoxWidth int No 1000 SVG viewbox width.
viewBoxHeight int No 1000 SVG viewbox height.
architectureSVG string No "" Raw SVG fragment for the building shell; sanitised server-side.
backgroundImageURL string No "" Optional traced reference photo URL.
isWritingRequest bool No false Set true to actually persist.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/floorplan/set_floor' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATFloorplan_ID={{ATFloorplan_ID}}' \
  --data-urlencode 'ATFloorplanFloor_ID={{ATFloorplanFloor_ID}}' \
  --data-urlencode 'name={{name}}' \
  --data-urlencode 'floorOrder={{floorOrder}}' \
  --data-urlencode 'viewBoxWidth={{viewBoxWidth}}' \
  --data-urlencode 'viewBoxHeight={{viewBoxHeight}}' \
  --data-urlencode 'architectureSVG={{architectureSVG}}' \
  --data-urlencode 'backgroundImageURL={{backgroundImageURL}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_set_floor_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.ATFloorplanFloor_IDinteger si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/set_floor",
    "RequestUserAlias": "example-user",
    "Payload": {
        "ATFloorplanFloor_ID": 0
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/floorplan/set_imported_svg

#
Import a pasted/uploaded SVG fragment as the architecture layer of a floor. The fragment is sanitised server-side: script elements, event handlers (onload, onclick, ...), foreignObject elements, external references, and unsafe URL schemes are stripped before write. Optional autoExtractAreas mode walks the cleaned tree for rect, polygon, circle, and path elements that carry either a title child or a data-atv2-label attribute, and inserts each into the floor's currently-Active layout as a draft area, ready for the creator to assign categories to.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATFloorplanFloor_ID int si — Floor to land the architecture on.
svgFragment string si — The SVG text. May or may not have an outer svg element.
autoExtractAreas bool No false True to also create draft areas from titled shapes.
isWritingRequest bool No false Set true to actually persist.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/floorplan/set_imported_svg' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATFloorplanFloor_ID={{ATFloorplanFloor_ID}}' \
  --data-urlencode 'svgFragment={{svgFragment}}' \
  --data-urlencode 'autoExtractAreas={{autoExtractAreas}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_set_imported_svg_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.ATFloorplanFloor_IDinteger si
$.oneOf[0].allOf[1].Payload.architectureSVGstring si
$.oneOf[0].allOf[1].Payload.extractedAreaCountinteger si
$.oneOf[0].allOf[1].Payload.sanitisedBytesinteger si
$.oneOf[0].allOf[1].Payload.sanitizedBytesinteger si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/set_imported_svg",
    "RequestUserAlias": "example-user",
    "Payload": {
        "ATFloorplanFloor_ID": 0,
        "architectureSVG": "synthetic-example",
        "extractedAreaCount": 0,
        "sanitisedBytes": 0,
        "sanitizedBytes": 0
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/floorplan/set_layout

#
Upsert a layout. Pass `ATFloorplanLayout_ID = 0` to create a new layout under the supplied floor; non-zero updates the existing row. When the resulting status is `Active`, ANY other Active layout on the same floor flips to `Historical` in the same write -- there can be exactly one Active layout per floor at a time.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATFloorplanFloor_ID int si — Owner floor; required when creating.
ATFloorplanLayout_ID int si — 0 to create, or existing row ID to update.
name string si — Layout display name.
statusValue string No "Draft" One of Draft, Active, Historical.
effectiveStartDate string No "" Optional ISO datetime.
effectiveEndDate string No "" Optional ISO datetime.
isWritingRequest bool No false Set true to actually persist.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/floorplan/set_layout' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATFloorplanFloor_ID={{ATFloorplanFloor_ID}}' \
  --data-urlencode 'ATFloorplanLayout_ID={{ATFloorplanLayout_ID}}' \
  --data-urlencode 'name={{name}}' \
  --data-urlencode 'statusValue={{statusValue}}' \
  --data-urlencode 'effectiveStartDate={{effectiveStartDate}}' \
  --data-urlencode 'effectiveEndDate={{effectiveEndDate}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_set_layout_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.ATFloorplanLayout_IDinteger si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/set_layout",
    "RequestUserAlias": "example-user",
    "Payload": {
        "ATFloorplanLayout_ID": 0
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/floorplan/set_location_area

#
Tag an `ATLocation` with a floorplan area so trades against that venue inherit area attribution for royalty purposes. Gated either by floorplan ownership OR `Permission::LocationAdministration`.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATLocation_ID int si — Venue to tag.
ATFloorplanArea_ID int si — Area to bind to this venue (0 to clear).
isWritingRequest bool No false Set true to actually persist.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/floorplan/set_location_area' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATLocation_ID={{ATLocation_ID}}' \
  --data-urlencode 'ATFloorplanArea_ID={{ATFloorplanArea_ID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_set_location_area_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payload = true si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/set_location_area",
    "RequestUserAlias": "example-user",
    "Payload": true
}
Documentación del endpoint legible por máquinas
POST

/v1/floorplan/set_new

#
Direct creation entry point. Transactionally creates an ATFloorplans row (Draft), plus an initial ATFloorplanFloor ("Ground") and an initial ATFloorplanLayout ("Default", Active) so the editor has somewhere to draw immediately. Gated by `Permission::CanCreateFloorplan`. At least one of `ATLocation_ID` or `ATLocationEvent_ID` is required. Both may be supplied.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
name string si — Display name for the floorplan.
ATLocation_ID int No 0 Optional venue link.
ATLocationEvent_ID int No 0 Optional event link.
isWritingRequest bool No false Set true to actually create. Defaults false (dry-run).
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/floorplan/set_new' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'name={{name}}' \
  --data-urlencode 'ATLocation_ID={{ATLocation_ID}}' \
  --data-urlencode 'ATLocationEvent_ID={{ATLocationEvent_ID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_set_new_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.ATFloorplan_IDinteger si
$.oneOf[0].allOf[1].Payload.ATFloorplanFloor_IDinteger si
$.oneOf[0].allOf[1].Payload.ATFloorplanLayout_IDinteger si
$.oneOf[0].allOf[1].Payload.editorURLstring si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/set_new",
    "RequestUserAlias": "example-user",
    "Payload": {
        "ATFloorplan_ID": 0,
        "ATFloorplanFloor_ID": 0,
        "ATFloorplanLayout_ID": 0,
        "editorURL": "synthetic-example"
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/floorplan/set_rejected

#
Reject a Submitted floorplan with a reviewer note. Gated by `Permission::CanReviewFloorplanSubmissions`.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATFloorplan_ID int si — Floorplan to reject.
reason string No "" Short note for the originator.
isWritingRequest bool No false Set true to actually transition.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/floorplan/set_rejected' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATFloorplan_ID={{ATFloorplan_ID}}' \
  --data-urlencode 'reason={{reason}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_set_rejected_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.Status = "Rejected" si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/set_rejected",
    "RequestUserAlias": "example-user",
    "Payload": {
        "Status": "Rejected"
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/floorplan/set_submitted_for_review

#
Move a Draft floorplan into the moderation queue. Owner-only.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
ATFloorplan_ID int si — Floorplan to submit.
isWritingRequest bool No false Set true to actually transition.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/floorplan/set_submitted_for_review' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'ATFloorplan_ID={{ATFloorplan_ID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$floorplan_set_submitted_for_review_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.Status = "Submitted" si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/floorplan/set_submitted_for_review",
    "RequestUserAlias": "example-user",
    "Payload": {
        "Status": "Submitted"
    }
}
Documentación del endpoint legible por máquinas