##### API Endpoint

Laohaldus- ja raamatupidamisrakendus üliõpilasorganisatsioonidele.

Kõik aega tähistavad sõned peavad olema ISO8601 formaadis. Näiteks “2016-01-01T06:38:09Z”.

## Resource Group ¶

### Varad ¶

Ülevaade varade kogustest. Varadeks on sularaha, raha pangakontol, liikmete saldode summa vastandväärtus, tooted ja taara. Liikmete saldode summa on esitatud vastandväärtusena selleks, et varade kokkuliitmisel saaks tulemuseks joogikassa koguväärtuse.

GET /varad?aeg=&alates=&kuni=
Responses 200

##### Headers

    Content-Type: application/json

##### Body

    [
      {
        "id": "aoisj8",
        "sularaha": 120.56,
        "arvelRaha": 2204.32,
        "tooted": 267.983457,
        "taara": 14.8,
        "krediit": 300.01,
        "aeg": "2016-12-06T06:36:09.546Z"
      }
    ]

##### Schema

    {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "array"
    }

####
Näita varade koguseid
GET`/varad{?aeg,alates,kuni}`

Vaikimisi tagastab järjendi varade kogustest pärast iga tehingut alates semestri algusest kuni praeguse hetkeni. Juhul kui defineeritud on aeg, siis tagastab varade koguse sellel ajahetkel.

URI Parameters
Hide Show

aeg
  `datetime` (optional)

  Mis ajahetke varade kogust näidata?

alates
  `datetime` (optional)

  Mis hetkest alates? Vaikimisi käesoleva semestri algus.

kuni
  `datetime` (optional)

  Mis hetkeni? Vaikimisi käesolev hetk.

## Tooted ¶

Kõikvõimalikud kaubaartiklid.

### kollektsiooni vaade ¶

GET /tooted?limit=&offset=&aeg=
Responses 200

##### Headers

    Content-Type: application/json

##### Body

    [
      {
        "id": "ax7Gji",
        "nimi": "A. Le Coq Premium",
        "taara": "pudel",
        "uhikuKogus": "0,5l",
        "muugihind": 1,
        "triipkood": "982763489",
        "kategooriad": [
          "õlu"
        ],
        "kogus": 100,
        "omahind": 0.652,
        "aegumiskuupaev": "2016-12-06T06:36:09Z",
        "aeguvaKogus": 20,
        "arhiveeritud": false,
        "kustutatav": false
      }
    ]

##### Schema

    {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "array"
    }

####
Näita kõiki tooteid
GET`/tooted{?limit,offset,aeg}`

URI Parameters
Hide Show

limit
  `number` (optional) Default: 20

  Kui mitu toodet tuua maksimaalselt?

offset
  `number` (optional) Default: 0

  Nihe algusest

aeg
  `string` (optional)

  Mis ajahetke järgi laoseisu näidatakse. Vaikimisi käesolev hetk.

POST /tooted
Requests example 1

##### Headers

    Content-Type: application/json

##### Body

    {
      "nimi": "A. Le Coq Premium",
      "taara": "pudel",
      "uhikuKogus": "0,5l",
      "muugihind": 1,
      "triipkood": "982763489",
      "kategooriad": [
        "õlu"
      ]
    }

##### Schema

    {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "object",
      "properties": {
        "nimi": {
          "type": "string"
        },
        "taara": {
          "type": "string"
        },
        "uhikuKogus": {
          "type": "string"
        },
        "muugihind": {
          "type": "number",
          "description": "Kauba edasimüügihind."
        },
        "triipkood": {
          "type": "string"
        },
        "kategooriad": {
          "type": "array"
        }
      },
      "required": [
        "nimi",
        "muugihind"
      ]
    }

Responses 201

##### Headers

    Content-Type: application/json
    Location: /tooted/ubgukb

##### Body

    {
      "nimi": "A. Le Coq Premium",
      "taara": "pudel",
      "uhikuKogus": "0,5l",
      "muugihind": 1,
      "triipkood": "982763489",
      "kategooriad": [
        "õlu"
      ],
      "id": "ubgukb",
      "kogus": 0,
      "omahind": 1,
      "aegumiskuupaev": "Hello, world!",
      "aeguvaKogus": 1,
      "arhiveeritud": false,
      "kustutatav": true,
      "batchid": []
    }

