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

# Build Roadmap

> All seven stages of an indoor positioning build — from unboxing the hardware to a position appearing in the app — on one page. Use it to see which stage you are on.

This page is **the full map for anyone building indoor positioning for the first time**.
Follow it in order and you end up with your own position showing as a dot on the app screen.

<Frame caption="What it looks like when finished — the verification app shows your position in real time">
  <img src="https://mintcdn.com/onecheck/ORvzbFNCHp5DtBm2/images/demo/app-demo-tracking.png?fit=max&auto=format&n=ORvzbFNCHp5DtBm2&q=85&s=f625d6ec216b64576b721764199b46bd" alt="Verification app screen showing a live position" width="1233" height="2532" data-path="images/demo/app-demo-tracking.png" />
</Frame>

<Info>
  **If you want to know what positioning is first,** read the [Positioning Integration Overview](/en/positioning-overview).
  If the terms (anchor, UWB, zone) are unfamiliar, they are collected in [Concepts & Glossary](/en/concepts).
</Info>

## What to prepare before you start

Without these three things you will stall partway through. **Secure them before you begin.**

<AccordionGroup>
  <Accordion title="Accounts — you need two: GeoSpace and the OneS1ght console" icon="user">
    Both services are **invite only**. There is no self sign-up, so if you have not been invited,
    contact `onesight-support@onecheck.co.kr` first.

    | Console                | Used for                             | Role required         |
    | ---------------------- | ------------------------------------ | --------------------- |
    | **GeoSpace** (partner) | Buildings, floor plans, anchor setup | `admin` or `operator` |
    | **OneS1ght console**   | Integration, zones, SDK keys         | `owner` or `manager`  |

    <Note>
      The two consoles use different role names. GeoSpace uses `admin · operator · viewer`,
      the OneS1ght console uses `owner · manager · viewer`.
    </Note>
  </Accordion>

  <Accordion title="Hardware — four or more AN-500 anchors" icon="tower-broadcast">
    | Item                                 | Quantity                | Notes                                                                                 |
    | ------------------------------------ | ----------------------- | ------------------------------------------------------------------------------------- |
    | AN-500 anchor                        | **4 or more**           | Based on a rectangular placement enclosing the detection area                         |
    | Power adapter · cable                | One per anchor          | USB-C · **5V/3A** · 3 m or longer recommended                                         |
    | Power strip                          | One per anchor position | For corners with no outlet nearby                                                     |
    | Double-sided tape · ladder           | —                       | For wall mounting (the default for a permanent install) — **either this or** a tripod |
    | Tripod                               | 4                       | For temporary installs and demos (no wall damage) — **either this or** wall mounting  |
    | Tape measure or laser distance meter | 1                       | For measuring coordinates                                                             |

    The AN-500 anchors and power adapters are **supplied by OneS1ght when you adopt the service** — confirm quantities and delivery dates with your contact.
    You prepare the rest (power strips, tripods, tape measure, tape) on site. The full list is in [Before You Install](/en/geospace/site-survey#3-what-to-bring).
  </Accordion>

  <Accordion title="Floor plan — a plan image that matches the real layout" icon="map">
    You need a floor plan in PNG or JPG. It must **match the real layout of the space**,
    and it has to show a stretch of known real-world length — a wall or a column — so you can set the scale.

    <Tip>
      You do not need an existing plan — if the store is a simple rectangle, **drawing a single rectangle to the measured proportions in PowerPoint or Excel and saving it as a PNG** is enough.
      The details are in [Before You Install · Prepare the floor plan](/en/geospace/site-survey#4-prepare-the-floor-plan).
    </Tip>
  </Accordion>

  <Accordion title="Test device — an iPhone with UWB support" icon="mobile">
    | Item   | Requirement                   |
    | ------ | ----------------------------- |
    | Device | iPhone 12 or later (UWB chip) |
    | iOS    | 27.0 or later                 |

    Check the iOS version under **Settings → General → About**, and if it is below 27, update it under **Settings → General → Software Update**.
    iPhone 11 and earlier have no UWB chip, so **positioning does not work.**
    You will use this device for the verification stage, so have it ready in advance.
  </Accordion>
</AccordionGroup>

## The seven stages

Each stage is **a prerequisite for the next one**. Do not skip ahead — work through them in order.

| Stage                                                                      | What you do                                                    | Where              | Done when                                                               |
| -------------------------------------------------------------------------- | -------------------------------------------------------------- | ------------------ | ----------------------------------------------------------------------- |
| **1** [Before You Install](/en/geospace/site-survey)                       | Survey the site, decide anchor positions                       | On site            | Width and depth are measured and four anchor spots are chosen           |
| **2** [GeoSpace Setup (Account)](/en/geospace/onboarding)                  | Log in to GeoSpace, check the organization and license         | GeoSpace           | You can select a tenant and work in the UI                              |
| **3** [Build Spaces (Buildings · Floor Plans)](/en/geospace/spaces)        | Create buildings and floors, upload the plan and set its scale | GeoSpace           | The distance between two points on the plan matches reality             |
| **4** [Anchor Installation · Coordinate Measurement](/en/geospace/install) | Register hardware → mount anchors → measure coordinates        | On site + GeoSpace | 4 units registered and powered on, 4 coordinate pairs recorded          |
| **5** [Floor Plan Placement · Cluster](/en/geospace/placement)             | Enter coordinates, assign master and session                   | GeoSpace           | You have clicked through `[Apply to devices] → [Done]`                  |
| **6** [Positioning Connection · Key Issuance](/en/geospace/connect)        | Issue a partner key → register it in the console (SW pairing)  | GeoSpace + console | The console badge reads **Connected** and your real floor plan is shown |
| **7** [Verification](/en/geospace/verify)                                  | Check the whole chain with the verification app                | On site + app      | **Your position appears as a dot in the app**                           |

<Warning>
  **Do not pick the master anchor and session ID in stage 5 yourself.**
  OneS1ght provides these values separately when you adopt the service.
  If you have not received them, contact `onesight-support@onecheck.co.kr`.
</Warning>

<Note>
  **Stages 1–7 require no code** — an operations owner can carry them out with console settings and on-site work alone,
  and the check is done by **installing the verification app** you were given. Code only appears when you put positioning into
  the customer app, in the [Developer Guide (SDK)](/en/sdk/overview), and that is an **optional stage** —
  if you only take the coordinate data and use it directly in your own system, the journey ends before SDK integration.
</Note>

## After positioning — putting the console to work

Once you finish stage 7, positions are being resolved and your real floor plan is connected in the console.
From here on it is about **what you do with that data**.

<CardGroup cols={3}>
  <Card title="Zone setup" icon="draw-polygon" href="/en/locator/areas">
    Draw the zones you want to detect on the floor plan. They are the basis for enter, exit and dwell events.
  </Card>

  <Card title="SDK key issuance" icon="key" href="/en/locator/sdk-keys">
    Issue the `ock_sdk_` key that goes into the app.
  </Card>

  <Card title="Integrate the SDK into your app" icon="mobile" href="/en/sdk/overview">
    Add the positioning library to the customer app.
  </Card>
</CardGroup>

## Where people get stuck

These are **the three most common blockers** on a first build. Knowing them in advance saves time.

<AccordionGroup>
  <Accordion title="Partner key issued but never registered in the console (stage 6)" icon="triangle-exclamation">
    Issuing the key in GeoSpace and **registering** that key in the OneS1ght console are two separate jobs.
    If you skip the registration, the console shows a **sample floor plan** instead of your store (simulation mode).

    → Do both the issuance and the registration in one pass in [6. Positioning Connection · Key Issuance](/en/geospace/connect).
  </Accordion>

  <Accordion title="Mistaking the coordinate origin for the corner of the room" icon="triangle-exclamation">
    The coordinate origin on the floor plan placement screen is **(0, 0) of the whole uploaded image, not the corner of the room**.
    If the image includes margins or exterior walls, you have to add that offset to the values you enter.

    For example, if the bottom-left corner of the room sits (0.6, 1.5) away from the image origin,
    an anchor you measured as (0, 0) on site is entered as `(0.6, 1.5)`.

    → See [Floor Plan Placement](/en/geospace/placement#1-floor-plan-placement) for a worked example.
  </Accordion>

  <Accordion title="Installing all the anchors along one wall" icon="triangle-exclamation">
    If the four anchors are bunched on one side or sit close to a straight line, position error grows sharply.
    Place them as **a rectangle enclosing the detection area**, surrounding the target from four corners.

    → See [Anchor Installation](/en/geospace/install#2-anchor-installation-physical).
  </Accordion>
</AccordionGroup>

## Get started

<Card title="Stage 1 · Start with Before You Install" icon="arrow-right" href="/en/geospace/site-survey" horizontal>
  Start by surveying the site and deciding anchor positions.
</Card>

<Note>
  If you get stuck along the way, look up your symptom in [Troubleshooting](/en/troubleshooting) or
  contact `onesight-support@onecheck.co.kr`.
</Note>
