Varauspalvelu
Tilojen ja opintojaksototeutusten varausten haku.
...
Kenttä | Tyyppi | Kuvaus |
---|---|---|
id | numero | Resurssin yksilöllinen id |
type | teksti | Resurssin tyyppi. realization - toteutus, student_group - ryhmä, scheduling_group - opetusryhmä, room - tila, building - rakennus josssa tila sijaitsee |
code | teksti | Resurssin koodi |
name | teksti | Resurssin nimi |
Esimerkki:
Code Block | ||
---|---|---|
| ||
{ "id": "838403", "subject": "Spanish 3 LX00AC52-3001", "modifiedDate": "2013-09-02T14:31", "startDate": "2013-11-01T08:00", "endDate": "2013-11-01T10:45", "resources": [{ "id": "32961", "type": "realization", "code": "LX00AC52-3001", "name": "Spanish 3" }, { "id": "32858", "type": "student_group", "code": "LITO_VV", "name": "LITO_VV" }, { "id": "786", "type": "room", "code": "VTYA215", "name": "Teorialuokka", "parent": { "id": "764", "type": "building", "code": "VTY", "name": "Leiritie 1" } }] } |
Haku
Kenttä | Tyyppi | Kuvaus |
---|---|---|
subject | teksti | Vapaa tekstihaku otsikosta |
startDate | pvm | Varauksen alkuajankohdan pitää olla sama tai suurempi kuin annettu arvo |
endDate | pvm | Varauksen päättymisajankohdan pitää olla sama tai pienempi kuin annettu arvo. |
rangeStart | pvm | Varauksen loppu-ajankohta on annettuna ajankohtana tai sen jälkeen. Varaus osuu rangeStart - rangeEnd päivämäärävälille. Molemmat parametrit pitää antaa jos jompi kumpi määritelty. |
rangeEnd | pvm | Varauksen alku-ajankohta on ennen annettua ajankohtaa |
realization | lista | Varaus koskee annettua opintojaksototeutusta (opintojaksototeutuksen koodi) |
studentGroup | lista | Varaus koskee annettua ryhmää (ryhmän koodi). |
room | lista | Varaus on annetussa tilassa (tilan koodi) |
building | lista | Varaus on tilassa joka sijaitsee annetussa rakennuksessa (rakennuksen koodi) |
from | numero | Palauta hakutulokset annetusta numerosta eteenpäin. Oletus 0. |
size | numero | Palautettavien tulosten maksimimäärä. Oletus 1000. |
Haku on "AND" -haku kenttien välillä. Lista -tyyppiset parametrit ovat "OR" saman tyyppisen listan sisällä olevien elementtien välillä.
...
Code Block | ||
---|---|---|
| ||
{
"startDate": "2013-11-22T09:00",
"endDate": "2013-11-22T10:00",
"room": ["G201"]
}
|
Vastaus
Kenttä | Kuvaus |
---|---|
status | Tieto onnistuiko pyyntö vai oliko mahdollisia virheitä. "success ", "warn ", "error " |
message | Mahdollinen tarkentava viesti esimerkiksi virhetilanteissa. |
reservations | Lista varauksia. |
Code Block | ||
---|---|---|
| ||
{ "status": "success", "reservations": [{ "id": "840509", "subject": "G201 test", "modifiedDate": "2013-11-18T13:11", "startDate": "2013-11-22T09:00", "endDate": "2013-11-22T10:00", "resources": [{ "id": "3", "type": "room", "code": "G201", "name": "Auditorio", "parent": { "id": "2", "type": "building", "code": "AGRICO", "name": "Agricolankatu 1-3" } }] }] } |
Yksittäisen varauksen tietojen hakeminen
Code Block | ||
---|---|---|
| ||
curl -u "metropolia_public:" http://opendata.metropolia.fi/r1/reservation/816121 |
...
Varausten hakeminen
Anna hakuparametriksi ylhäällä kuvattu "Haku" -olion mukainen JSON. Jokin haun kentistä pitää olla määriteltynä jotta haku palauttaisi tuloksia.
...
Code Block | ||
---|---|---|
| ||
curl -u "metropolia_public:" -X POST http://opendata.metropolia.fi/r1/reservation/search -d '{ "startDate":"2013-11-22T09:00", "endDate":"2013-11-22T10:00", "room":["G201"] }' |
Huomaa että opintojaksototeutuksen varaukset voivat olla merkitty joko pelkästään opintojaksototeutukselle tai ryhmälle, tai sitten varauksella voi olla molemmat tiedot asetettuna.
Varauksiin tallennetaan yleensä sekä ryhmätieto että toteutus jota varaus koskee. Näinollen jos haluat kaikki tietyn ryhmän opetustapahtumat voit hakea pelkällä ryhmällä varauksia.
Esimerkiksi:
Code Block | ||
---|---|---|
| ||
# tiettujen toteutusten varausten haku curl -u "metropolia_public:" -X POST http://opendata.metropolia.fi/r1/reservation/search -d '{ "realization":["SB00AA01-2000", "SB00AA03-2000", "SB00AA04-2000", "SB00AA06-2001"] }' # tietyn ryhmän varausten haku. Huomaa että et voi samassa pyynnössä hakea sekä tiettyjen toteutusten # että ryhmien varauksia koska hakuehto eri tyyppisten kenttien välillä on AND curl -u "metropolia_public:" -X POST http://opendata.metropolia.fi/r1/reservation/search -d '{ "student_group":["SB13K2"] }' |
Jos haluat hakea varaukset tietylle ajankohdalle (tarkistaaksesi esimerkiksi onko aika vapaa), kannattaa käyttää "range" kyselyä. Tämä huomioi myös varaukset jotka ovat alkaneet ennen annettua ajankohtaa, mutta ovat vielä käynnissä annettuna ajankohtana.
Alla oleva esimerkki hakee kaikki varaukset joiden alku-ajankohta on ennen klo 10.00, ja loppu-ajankohta on klo. 9.00 tai sen jälkeen.
...
Code Block | ||
---|---|---|
| ||
curl -u "metropolia_public:" -X POST http://opendata.metropolia.fi/r1/reservation/search -d '{ "rangeStart": "2013-11-22T09:00", "rangeEnd": "2013-11-22T10:00", "room": ["G201"] }' |
Jos haluat hakea esimerkiksi mitä opetusta on tiettynä ajankohtana, voit hakea varaukset jotka alkavat tietyn ajankohdan jälkeen. Vastaukesta voit kerätä yksilölliset opintojaksototeutukset ja luokkahuoneet joissa opetus järjestetään. Voit lisätä vielä hakuehdon rakennukselle jos haluat vain tietyn toimipisteen opetustapahtumat.
Code Block | ||
---|---|---|
| ||
curl -u "metropolia_public:" -X POST http://opendata.metropolia.fi/r1/reservation/search -d '{ "startDate": "2013-11-22T09:00", "endDate": "2013-11-22T15:00", "building": ["AGRICO"] }' |
Rakennusten ja tilojen listaaminen
...
Code Block | ||
---|---|---|
| ||
curl -u "metropolia_public:" http://opendata.metropolia.fi/r1/reservation/building/373 |
Esimerkki vastauksesta:
...
Code Block | ||
---|---|---|
| ||
{ "status": "success", "building": { "id": "373", "type": "building", "code": "Test", "name": "Test Street 3 D", "places": 0 }, "resources": [{ "id": "374", "type": "room", "code": "Testroom1", "name": "ATK-luokka", "resourceType": "ATK-luokka", "description": "Vain testikäytössä oleva virtuaalinen tila, jolla ei ole fyysisessä maailmassa vastinetta.", "places": 22 }, { "id": "375", "type": "room", "code": "Testroom2", "name": "Opetustila", "resourceType": "Opetustila", "description": "Vain testikäytössä oleva virtuaalinen tila, jolla ei ole fyysisessä maailmassa vastinetta.\r\n", "places": 30 }] } |