##### Schema

    {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "object",
      "properties": {
        "nimi": {
          "type": "string"
        },
        "taara": {
          "type": "string"
        },
        "uhikuKogus": {
          "type": "string"
        },
        "muugihind": {
          "type": "number",
          "description": "Kauba edasimüügihind."
        },
        "triipkood": {
          "type": "string"
        },
        "kategooriad": {
          "type": "array"
        },
        "id": {
          "type": "string"
        },
        "kogus": {
          "type": "number",
          "description": "Mitu ühikut toodet on laos."
        },
        "omahind": {
          "type": [
            "number",
            "null"
          ],
          "description": "Kauba sisse ostmise tükihinna kaalutud keskmine."
        },
        "aegumiskuupaev": {
          "type": [
            "string",
            "null"
          ],
          "description": "Varaseim aegumiskuupäev, mida esineb laos."
        },
        "aeguvaKogus": {
          "type": [
            "number",
            "null"
          ],
          "description": "Varaseima aegumiskuupäevaga toodete kogus laos"
        },
        "arhiveeritud": {
          "type": "boolean",
          "description": "Kas toode on arhiveeritud?"
        },
        "kustutatav": {
          "type": "boolean",
          "description": "Kas toodet saab kustutada? Sõltub sellest, kas tootele viitab mõni tehing."
        },
        "batchid": {
          "type": "null"
        }
      },
      "required": [
        "nimi",
        "muugihind"
      ]
    }

####
Loo uus toode
POST`/tooted`

Toote loomiseks peavad sul olema joogivanema õigused käesoleval semestril.

### üksikvaade ¶

GET /tooted/ax7Gji?aeg=
Responses 200

##### Headers

    Content-Type: application/json

##### Body

    {
      "id": "ax7Gji",
      "nimi": "A. Le Coq Premium",
      "taara": "pudel",
      "uhikuKogus": "0,5l",
      "kogus": 100,
      "omahind": 0.652,
      "muugihind": 1,
      "triipkood": "982763489",
      "aegumiskuupaev": "2016-12-06T06:36:09Z",
      "aeguvaKogus": 20,
      "arhiveeritud": false,
      "kustutatav": false,
      "kategooriad": [
        "õlu"
      ],
      "batchid": [
        {
          "id": "oipsjo",
          "aegumiskuupaev": "2016-12-06T06:36:09Z",
          "laoseis": 20,
          "uhikuHind": 0.76,
          "ostukogus": 20,
          "ostuhetk": "2016-01-01T06:36:09Z"
        },
        {
          "id": "oipsjy",
          "aegumiskuupaev": "2017-12-06T06:36:09Z",
          "laoseis": 40,
          "uhikuHind": 0.6,
          "ostukogus": 40,
          "ostuhetk": "2016-01-01T06:37:09Z"
        },
        {
          "id": "oipsjt",
          "aegumiskuupaev": "2018-06-06T06:36:09Z",
          "laoseis": 40,
          "uhikuHind": 0.65,
          "ostukogus": 40,
          "ostuhetk": "2016-01-01T06:38:09Z"
        }
      ]
    }

####
Näita toodet
GET`/tooted/{id}{?aeg}`

URI Parameters
Hide Show

id
  `string` (required) Example: ax7Gji

  Toote ID

aeg
  `string` (optional)

  Mis hetke laoseisu näidata?

PUT /tooted/ax7Gji
Requests example 1

##### Headers

    Content-Type: application/json

##### Body

    {
        nimi: "Uus nimi"
    }

Responses 200

##### Headers

    Content-Type: application/json

##### Body

    {
      "id": "ax7Gji",
      "nimi": "Uus nimi",
      "taara": "pudel",
      "uhikuKogus": "0,5l",
      "kogus": 100,
      "omahind": 0.652,
      "muugihind": 1,
      "triipkood": "982763489",
      "aegumiskuupaev": "2016-12-06T06:36:09Z",
      "aeguvaKogus": 20,
      "arhiveeritud": false,
      "kustutatav": false,
      "kategooriad": [
        "õlu"
      ],
      "batchid": [
        {
          "id": "oipsjo",
          "aegumiskuupaev": "2016-12-06T06:36:09Z",
          "laoseis": 20,
          "uhikuHind": 0.76,
          "ostukogus": 20,
          "ostuhetk": "2016-01-01T06:36:09Z"
        },
        {
          "id": "oipsjy",
          "aegumiskuupaev": "2017-12-06T06:36:09Z",
          "laoseis": 40,
          "uhikuHind": 0.6,
          "ostukogus": 40,
          "ostuhetk": "2016-01-01T06:37:09Z"
        },
        {
          "id": "oipsjt",
          "aegumiskuupaev": "2018-06-06T06:36:09Z",
          "laoseis": 40,
          "uhikuHind": 0.65,
          "ostukogus": 40,
          "ostuhetk": "2016-01-01T06:38:09Z"
        }
      ]
    }

