# `TzWorld.Backend`
[🔗](https://github.com/kipcole9/tz_world/blob/v2.3.0/lib/tz_world/backend.ex#L1)

Defines the callbacks for the TzWorld.Backend
behaviour

# `geo`

```elixir
@type geo() :: Geo.Point.t()
```

A point

# `lat`

```elixir
@type lat() :: -90..90
```

Latitude in degrees

# `lng`

```elixir
@type lng() :: -180..180
```

Longitude in degrees

# `all_timezones_at`

```elixir
@callback all_timezones_at(Geo.Point.t()) :: {:ok, [String.t()]} | {:error, atom()}
```

Returns all timezones at a specified point

# `reload_timezone_data`

```elixir
@callback reload_timezone_data() :: {:ok, term()}
```

Reloads the (potentially updated) timezone data

# `timezone_at`

```elixir
@callback timezone_at(geo()) :: {:ok, String.t()} | {:error, atom()}
```

Returns the time zone at a specified point

---

*Consult [api-reference.md](api-reference.md) for complete listing*
