---
title: "NavVis IVION Domains and Repositories"
slug: "domains-and-repositories-2"
updated: 2024-03-13T09:26:01Z
published: 2024-03-13T09:26:01Z
canonical: "knowledge.navvis.com/domains-and-repositories-2"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://knowledge.navvis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Domains and Repositories

NavVis IVION uses the [Repository Pattern](https://deviq.com/design-patterns/repository-pattern) for accessing and modeling domain data.

The [RestRepository](https://ivion-api.docs.navvis.com/latest/reference/interfaces/restrepositoryinterface.html) is the abstraction used by all domain-specific repositories. It provides the standard CRUD operations as well as query filtering.

![](https://cdn.document360.io/bf174766-fa1a-4fe1-a4d7-b1db1e7cb996/Images/Documentation/domains-and-repositories-image-7x4811nc.png)

## Fetching Mechanism

When calling `findOne()`, `findAll()`, and other read methods, the data is fetched over the network from the NavVis IVION server, then mapped and stored in working memory. Subsequent calls to these methods will only fetch the data from the working memory (no network calls), unless the `ForceFetch`**flag is set to `true`.

## Query Filtering

The [filter](https://ivion-api.docs.navvis.com/latest/reference/interfaces/filterinterface.html) builds queries that help narrow, sort, and paginate the fetched data. Geographic filtering is also supported using coordinate and radius queries. Possible applications for this include [geofencing](https://en.wikipedia.org/wiki/Geo-fence), for example.

## Domain-Specific Guides

The following domain-specific guides are available for the NavVis IVION Frontend API:

- [Point of Interest Repository](/v1/docs/creating-custom-poi-types)
- [Panorama Images Repository](/v1/docs/panorama-images-repository-1)
- [Site Model Repository](/v1/docs/site-model-repository-1)

Create, read, update, delete

Application Programming Interface