####
Muuda toodet
PUT`/tooted/{id}`

Toote muutmiseks peavad sul olema joogivanema õigused käesoleval semestril.

URI Parameters
Hide Show

id
  `string` (required) Example: ax7Gji

  Toote ID

DELETE /tooted/ax7Gji
Responses 204

##### Headers

    Content-Type: application/json

####
Kustuta või arhiveeri toode
DELETE`/tooted/{id}`

Juhul kui tootele viitab mõni tehing, siis seatakse toode arhiveerituks. Vastasel juhul kustutatakse see andmebaasist.

Toote kustutamiseks peavad sul olema joogivanema õigused käesoleval semestril.

URI Parameters
Hide Show

id
  `string` (required) Example: ax7Gji

  Toote ID

## Kategooriad ¶

Kategooriad toodete jaoks. Kategooriaid ei saa eraldi luua. Kategooriad on lihtsalt ühend kõigist toodetele määratud kategooriatest.

### Näita kõiki kategooriaid ¶

GET /kategooriad
Responses 200

##### Headers

    Content-Type: application/json

##### Body

    [
      "õlu",
      "šokolaad",
      "toit"
    ]

####
Näita kõiki kategooriaid
GET`/kategooriad`

## Liikmed ¶

Kõik organisatsiooni liikmed, kellele võimaldatakse toodete ostmist ettemaksust.

### kollektsiooni vaade ¶

GET /liikmed?limit=&offset=
Responses 200

##### Headers

    Content-Type: application/json

##### Body

    [
      {
        "id": "casdnc",
        "nimi": "Madis Martin Lutter",
        "meiliaadress": "mlutter@gmail.com",
        "staatus": "ksv!",
        "koondis": "Tallinn",
        "telefon": "56238919",
        "saldo": 11.23,
        "viimaneMakse": "2016-01-01T06:36:09.004Z",
        "kustutatav": true,
        "arhiveeritud": true
      }
    ]

##### Schema

    {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "array"
    }

####
Näita kõiki liikmeid
GET`/liikmed{?limit,offset}`

URI Parameters
Hide Show

limit
  `number` (optional) Default: 20

  Kui mitu liiget tuua maksimaalselt?

offset
  `number` (optional) Default: 0

  Nihe algusest

POST /liikmed?limit=&offset=
Requests example 1

##### Headers

    Content-Type: application/json

##### Body

    {
      "nimi": "Madis Martin Lutter",
      "meiliaadress": "mlutter@gmail.com",
      "staatus": "ksv!",
      "koondis": "Tallinn",
      "telefon": "56238919"
    }

##### Schema

    {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "object",
      "properties": {
        "nimi": {
          "type": "string"
        },
        "meiliaadress": {
          "type": "string"
        },
        "staatus": {
          "type": "string"
        },
        "koondis": {
          "type": "string",
          "description": "Mis koondisesse liige sisse astus?"
        },
        "telefon": {
          "type": "string"
        }
      },
      "required": [
        "nimi",
        "meiliaadress"
      ]
    }

Responses 201

##### Headers

    Content-Type: application/json
    Location: /liikmed/32ihU8

##### Body

    {
      "id": "casdnc",
      "nimi": "Madis Martin Lutter",
      "meiliaadress": "mlutter@gmail.com",
      "staatus": "ksv!",
      "koondis": "Tallinn",
      "telefon": "56238919",
      "saldo": 0,
      "viimaneMakse": "Hello, world!",
      "kustutatav": true,
      "arhiveeritud": true
    }

##### Schema

    {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Liikme ID."
        },
        "nimi": {
          "type": "string"
        },
        "meiliaadress": {
          "type": "string"
        },
        "staatus": {
          "type": "string"
        },
        "koondis": {
          "type": "string",
          "description": "Mis koondisesse liige sisse astus?"
        },
        "telefon": {
          "type": "string"
        },
        "saldo": {
          "type": "number",
          "description": "Positiivne arv tähendab, et liikmel on ettemaks. Negatiivne arv tähendab võlga joogikassa ees."
        },
        "viimaneMakse": {
          "type": [
            "string",
            "null"
          ],
          "description": "Viimase makse hetk."
        },
        "kustutatav": {
          "type": "boolean",
          "description": "Kas liiget saab kustutada? Sõltub sellest, kas liikmele viitab mõni tehing."
        },
        "arhiveeritud": {
          "type": "boolean",
          "description": "Kas liige on arhiveeritud?"
        }
      },
      "required": [
        "nimi",
        "meiliaadress"
      ]
    }

