Introduction
The module’s integration allows the customers to find the physical points of service for your company.
Development
Core
Entity Definitions
The definitions in this module have id discriminators in the range 290-300. |
The DayOfWeekDefinition extends AbstractEntityEnum, as shown below:

Within the DayOfWeekDefinition
is defined the enum Values. Here are stored the days of the week days.
The OpeningScheduleEntityDefinition extends AbstractEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
name |
the name of the store |
workingDays |
a list of the working days for the store |
The StorefinderConfigurationEntityDefinition extends AbstractEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
pageSize |
allows you to control the size of the search page |
maxPageSize |
stores the information for the maximum size of the page |
googleMapsKey |
holds the key for the integration of the Google Maps API |
The interface the StoreLocatorStoreEntityDefinition extends directly is the StoreEntityDefinition. The StoreEntityDefinition
itself goes furhter, extending the AbstractEntityDefinition, the AbstractDescriptionableEntityDefinition and the AbstractNameableEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
mapIcon |
stores the map icon for the particular point of service |
storeImage |
stores the store image for the particular point of service |
storeThumbnail |
stores the store thumbnail image for the particular point of service |
address |
stores the address for the particular point of service |
openingSchedule |
stores the opening schedule for the particular point of service |
storeContent |
stores the store’s content for the particular point of service |
The WeekdayWorkingEntityDefinition extends the WorkingDayEntityDefinition, extending the AbstractEntityDefinition in its turn:

The only extra property, defined here, is weekday
. It makes refrence to the enumared within the DayOfWeekDefinition
values of the weekdays.
The WorkingDayEntityDefinition extends the AbstractEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
openingTime |
the time the particular point of service opens at |
closingTime |
the time the particular point of service closes at |
Spring Data JPA Repositories
The OpeningScheduleRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the OpeningScheduleEntityDefinition
.

The StorefinderConfigurationRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the StorefinderConfigurationEntityDefinition
.

The WorkingDayRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the WorkingDayEntityDefinition
.

Facade
MapperFactoryConfigurers
The OpeningScheduleMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the OpeningScheduleEntityDefinition
to OpeningScheduleDto
.

The conversion is done byDefault()
- all properties with the same names are automatically mapped.
The StoreLocatorStoreMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the StoreLocatorStoreEntityDefinition
to StoreLocatorStoreDtoDefinition
.

The conversion is customized.
The TimeDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the LocalTime to TimeDto.

The conversion is customized.
The WeekdayMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the WeekdayWorkingEntityDefinition to WeekdayOpeningDayDto.

The conversion is customized.
More about the mapping configurations you may read in the respective Orika guide.
Dto definitions
The OpeningDayDto implements Serializable. This is the corresponding Dto object for the WorkingDayEntityDefinition
.
The OpeningScheduleDto implements Serializable. This is the corresponding Dto object for the OpeningScheduleEntityDefinition
.
The StoreLocatorStoreDtoDefinition implements StoreDtoDefinition. This is the corresponding Dto object for the StoreLocatorStoreEntityDefinition
.

The WeekdayOpeningDayDto implements OpeningDayDto. This is the corresponding Dto object for the WeekdayWorkingEntityDefinition
.

Facades
Some helper methods are defined within the StoreLocatorFacade. Among the functionalities included here, are:
-
to get the locations of a given query string that can be either the postal code or the town name
-
to get the point of service for the given unique POS name
-
to calculate the distance in kilometres based on the location provided
-
to contruct the respective Google Maps link
Storefront
Controllers
The StoreLocatorController extends the AbstractViewController, providing views for both - the locator search and details pages.

For further details on mapping, check the corresponding mapping actuator accessible at /platform/mappings
.
Tags
The StorelocatorFunctions class lets you get an image for a store in a specific format.