AbstractThis article introduces a programming language approach to modelling spatio-temporal data using calendars and topologies specified as types. Calendric and topologic data appearing in Web applications are most often rather complex, sometimes involving different calendars and/or topologies. The basic principle is to model spatio-temporal data by means of predicate subtyping. This principle is used to define calendric and topologic data types representing granularities as well as conversions between those data types. A thesis underlying this work is that calendars and topologies are more conveniently expressed with dedicated language constructs and that calendar and topology data are more effciently processed with dedicated reasoning methods than with general purpose "axiomatic reasoning" of e.g. ontology languages or theorem provers.