####
Loo uus liige
POST`/liikmed{?limit,offset}`

Uue liikme loomiseks peavad sul olema joogivanema õigused käesoleval semestril.

URI Parameters
Hide Show

limit
  `number` (optional) Default: 20

  Kui mitu liiget tuua maksimaalselt?

offset
  `number` (optional) Default: 0

  Nihe algusest

### üksikvaade ¶

GET /liikmed/asy5cf
Responses 200

##### Headers

    Content-Type: application/json

##### Body

    {
      "id": "casdnc",
      "nimi": "Madis Martin Lutter",
      "meiliaadress": "mlutter@gmail.com",
      "staatus": "ksv!",
      "koondis": "Tallinn",
      "telefon": "56238919",
      "saldo": 11.23,
      "viimaneMakse": "2016-01-01T06:36:09.004Z",
      "kustutatav": true,
      "arhiveeritud": true
    }

##### Schema

    {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Liikme ID."
        },
        "nimi": {
          "type": "string"
        },
        "meiliaadress": {
          "type": "string"
        },
        "staatus": {
          "type": "string"
        },
        "koondis": {
          "type": "string",
          "description": "Mis koondisesse liige sisse astus?"
        },
        "telefon": {
          "type": "string"
        },
        "saldo": {
          "type": "number",
          "description": "Positiivne arv tähendab, et liikmel on ettemaks. Negatiivne arv tähendab võlga joogikassa ees."
        },
        "viimaneMakse": {
          "type": [
            "string",
            "null"
          ],
          "description": "Viimase makse hetk."
        },
        "kustutatav": {
          "type": "boolean",
          "description": "Kas liiget saab kustutada? Sõltub sellest, kas liikmele viitab mõni tehing."
        },
        "arhiveeritud": {
          "type": "boolean",
          "description": "Kas liige on arhiveeritud?"
        }
      },
      "required": [
        "nimi",
        "meiliaadress"
      ]
    }

####
Näita liiget
GET`/liikmed/{id}`

URI Parameters
Hide Show

id
  `string` (required) Example: asy5cf

  Liikme ID

PUT /liikmed/asy5cf
Requests example 1

##### Headers

    Content-Type: application/json

##### Body

    {
      "nimi": "Uus nimi"
    }

Responses 200

##### Headers

    Content-Type: application/json

##### Body

    {
      "id": "asy5cf",
      "nimi": "Uus nimi",
      "staatus": "ksv!",
      "koondis": "Tartu",
      "meiliaadress": "janek.priimann@gmail.com",
      "telefon": "55567899",
      "saldo": 0,
      "viimaneMakse": "2010-08-01T21:36:09.004Z",
      "kustutatav": false,
      "arhiveeritud": false
    }

####
Muuda liiget
PUT`/liikmed/{id}`

Liikme muutmiseks peavad sul olema joogivanema õigused käesoleval semestril.

URI Parameters
Hide Show

id
  `string` (required) Example: asy5cf

  Liikme ID

DELETE /liikmed/asy5cf
Responses 204

##### Headers

    Content-Type: application/json

####
Kustuta või arhiveeri liige
DELETE`/liikmed/{id}`

Juhul kui antud liikmele viitab mõni tehing, seatakse liige arhiveerituks. Vastasel juhul liige kustutatakse andmebaasist.

Liikme kustutamiseks peavad sul olema joogivanema õigused käesoleval semestril.

URI Parameters
Hide Show

id
  `string` (required) Example: asy5cf

  Liikme ID

## Tehingud ¶

Kõik tehingud, mis on mõjutanud joogikassa varade koguseid.

### kollektsiooni vaade ¶

GET /tehingud?alates=&kuni=
Responses 200

##### Headers

    Content-Type: application/json

