To facilitate circulation transactions, mod-inn-reach must create "temporary" instance, holding, and item records for items being borrowed from other agencies not hosted on the same local server. One of the required attributes of an item record is its permanent location. Based on the needs of the local server, it should be possible to configure what FOLIO location is assigned to items borrowed from these other agencies by mapping all agencies to a single FOLIO shelving location, each local server to a single location, each agency to its own dedicated location, or some combination of these. A default location must be mapped at the central server level, and will inherit to all local servers associated with that central server and all agencies associated with those local servers, unless otherwise explicitly configured. The list of local server and their associated agencies is supplied by the INN-Reach central server and should be referenced by their local server or agency codes (five-character, lower-case alpha-numeric strings). FOLIO locations should be referenced by Id.
- Mapping should be per FOLIO local server/central server combination
- The list of local servers and their hosted agencies is provided via configuration API by the central server (INN-Reach D2IR API Reference v2.3.pdf, pg. 21-22)
- INN-Reach local server and agency codes are limited to five (5) lower-case alphanumeric characters
- INN-Reach local server and agency descriptions are limited to 128 characters
- Mappings can apply at the central server, local server, or agency level, and are inherited down the hierarchy unless explicitly overridden. The central server mapping is required.
- All local servers and agencies must be mapped to a FOLIO location (either explicitly or through inheritance from the central server) or circulation functionality may break (not enforced at the model level, but may inform design)
- It must be possible to retrieve the FOLIO location for a particular INN-Reach agency in the map via agency code (see item 3)
- AC: If a mapping is defined at the agency level, then it is possible to retrieve the corresponding FOLIO locationId using the agency code.
- AC: If no mapping is defined at the agency level for a particular agency code, then it is possible to retrieve the default location for the agency's parent local server from the mapping using the agency code at the initial lookup point.
- AC: If no mapping is provided at the agency level and no default location is set for the local server for that agency, then the default location for the central server configuration is used.