Fenice Api
Stanze/ROOM informazioni sulle stanze fisiche
Rappresenta la poli-linea fisica che definisce la stanza e la sua destinazione d`uso, tramite la ROOMCAT_id. Eventuale informazione di rilevazione è definita nella POPULATE/Survering

Informazioni su attributi o parametri:
id
integer
RO
Codice auto incrementale univoco fornito dal sistema.
codice
varchar(255)
Codice univoco assegnato dal cliente (non duplicabile).
descrizione
varchar(255)
Descrizione semplice.
roomcat_id
integer
Relazione con tabella ROOMCATS. ROOMCAT_ID deve esistere per mantenere la relazione.
roomstd_id
integer
(NON USATO) Relazione con tabella ROOMSTDS. ROOMSTD_ID deve esistere per mantenere la relazione.
site_id
integer
Relazione con tabella Sites. SITE_ID deve esistere per mantenere la relazione.
build_id
integer
Relazione con tabella BUILDS. BUILD_ID deve esistere per mantenere la relazione.
floor_id
integer
Relazione con tabella FLOORS. FLOOR_ID deve esistere per mantenere la relazione.
svg_x
double precision
Coordinata X del punto centrale del SVG.
svg_y
double precision
Coordinata Y del punto centrale del SVG.
svg
text
Codice SVG, che rappresenta la grafica della Room.
svg_class
varchar(255)
RO
Indica la classe SVG da applicare al Room.
svg_param
text
RO
Parametri SVG da applicare al Room.
svg_area
double precision
Area della Room in m2.
stato
varchar(255)
Stato della Room (IN_PRODUCTION,TO_DO, DONE, SUSPENDED, NR, DEACTIVATE).
ehandle
varchar(255)
Codice CAD-EHANDLE del Room.
dwg_layer
varchar(255)
Riferimento al Layer, utile per i SIMBOLI nel CAD Fenice.
extra_contratto
boolean
Indica se il dato è da considerare Extra Contratto.
codice_esterno
varchar(255)
Codice Esterno per allineare altre procedure del cliente.
autore
varchar(255)
RO
Utente che ha registrato il record.
revisore
varchar(255)
RO
Ultimo utente che ha aggiornato il record.
attivo
boolean
Stato del dato, se false dato non utilizzato (come cancellato).
disattivato
varchar(255)
RO
Utente che ha disattivato il dato.
updated_at
timestamp
RO
Data e ora dell'ultima modifica del record.
GET /personaldata/rooms
Restituisce l'elenco delle STANZE/ROOM associati ad un progetto specifico individuato da `project_uuid`. Specificando floor_id, solo le stanze/ROOMS di quel piano verranno0 restituite.

Parameters

Parametri:
Richiesti:
Descrizione dei parametri:
Esempio:
project_uuid
obbligatorio
UUID del progetto.
active
opzionale
Indica se il dato è in stato attivo.
floor_id
opzionale
Ritorna solo le stanze/Rooms del padre Piano/FLOOR. Se omesso tutte le stanze/ROOMS del progetto.

Responses

200 OK
Esempio di risposta (in JSON):
{
  "data": [
    {
      "id": 10,
      "codice": "10",
      "descrizione": "LC001",
      "roomcat_id": null,
      "floor_id": 3,
      "autore": "root",
      "revisore": "alex",
      "attivo": true,
      "disattivato": null,
      "updated_at": "2024-11-26T22:33:33.903Z",
      "roomstd_id": null,
      "svg_x": 0.0,
      "svg_y": 0.0,
      "svg": "1.333426,102.614619 32.002232,102.614619 32.002232,2.565366 1.333426,2.565366 1.333426,102.614619",
      "site_id": 1,
      "build_id": 1,
      "svg_class": "room",
      "svg_param": "onclick=\"textroom(id)\" onmousemove=\"showroom_svg(evt,id)\" onmouseout=\"emptyroom(id)\"",
      "svg_area": 3068.391093,
      "stato": "IN_PRODUCTION",
      "ehandle": "",
      "dwg_layer": "RM$",
      "extra_contratto": false,
      "codice_esterno": "ESERCITAZIONE_LEGENDA_P02_LC001"
    },
    {
      "id": 100,
      "codice": "100",
      "descrizione": "LC043",
      "roomcat_id": null,
      "floor_id": 13,
      "autore": "root",
      "revisore": "6",
      "attivo": true,
      "disattivato": null,
      "updated_at": "2024-07-28T09:28:29.108Z",
      "roomstd_id": null,
      "svg_x": 0.0,
      "svg_y": 0.0,
      "svg": "6.3286,7.8509 7.3886,7.8454 7.3823,6.6354 6.3223,6.6409 6.3286,7.8509",
      "site_id": 3,
      "build_id": 8,
      "svg_class": "room",
      "svg_param": "onclick=\"textroom(id)\" onmousemove=\"showroom_svg(evt,id)\" onmouseout=\"emptyroom(id)\"",
      "svg_area": 1.282635,
      "stato": "DONE",
      "ehandle": "",
      "dwg_layer": "RM$",
      "extra_contratto": false,
      "codice_esterno": "LO1285_FV01_PF00_LC043"
    }
  ],
  "empty": false,
  "total": 2,
  "source": "rooms",
  "timestamp": "2026-02-24 09:06:08 +0100"
}
401 Unauthorized
Esempio di risposta (in JSON):
{
  "error": "Unauthorized"
}
404 Bad Request
Esempio di risposta (in JSON):
{
  "error": "Bad request"
}
GET /personaldata/room
Restituisce un singolo record di un sito specifico individuato da `room_id` e `project_uuid`.

Parameters

Parametri:
Richiesti:
Descrizione dei parametri:
Esempio:
project_uuid
obbligatorio
UUID del progetto.
room_id
obbligatorio
ID del record richiesto.

Responses

200 OK
Esempio di risposta (in JSON):
{
  "data": {
    "id": 10,
    "codice": "10",
    "descrizione": "LC001",
    "roomcat_id": null,
    "floor_id": 3,
    "autore": "root",
    "revisore": "alex",
    "attivo": true,
    "disattivato": null,
    "updated_at": "2024-11-26T22:33:33.903Z",
    "roomstd_id": null,
    "svg_x": 0.0,
    "svg_y": 0.0,
    "svg": "1.333426,102.614619 32.002232,102.614619 32.002232,2.565366 1.333426,2.565366 1.333426,102.614619",
    "site_id": 1,
    "build_id": 1,
    "svg_class": "room",
    "svg_param": "onclick=\"textroom(id)\" onmousemove=\"showroom_svg(evt,id)\" onmouseout=\"emptyroom(id)\"",
    "svg_area": 3068.391093,
    "stato": "IN_PRODUCTION",
    "ehandle": "",
    "dwg_layer": "RM$",
    "extra_contratto": false,
    "codice_esterno": "ESERCITAZIONE_LEGENDA_P02_LC001"
  },
  "empty": false,
  "total": 1,
  "source": "roomcats",
  "timestamp": "2026-02-24 09:47:34 +0100"
}
401 Unauthorized
Esempio di risposta (in JSON):
{
  "error": "Unauthorized"
}
404 Bad Request
Esempio di risposta (in JSON):
{
  "error": "Bad request"
}
POST /personaldata/room_update
Aggiorna le informazioni di un sito specifico individuato da `room_id` e `project_uuid`.

Parameters

Parametri:
Richiesti:
Descrizione dei parametri:
Esempio:
project_uuid
obbligatorio
UUID del progetto.
room_id
obbligatorio
ID del record richiesto.
site_id
opzionale
Modifica l'associazione con il SITE. Attenzione alla coerenza Site/Build/Floor!.
build_id
opzionale
Modifica l'associazione con il BUILD. Attenzione alla coerenza!.
floor_id
opzionale
Modifica l'associazione con il FLOOR. Attenzione alla coerenza!.
Informazione su i Campi modificabili
codice:
Codice univoco assegnato dal cliente (non duplicabile).
descrizione:
Descrizione semplice.
roomcat_id:
Relazione con tabella ROOMCATS. ROOMCAT_ID deve esistere per mantenere la relazione.
roomstd_id:
(NON USATO) Relazione con tabella ROOMSTDS. ROOMSTD_ID deve esistere per mantenere la relazione.
site_id:
Relazione con tabella Sites. SITE_ID deve esistere per mantenere la relazione.
build_id:
Relazione con tabella BUILDS. BUILD_ID deve esistere per mantenere la relazione.
floor_id:
Relazione con tabella FLOORS. FLOOR_ID deve esistere per mantenere la relazione.
svg_x:
Coordinata X del punto centrale del SVG.
svg_y:
Coordinata Y del punto centrale del SVG.
svg:
Codice SVG, che rappresenta la grafica della Room.
svg_area:
Area della Room in m2.
stato:
Stato della Room (IN_PRODUCTION,TO_DO, DONE, SUSPENDED, NR, DEACTIVATE).
ehandle:
Codice CAD-EHANDLE del Room.
dwg_layer:
Riferimento al Layer, utile per i SIMBOLI nel CAD Fenice.
extra_contratto:
Indica se il dato è da considerare Extra Contratto.
codice_esterno:
Codice Esterno per allineare altre procedure del cliente.
attivo:
Stato del dato, se false dato non utilizzato (come cancellato).

I campi sono opzionali e non verranno modificati se non indicati

Responses

200 OK
Esempio di risposta (in JSON):
{
  "updated": "descrizione: ESERCITAZIONE B2,extra_contratto: true,attivo: true",
  "source": "floor_update",
  "timestamp": "2026-02-17 16:53:44 +0100"
}
401 Unauthorized
Esempio di risposta (in JSON):
{
  "error": "Unauthorized"
}
404 Bad Request
Esempio di risposta (in JSON):
{
  "error": "Bad request"
}
POST /personaldata/room_new
Crea una nuova informazione record della tabella ROOMS e ritorna il suo `id`.

Parameters

Parametri:
Richiesti:
Descrizione dei parametri:
Esempio:
project_uuid
obbligatorio
UUID del progetto.
floor_id
obbligatorio
Associa al FLOOR, per mantenere la coerenza Site/Build/Fllor!.
codice
obbligatorio
Assegna un codice alla stanza. Questo codice è poi diverso da quello rilevato da censore in populate.
descrizione
opzionale
Assegna una descrizione alla stanza.

Responses

200 OK
Esempio di risposta (in JSON):
{
  "room_id": 1,
  "timestamp": "2026-02-17 16:53:44 +0100",
  "created": "creazione della Room con codice R101 associata al FLOOR 1"
}
401 Unauthorized
Esempio di risposta (in JSON):
{
  "error": "Unauthorized"
}
404 Bad Request
Esempio di risposta (in JSON):
{
  "error": "Bad request"
}