##### Body

    [
      {
        "id": "owiaej",
        "aeg": "2016-01-01T06:38:09Z",
        "selgitus": "Ostsin Premiumit sisse",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "arvelRaha",
          "summa": 26
        },
        "deebet": {
          "tuup": "toode",
          "summa": 26,
          "kogus": 40,
          "toode": {
            "id": "ax7Gji",
            "nimi": "A. Le Coq Premium",
            "taara": "pudel",
            "uhikuKogus": "0,5l"
          }
        }
      },
      {
        "id": "owiarj",
        "aeg": "2016-01-01T06:38:09Z",
        "selgitus": "Ostsin Premiumit sisse (taara)",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "arvelRaha",
          "summa": 4
        },
        "deebet": {
          "tuup": "taara",
          "summa": 4
        }
      },
      {
        "id": "owi3ej",
        "aeg": "2016-01-01T06:37:09Z",
        "selgitus": "Ostsin veel Premiumit sisse",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "arvelRaha",
          "summa": 24
        },
        "deebet": {
          "tuup": "toode",
          "summa": 24,
          "kogus": 40,
          "toode": {
            "id": "ax7Gji",
            "nimi": "A. Le Coq Premium",
            "taara": "pudel",
            "uhikuKogus": "0,5l"
          }
        }
      },
      {
        "id": "ows3ej",
        "aeg": "2016-01-01T06:37:09Z",
        "selgitus": "Ostsin veel Premiumit sisse (taara)",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "arvelRaha",
          "summa": 4
        },
        "deebet": {
          "tuup": "taara",
          "summa": 4
        }
      },
      {
        "id": "4wi3ej",
        "aeg": "2016-01-01T06:36:09Z",
        "selgitus": "Ostsin veel Premiumit sisse 2",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "arvelRaha",
          "summa": 15.2
        },
        "deebet": {
          "tuup": "toode",
          "summa": 15.2,
          "kogus": 20,
          "toode": {
            "id": "ax7Gji",
            "nimi": "A. Le Coq Premium",
            "taara": "pudel",
            "uhikuKogus": "0,5l"
          }
        }
      },
      {
        "id": "4fi3ej",
        "aeg": "2016-01-01T06:36:09Z",
        "selgitus": "Ostsin veel Premiumit sisse 2 (taara)",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "arvelRaha",
          "summa": 2
        },
        "deebet": {
          "tuup": "taara",
          "summa": 2
        }
      },
      {
        "id": "4we3ej",
        "aeg": "2016-01-02T06:37:09Z",
        "selgitus": "Ostsin Specialit sisse",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "arvelRaha",
          "summa": 14
        },
        "deebet": {
          "tuup": "toode",
          "summa": 14,
          "kogus": 20,
          "toode": {
            "id": "239e8h",
            "nimi": "A. Le Coq Special",
            "taara": "purk",
            "uhikuKogus": "1 pint"
          }
        }
      },
      {
        "id": "4we3de",
        "aeg": "2016-01-02T06:37:09Z",
        "selgitus": "Ostsin Specialit sisse (taara)",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "arvelRaha",
          "summa": 2
        },
        "deebet": {
          "tuup": "taara",
          "summa": 2
        }
      },
      {
        "id": "4re3ej",
        "aeg": "2016-01-02T06:37:09Z",
        "selgitus": "Ostsin veel Specialit sisse",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "arvelRaha",
          "summa": 36
        },
        "deebet": {
          "tuup": "toode",
          "summa": 36,
          "kogus": 40,
          "toode": {
            "id": "239e8h",
            "nimi": "A. Le Coq Special",
            "taara": "purk",
            "uhikuKogus": "1 pint"
          }
        }
      },
      {
        "id": "4dsiej",
        "aeg": "2016-01-02T06:37:09Z",
        "selgitus": "Ostsin veel Specialit sisse (taara)",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "arvelRaha",
          "summa": 4
        },
        "deebet": {
          "tuup": "taara",
          "summa": 4
        }
      },
      {
        "id": "ste3ej",
        "aeg": "2016-01-03T06:37:09",
        "selgitus": "Ostsin šokolaadi sisse",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "arvelRaha",
          "summa": 8.8
        },
        "deebet": {
          "tuup": "toode",
          "summa": 8.8,
          "kogus": 10,
          "toode": {
            "id": "100e8h",
            "nimi": "Milka Daim",
            "taara": null,
            "uhikuKogus": "100 grammi"
          }
        }
      },
      {
        "id": "ioubgb",
        "aeg": "2016-01-04T06:36:09.005Z",
        "selgitus": "Müüsin liikmele toote",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "toode",
          "summa": 0.76,
          "kogus": 1,
          "toode": {
            "id": "ax7Gji",
            "nimi": "A. Le Coq Premium",
            "taara": "pudel",
            "uhikuKogus": "0,5l"
          }
        },
        "deebet": {
          "tuup": "liige",
          "summa": 1,
          "liige": {
            "id": "asytcf",
            "staatus": "ksv!",
            "nimi": "Kaarel Ratas"
          }
        }
      },
      {
        "id": "io7bgb",
        "aeg": "2016-01-04T07:36:09.005Z",
        "selgitus": "Ostsin pastakaid",
        "muudetav": true,
        "legaalne": true,
        "kreedit": {
          "tuup": "sularaha",
          "summa": 3.5
        },
        "deebet": {
          "tuup": "tuhi",
          "summa": 0
        }
      }
    ]

