← All sources
UnknownLive-testedOfficial public-page backend

Early childhood / Registration and remaining capacity

Tbilisi kindergarten registration capacity by age group

The official registration backend lists districts and 191 gardens, then returns age-band groups with total places, registrations and remaining places. The live registration UI uses REMAINED to disable full groups.

01

Provenance and access

How the data is reached

Unauthenticated JSON GET endpoints for raions, regular/summer gardens and groups. CORS wildcard. Personal child lookup and registration routes are explicitly out of scope.

Reuse status

Unclear.

02

Field-level detail

What is actually returned

livereferencederivedhistoricalunknown

District response

District reference rows.

4 fields
Field / pathTypeNull?ExampleMeaningFreshness
statusintegerNo200Application statusunknown
data[].RAION_IDintegerNo1District IDreference
data[].RAION_NAMEstringNoსაბურთალოDistrict namereference
data[].CITY_IDintegerNo1Parent city IDreference

Garden response

Regular and summer-garden reference rows.

6 fields
Field / pathTypeNull?ExampleMeaningFreshness
statusintegerNo200Application statusunknown
data[].GARTEN_IDintegerNo140Registration-system garden IDreference
data[].GARTEN_NUMBERintegerUnknown1Public garden numberreference
data[].GARTEN_NAMEstringYesnullOptional proper or seasonal namereference
data[].RAION_IDintegerNo3District IDreference
data[].SHOW_REMAINEDinteger flagYes1Whether UI may show remaining capacityObserved in regular gardens; absent in tested summer schema.unknown

Registration group response

Age-band capacity and occupancy rows.

9 fields
Field / pathTypeNull?ExampleMeaningFreshness
statusintegerNo200Application statusunknown
data[].GROUP_IDintegerNo330Registration group IDreference
data[].GROUP_NAMEstringNo1Internal/display group labelreference
data[].FROM_AGEintegerNo2Lower age bound in yearsreference
data[].TO_AGEintegerNo3Upper age bound in yearsreference
data[].PLACESintegerNo50Total group capacityPlaces/persons.reference
data[].QUANTITYintegerNo49Registrations or occupied placesOperational; no timestamp.unknown
data[].REMAINEDintegerNo1Remaining placesObserved PLACES - QUANTITY; UI disables full groups.derived
data[].DESCRIPTIONstringYesnullOptional group qualifierreference
03

Representative evidence

Sample records

Garden 140 group capacity

Retrieved 2026-07-22 13:50 Asia/Tbilisi

JSON
{"status":200,"data":[{"GROUP_ID":330,"GROUP_NAME":"1","FROM_AGE":2,"TO_AGE":3,"PLACES":50,"QUANTITY":49,"REMAINED":1,"DESCRIPTION":null},{"GROUP_ID":660,"GROUP_NAME":"2","FROM_AGE":3,"TO_AGE":4,"PLACES":90,"QUANTITY":72,"REMAINED":18,"DESCRIPTION":null},{"GROUP_ID":331,"GROUP_NAME":"4","FROM_AGE":5,"TO_AGE":6,"PLACES":90,"QUANTITY":67,"REMAINED":23,"DESCRIPTION":null}]}
04

Boundaries

Reliability, caveats, and privacy

What held up

  • Official registration form JavaScript directly references these routes.
  • All tested GETs returned JSON and CORS wildcard.
  • On test date, official page said registration stage three opened 2026-07-20.

What can go wrong

  • No response timestamp or documented update cadence.
  • Operational freshness is inferred from UI behavior, not proven by observed change.
  • The regular and summer garden schemas differ by SHOW_REMAINED.

Privacy boundary

  • Do not call public/check/{personalId}/{lastName} for research.
  • Do not call registration POST routes; group data is aggregate and sufficient.
05

Cross-source possibilities

Ideas using this source