Smart Buildings and Offices
Trusted by



Transform your bricks-and-mortar building into a smart one with Indoor Location.
Make people work smarter with our indoor positioning, people, and asset tracking technology based on Bluetooth Low Energy that gives much deeper understanding of traffic and usage patterns.
What you’ll get
SYSTEM INTEGRATION
Use location data collected in any external system (ERP, MES, WMS), thanks to simple integration via APIs.
SEAMLESS INDOOR AND OUTDOOR POSITIONING
Switch smoothly from indoor to outdoor maps when the user or the asset transits into an outdoor area.
GEO-REFERENCED POSITIONING DATA
Collect, aggregate and store positions to provide analytics and insights.
Improve safety and security
Control access, automate emergency procedures and empower first responders by monitoring the exact location of all people in the building.
People tracking
Track employees and authorized staff members for service purposes, restricted areas access control and security.
Real Time Monitoring
React to an emergency and respond by locating an employee or a critical asset.
Location-based event
Throw an event when a user enters an area.
Geofencing
Send notifications or alerts when a user or an asset enters or leaves an area.
Work better and happier
Empower your employees and visitors enabling wayfinding and room booking services thanks to real-time indoor positioning.
Navigation
With indoor GPS, get directions on a map to reach a point of interest within the building with up to 1.5m (3ft) accuracy.
Proximity-based automation
Use users location to control HVAC, automatic doors, lights and other smart appliances.
Optimize costs, space and usage
Increase energy efficiency and control over facility management and maintenance service. Optimize the use of floor space and occupants routes based on daily patterns. Make it possible with RTLS.
Room occupancy monitoring
Collect real-time occupancy data up to room level.
Asset Management
Track any office asset and its usage for accounting and efficiency purposes.
See case studies
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> friendlyURLs[themeDisplay.getLanguageId()] [in template "20100#20127#48947" at line 6, column 85] ---- Tip: It's the final [] step that caused this error, not those before it. ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${friendlyURLs[themeDisplay.getLangua... [in template "20100#20127#48947" at line 6, column 83] ----
1<div class="nextome-case-study-${randomNamespace}">
2 <div class="nextome-body1">CASE STUDY</div>
3 <div class="nextome-heading4b"><#if (NxtNameCaseStudy.getData())??>${NxtNameCaseStudy.getData()}</#if></div>
4 <div class="nextome-subtitle1sb"><#if (NxtDescCaseStudy.getData())??>${NxtDescCaseStudy.getData()}</#if></div>
5 <div class="nextome-button1">
6 <a class="nextome-txt-primary-active" data-senna-off="true" href="${friendlyURLs[themeDisplay.getLanguageId()]?replace('/web/guest', '')!""}">
7 <span>READ MORE</span>
8 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
9 <path d="M12 4L10.59 5.41L16.17 11H4V13H16.17L10.59 18.59L12 20L20 12L12 4Z" fill="#05D9AA"></path>
10 </svg>
11 </a>
12 </div>
13 <div class="nextome-case-study-image">
14 <#if (NxtImgCaseStudy.getData())?? && NxtImgCaseStudy.getData() != "">
15 <img alt="${NxtImgCaseStudy.getAttribute("alt")}" data-fileentryid="${NxtImgCaseStudy.getAttribute("fileEntryId")}" src="${NxtImgCaseStudy.getData()}" />
16 </#if>
17 </div>
18</div>
19<style>
20 .nextome-case-study-${randomNamespace} {
21 display: flex;
22 flex-direction: column;
23 align-items: flex-start;
24 padding: clamp(1rem, 2.5vw, 2rem);
25 background: #FFFFFF;
26 box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
27 border-radius: 30px;
28 margin: clamp(.5rem, 2vw, 1.5rem);
29 }
30
31 .nextome-case-study-${randomNamespace} div:not(:last-child) {
32 margin-bottom: clamp(1rem, 3vw, 2rem);
33 }
34
35 .nextome-case-study-${randomNamespace} div:nth-child(2) {
36 margin-bottom: .5rem;
37 }
38
39 .nextome-case-study-${randomNamespace} img {
40 border-radius: 1.5rem;
41 aspect-ratio: 5 / 4;
42 object-fit: cover;
43 }
44
45 .nextome-case-study-${randomNamespace} a:hover {
46 text-decoration: none;
47 color: #10303b;
48 }
49
50 .nextome-case-study-${randomNamespace} a:hover svg path {
51 fill: #10303b;
52 }
53
54 .nextome-case-study-${randomNamespace} .nextome-heading4b {
55 display: -webkit-box;
56 -webkit-line-clamp: 1;
57 -webkit-box-orient: vertical;
58 overflow: hidden;
59 }
60
61 .nextome-case-study-${randomNamespace} .nextome-subtitle1sb {
62 min-height: clamp(50px, 15vw, 116px);
63 display: -webkit-box;
64 -webkit-line-clamp: 4;
65 -webkit-box-orient: vertical;
66 overflow: hidden;
67 }
68</style>
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> friendlyURLs[themeDisplay.getLanguageId()] [in template "20100#20127#48947" at line 6, column 85] ---- Tip: It's the final [] step that caused this error, not those before it. ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${friendlyURLs[themeDisplay.getLangua... [in template "20100#20127#48947" at line 6, column 83] ----
1<div class="nextome-case-study-${randomNamespace}">
2 <div class="nextome-body1">CASE STUDY</div>
3 <div class="nextome-heading4b"><#if (NxtNameCaseStudy.getData())??>${NxtNameCaseStudy.getData()}</#if></div>
4 <div class="nextome-subtitle1sb"><#if (NxtDescCaseStudy.getData())??>${NxtDescCaseStudy.getData()}</#if></div>
5 <div class="nextome-button1">
6 <a class="nextome-txt-primary-active" data-senna-off="true" href="${friendlyURLs[themeDisplay.getLanguageId()]?replace('/web/guest', '')!""}">
7 <span>READ MORE</span>
8 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
9 <path d="M12 4L10.59 5.41L16.17 11H4V13H16.17L10.59 18.59L12 20L20 12L12 4Z" fill="#05D9AA"></path>
10 </svg>
11 </a>
12 </div>
13 <div class="nextome-case-study-image">
14 <#if (NxtImgCaseStudy.getData())?? && NxtImgCaseStudy.getData() != "">
15 <img alt="${NxtImgCaseStudy.getAttribute("alt")}" data-fileentryid="${NxtImgCaseStudy.getAttribute("fileEntryId")}" src="${NxtImgCaseStudy.getData()}" />
16 </#if>
17 </div>
18</div>
19<style>
20 .nextome-case-study-${randomNamespace} {
21 display: flex;
22 flex-direction: column;
23 align-items: flex-start;
24 padding: clamp(1rem, 2.5vw, 2rem);
25 background: #FFFFFF;
26 box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
27 border-radius: 30px;
28 margin: clamp(.5rem, 2vw, 1.5rem);
29 }
30
31 .nextome-case-study-${randomNamespace} div:not(:last-child) {
32 margin-bottom: clamp(1rem, 3vw, 2rem);
33 }
34
35 .nextome-case-study-${randomNamespace} div:nth-child(2) {
36 margin-bottom: .5rem;
37 }
38
39 .nextome-case-study-${randomNamespace} img {
40 border-radius: 1.5rem;
41 aspect-ratio: 5 / 4;
42 object-fit: cover;
43 }
44
45 .nextome-case-study-${randomNamespace} a:hover {
46 text-decoration: none;
47 color: #10303b;
48 }
49
50 .nextome-case-study-${randomNamespace} a:hover svg path {
51 fill: #10303b;
52 }
53
54 .nextome-case-study-${randomNamespace} .nextome-heading4b {
55 display: -webkit-box;
56 -webkit-line-clamp: 1;
57 -webkit-box-orient: vertical;
58 overflow: hidden;
59 }
60
61 .nextome-case-study-${randomNamespace} .nextome-subtitle1sb {
62 min-height: clamp(50px, 15vw, 116px);
63 display: -webkit-box;
64 -webkit-line-clamp: 4;
65 -webkit-box-orient: vertical;
66 overflow: hidden;
67 }
68</style>
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> friendlyURLs[themeDisplay.getLanguageId()] [in template "20100#20127#48947" at line 6, column 85] ---- Tip: It's the final [] step that caused this error, not those before it. ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${friendlyURLs[themeDisplay.getLangua... [in template "20100#20127#48947" at line 6, column 83] ----
1<div class="nextome-case-study-${randomNamespace}">
2 <div class="nextome-body1">CASE STUDY</div>
3 <div class="nextome-heading4b"><#if (NxtNameCaseStudy.getData())??>${NxtNameCaseStudy.getData()}</#if></div>
4 <div class="nextome-subtitle1sb"><#if (NxtDescCaseStudy.getData())??>${NxtDescCaseStudy.getData()}</#if></div>
5 <div class="nextome-button1">
6 <a class="nextome-txt-primary-active" data-senna-off="true" href="${friendlyURLs[themeDisplay.getLanguageId()]?replace('/web/guest', '')!""}">
7 <span>READ MORE</span>
8 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
9 <path d="M12 4L10.59 5.41L16.17 11H4V13H16.17L10.59 18.59L12 20L20 12L12 4Z" fill="#05D9AA"></path>
10 </svg>
11 </a>
12 </div>
13 <div class="nextome-case-study-image">
14 <#if (NxtImgCaseStudy.getData())?? && NxtImgCaseStudy.getData() != "">
15 <img alt="${NxtImgCaseStudy.getAttribute("alt")}" data-fileentryid="${NxtImgCaseStudy.getAttribute("fileEntryId")}" src="${NxtImgCaseStudy.getData()}" />
16 </#if>
17 </div>
18</div>
19<style>
20 .nextome-case-study-${randomNamespace} {
21 display: flex;
22 flex-direction: column;
23 align-items: flex-start;
24 padding: clamp(1rem, 2.5vw, 2rem);
25 background: #FFFFFF;
26 box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
27 border-radius: 30px;
28 margin: clamp(.5rem, 2vw, 1.5rem);
29 }
30
31 .nextome-case-study-${randomNamespace} div:not(:last-child) {
32 margin-bottom: clamp(1rem, 3vw, 2rem);
33 }
34
35 .nextome-case-study-${randomNamespace} div:nth-child(2) {
36 margin-bottom: .5rem;
37 }
38
39 .nextome-case-study-${randomNamespace} img {
40 border-radius: 1.5rem;
41 aspect-ratio: 5 / 4;
42 object-fit: cover;
43 }
44
45 .nextome-case-study-${randomNamespace} a:hover {
46 text-decoration: none;
47 color: #10303b;
48 }
49
50 .nextome-case-study-${randomNamespace} a:hover svg path {
51 fill: #10303b;
52 }
53
54 .nextome-case-study-${randomNamespace} .nextome-heading4b {
55 display: -webkit-box;
56 -webkit-line-clamp: 1;
57 -webkit-box-orient: vertical;
58 overflow: hidden;
59 }
60
61 .nextome-case-study-${randomNamespace} .nextome-subtitle1sb {
62 min-height: clamp(50px, 15vw, 116px);
63 display: -webkit-box;
64 -webkit-line-clamp: 4;
65 -webkit-box-orient: vertical;
66 overflow: hidden;
67 }
68</style>
Ciao Be the first to know the latest news about indoor positioning.
Sign up for our newsletter and receive insights and opportunities on this growing market.
We create state-of-the-art indoor navigation and positioning systems that make spaces smarter and unlock new creative opportunities for companies, developers and people.
Offices
Via Soldato di Leo, 1/D
70014 Conversano - Italy
70014 Conversano - Italy
Email info@nextome.com
Phone +39 080 880 6915
Phone +39 080 880 6915
Nextome has adopted the "231 Organisation Model" pursuant to Legislative Decree 231/2001
© 2025 Nextome srl - All Rights Reserved.