####
Näita kõiki tehinguid
GET`/tehingud{?alates,kuni}`

URI Parameters
Hide Show

alates
  `datetime` (optional)

  Mis hetkest alates? Vaikimisi käesoleva semestri algus.

kuni
  `datetime` (optional)

  Mis hetkeni? Vaikimisi käesolev hetk.

POST /tehingud
Requests example 1

##### Headers

    Content-Type: application/json

##### Body

    {
      "selgitus": "Sularaha väljavõtt",
      "kreedit": {
        "tuup": "arvelRaha",
        "summa": 40
      },
      "deebet": {
        "tuup": "sularaha",
        "summa": 40
      }
    }

Responses 201

##### Headers

    Content-Type: application/json
    Location: tehingud/coiasw

##### Body

    {
      "id": "coiasw",
      "aeg": "2016-01-02T06:37:09Z",
      "selgitus": "Sularaha väljavõtt",
      "looja": {
        "id": "casdnc",
        "staatus": "ksv!",
        "nimi": "Madis Martin Lutter"
      },
      "muudetav": true,
      "legaalne": true,
      "kreedit": {
        "tuup": "arvelRaha",
        "summa": 40
      },
      "deebet": {
        "tuup": "sularaha",
        "summa": 40
      }
    }

####
Lisa uus tehing
POST`/tehingud`

Uue tehingu loomiseks peavad sul olema joogivanema õigused tehingu toimumise hetkel. Tehingu kuupäev ei tohi olla tulevikus.

### üksikvaade ¶

GET /tehingud/4dsiej
Responses 200

##### Headers

    Content-Type: application/json

##### Body

    {
      "id": "4dsiej",
      "aeg": "2016-01-02T06:37:09Z",
      "selgitus": "Ostsin veel Specialit sisse (taara)",
      "looja": {
        "id": "casdnc",
        "staatus": "ksv!",
        "nimi": "Madis Martin Lutter"
      },
      "muudetav": true,
      "legaalne": true,
      "kreedit": {
        "tuup": "arvelRaha",
        "summa": 4
      },
      "deebet": {
        "tuup": "taara",
        "summa": 4
      }
    }

####
Näita tehingut
GET`/tehingud/{id}`

URI Parameters
Hide Show

id
  `string` (required) Example: 4dsiej

  Tehingu ID

PUT /tehingud/4dsiej
Requests example 1

##### Headers

    Content-Type: application/json

##### Body

    {
      "selgitus": "Muudetud selgitus"
    }

Responses 200

##### Headers

    Content-Type: application/json

##### Body

    {
      "id": "4dsiej",
      "aeg": "2016-01-02T06:37:09Z",
      "selgitus": "Muudetud selgitus",
      "looja": {
        "id": "casdnc",
        "staatus": "ksv!",
        "nimi": "Madis Martin Lutter"
      },
      "muudetav": true,
      "legaalne": true,
      "kreedit": {
        "tuup": "arvelRaha",
        "summa": 4
      },
      "deebet": {
        "tuup": "taara",
        "summa": 4
      }
    }

####
Muuda tehingut
PUT`/tehingud/{id}`

Tehingu muutmiseks peavad sul olema joogivanema õigused tehingu toimumise semestril ning tehingud ei tohi olla külmutatud vastaval semestril.

URI Parameters
Hide Show

id
  `string` (required) Example: 4dsiej

  Tehingu ID

DELETE /tehingud/4dsiej
Responses 204

##### Headers

    Content-Type: application/json

####
Kustuta tehing
DELETE`/tehingud/{id}`

Tehingu kustutamiseks peavad sul olema joogivanema õigused tehingu toimumise semestril ning tehingud ei tohi olla külmutatud vastaval semestril.

URI Parameters
Hide Show

id
  `string` (required) Example: 4dsiej

  Tehingu ID

## Inventuurid ¶

Joogikassa varade üle lugemiste tulemused.

### kollektsiooni vaade ¶

GET /inventuurid?alates=&kuni=
Responses 200

##### Headers

    Content-Type: application/json

##### Body

    [
      {
        "id": "oij0a9",
        "aeg": "2016-01-01T06:36:09.004Z",
        "kommentaar": "Siia saab teha märkmeid. Näiteks, põhjendada, miks numbrid nii valed on millegipärast.",
        "kustutatav": true,
        "eeldatav": {
          "sularaha": 389.97,
          "arvelRaha": 2234.65,
          "krediit": 300.01,
          "taara": 12.3,
          "tootedKokku": 66.846,
          "kokku": 3003.056
        },
        "loetud": {
          "sularaha": 389.97,
          "taara": 12.3,
          "tootedKokku": 66.086,
          "kokku": 3002.296
        }
      },
      {
        "id": "oij0e9",
        "aeg": "2016-02-01T06:36:09.004Z",
        "kommentaar": "Inimesed tõid ise taarat juurde.",
        "kustutatav": true,
        "eeldatav": {
          "sularaha": 320.97,
          "arvelRaha": 2200.65,
          "krediit": 300.01,
          "taara": 16.3,
          "tootedKokku": 89.846,
          "kokku": 2927.776
        },
        "loetud": {
          "sularaha": 320.97,
          "taara": 0.3,
          "tootedKokku": 100.086,
          "kokku": 2922.016
        }
      }
    ]

####
Näita kõiki inventuure
GET`/inventuurid{?alates,kuni}`

URI Parameters
Hide Show

alates
  `datetime` (optional)

  Mis hetkest alates? Vaikimisi käesoleva semestri algus.

kuni
  `datetime` (optional)

  Mis hetkeni? Vaikimisi käesolev hetk.

POST /inventuurid
Requests example 1

##### Headers

    Content-Type: application/json

##### Body

    {
        "kommentaar": "Siia saab teha märkmeid. Näiteks, põhjendada, miks numbrid nii valed on millegipärast.",
        "sooritajad": [
          {
            "id": "casdnc",
          },
          {
            "id": "asytcf",
          }
        ],
        "loetud": {
            "sularaha": 389.97,
            "taara": 12.3,
        },
        "tooted": [
          {
            "id": "ax7Gji",
            "loetudKogus": 54,
          },
          {
            "id": "239e8h",
            "loetudKogus": 0,
          },
          {
            "id": "100e8h",
            "loetudKogus": 20,
          }
        ]
    }

Responses 201

##### Headers

    Content-Type: application/json
    Location: inventuurid/oij0a9

##### Body

    {
      "id": "oij0a9",
      "aeg": "2016-01-01T06:36:09.004Z",
      "kommentaar": "Siia saab teha märkmeid. Näiteks, põhjendada, miks numbrid nii valed on millegipärast.",
      "sooritajad": [
        {
          "id": "casdnc",
          "staatus": "ksv!",
          "nimi": "Madis Martin Lutter"
        },
        {
          "id": "asytcf",
          "staatus": "ksv!",
          "nimi": "Kaarel Ratas"
        }
      ],
      "kustutatav": true,
      "eeldatav": {
        "sularaha": 389.97,
        "arvelRaha": 2234.65,
        "krediit": 300.01,
        "taara": 12.3,
        "tootedKokku": 66.846,
        "kokku": 3003.056
      },
      "loetud": {
        "sularaha": 389.97,
        "taara": 12.3,
        "tootedKokku": 66.086,
        "kokku": 3002.296
      },
      "tooted": [
        {
          "id": "ax7Gji",
          "nimi": "A. Le Coq Premium",
          "taara": "klaaspudel",
          "uhikuKogus": "0,5l",
          "eeldatavKogus": 54,
          "loetudKogus": 54,
          "omahind": 0.909
        },
        {
          "id": "239e8h",
          "nimi": "A. Le Coq Special",
          "taara": "purk",
          "uhikuKogus": "1 pint",
          "eeldatavKogus": 1,
          "loetudKogus": 0,
          "omahind": 0.76
        },
        {
          "id": "100e8h",
          "nimi": "Milka Daim",
          "taara": null,
          "uhikuKogus": "100 grammi",
          "eeldatavKogus": 20,
          "loetudKogus": 20,
          "omahind": 0.85
        }
      ]
    }

####
Lisa uus inventuur
POST`/inventuurid`

Uue inventuuri lisamiseks peavad sul olema joogivanema õigused.

### üksikvaade ¶

GET /inventuurid/oij0a9
Responses 200

##### Headers

    Content-Type: application/json

##### Body

    {
      "id": "oij0a9",
      "aeg": "2016-01-01T06:36:09.004Z",
      "kommentaar": "Siia saab teha märkmeid. Näiteks, põhjendada, miks numbrid nii valed on millegipärast.",
      "sooritajad": [
        {
          "id": "casdnc",
          "staatus": "ksv!",
          "nimi": "Madis Martin Lutter"
        },
        {
          "id": "asytcf",
          "staatus": "ksv!",
          "nimi": "Kaarel Ratas"
        }
      ],
      "kustutatav": true,
      "eeldatav": {
        "sularaha": 389.97,
        "arvelRaha": 2234.65,
        "krediit": 300.01,
        "taara": 12.3,
        "tootedKokku": 66.846,
        "kokku": 3003.056
      },
      "loetud": {
        "sularaha": 389.97,
        "taara": 12.3,
        "tootedKokku": 66.086,
        "kokku": 3002.296
      },
      "tooted": [
        {
          "id": "ax7Gji",
          "nimi": "A. Le Coq Premium",
          "taara": "klaaspudel",
          "uhikuKogus": "0,5l",
          "eeldatavKogus": 54,
          "loetudKogus": 54,
          "omahind": 0.909
        },
        {
          "id": "239e8h",
          "nimi": "A. Le Coq Special",
          "taara": "purk",
          "uhikuKogus": "1 pint",
          "eeldatavKogus": 1,
          "loetudKogus": 0,
          "omahind": 0.76
        },
        {
          "id": "100e8h",
          "nimi": "Milka Daim",
          "taara": null,
          "uhikuKogus": "100 grammi",
          "eeldatavKogus": 20,
          "loetudKogus": 20,
          "omahind": 0.85
        }
      ]
    }

####
Näita inventuuri
GET`/inventuurid/{id}`

URI Parameters
Hide Show

id
  `string` (required) Example: oij0a9

  Inventuuri ID

PUT /inventuurid/oij0a9
Requests example 1

##### Headers

    Content-Type: application/json

##### Body

    {
      "kommentaar": "Muudetud kommentaar"
    }

Responses 200

##### Headers

    Content-Type: application/json

##### Body

    {
      "id": "oij0a9",
      "aeg": "2016-01-01T06:36:09.004Z",
      "kommentaar": "Muudetud kommentaar",
      "sooritajad": [
        {
          "id": "casdnc",
          "staatus": "ksv!",
          "nimi": "Madis Martin Lutter"
        },
        {
          "id": "asytcf",
          "staatus": "ksv!",
          "nimi": "Kaarel Ratas"
        }
      ],
      "kustutatav": true,
      "eeldatav": {
        "sularaha": 389.97,
        "arvelRaha": 2234.65,
        "krediit": 300.01,
        "taara": 12.3,
        "tootedKokku": 66.846,
        "kokku": 3003.056
      },
      "loetud": {
        "sularaha": 389.97,
        "taara": 12.3,
        "tootedKokku": 66.086,
        "kokku": 3002.296
      },
      "tooted": [
        {
          "id": "ax7Gji",
          "nimi": "A. Le Coq Premium",
          "taara": "klaaspudel",
          "uhikuKogus": "0,5l",
          "eeldatavKogus": 54,
          "loetudKogus": 54,
          "omahind": 0.909
        },
        {
          "id": "239e8h",
          "nimi": "A. Le Coq Special",
          "taara": "purk",
          "uhikuKogus": "1 pint",
          "eeldatavKogus": 1,
          "loetudKogus": 0,
          "omahind": 0.76
        },
        {
          "id": "100e8h",
          "nimi": "Milka Daim",
          "taara": null,
          "uhikuKogus": "100 grammi",
          "eeldatavKogus": 20,
          "loetudKogus": 20,
          "omahind": 0.85
        }
      ]
    }

####
Muuda inventuuri
PUT`/inventuurid/{id}`

Inventuuri muutmiseks peavad sul olema joogivanema õigused vastaval semestril ning tehingud ei tohi olla külmutatud vastaval semestril ning sa pead olema vastava inventuuri sooritajate nimekirjas.

Juhul kui tegu on ameti üle andmisega seotud inventuuriga, ei tohi muutmiseks olla kummagi inventuuriga seotud semestri tehingud külmutatud.

URI Parameters
Hide Show

id
  `string` (required) Example: oij0a9

  Inventuuri ID

DELETE /inventuurid/oij0a9
Responses 204

##### Headers

    Content-Type: application/json

####
Kustuta inventuur
DELETE`/inventuurid/{id}`

Inventuuri kustutamiseks peavad sul olema joogivanema õigused vastaval semestril ning tehingud ei tohi olla külmutatud vastaval semestril. Sa pead olema inventuuri sooritajate hulgas.

Ameti üle andmisega seotud inventuuri ei saa kustutada.

URI Parameters
Hide Show

id
  `string` (required) Example: oij0a9

  Inventuuri ID

Generated by aglio on 04 May 2016