To a modern group controller, a delivery robot is just another client. It requests a ride, gets an assignment, and subscribes to updates, the same way a phone app calls a car.
The short version
- The big makers sell ride-request APIs. Otis calls its product Integrated Dispatch. KONE publishes developer docs and example code. Schindler and TK Elevator have their own.
- KONE’s public examples use a WebSocket: get a token, read the building’s layout, send a call from one area to another, then watch the assigned car’s state or cancel.
- The open-source robotics world has its own version. Open-RMF, a ROS-based framework for fleets of robots in buildings, defines a
LiftRequestmessage with a lift name, destination floor, door state, and session ID. - Countries are standardizing the handshake. Singapore’s robot-to-infrastructure reference TR 93 has been succeeded by SS 713:2025. Japan’s Robot Friendly Facilities Promotion Organization published a robot-elevator cooperation interface definition, RFA B 0001:2025, in February 2025.
- None of this lets a robot drive the elevator. It asks the dispatcher for a ride, exactly like a person at a kiosk.
The handshake, step by step
- Authenticate. The robot’s fleet software gets an access token scoped to one building and one elevator group.
- Learn the building. It pulls the topology: which floors and areas exist, and which actions this group controller supports.
- Request a ride. It sends a destination call: from this area to that one.
- Get an assignment. The dispatcher picks a car, just like it would for a person using the lobby kiosk (Floor 4), and says which one.
- Watch. The robot subscribes to that car’s state: where it is, when the doors open, when it arrives.
- Ride and release. It rolls in, rides, rolls out, and ends the session so the car goes back to normal service.
KONE’s example code follows almost exactly this flow. Its README lists an
Authentication API that returns a token with a scope like
callgiving/group:BUILDING_ID:GROUP_ID, and an Elevator WebSocket API for making
or cancelling calls and getting real-time data about the assigned elevators. A
destination call sets the source area and the destination from the building
layout the robot fetched earlier.
What the open-source version looks like
Open-RMF’s lift message is short enough to read in one breath. These are the real field names from the public definition:
string lift_name builtin_interfaces/Time request_time string session_id # unique per requester uint8 request_type REQUEST_END_SESSION = 0 REQUEST_AGV_MODE = 1 # doors held open whenever the car is stopped REQUEST_HUMAN_MODE = 2 # doors must be opened and closed explicitly string destination_floor uint8 door_state # DOOR_CLOSED = 0, DOOR_OPEN = 2
The comment on the modes is the funny part. In AGV mode, the doors stay open whenever the car stops, because a robot doesn’t want a door closing on it mid-roll. Human mode means the robot has to ask for the doors explicitly, since they might time out and close on their own, just like they would on you.
Why countries are writing standards
Every maker has its own API, and every robot company has its own fleet software. A hotel with one brand of elevator and two brands of robots ends up paying for custom integrations. National standards try to fix that:
- Singapore ran an early technical reference, TR 93, for how robots talk to building infrastructure such as lifts and doors. Its National Robotics Programme lists it as succeeded by SS 713:2025.
- Japan’s Robot Friendly Facilities Promotion Organization published its robot-elevator cooperation interface definition, RFA B 0001:2025, as a first edition on February 20, 2025.
These define a common language. They don’t guarantee that any particular robot will ride any particular elevator out of the box.
And sometimes the robot just pushes the button
Not every robot uses an API. Some delivery robots carry a little arm or a button-presser, or have a staff member call the car for them. The API route is cleaner, though, because the dispatcher knows the robot is coming and can give it a car with room, and hold the doors the way AGV mode asks.
An API that can call cars is also an API that decides who reaches which floor. That's why these systems use scoped tokens tied to one building and group. It's also why Floor 12's destination-dispatch security story matters.
Sources
- Otis: Integrated Dispatch
- KONE: API example code (GitHub)
- Open-RMF: LiftRequest message definition (GitHub)
- Singapore National Robotics Programme: standards (TR 93, SS 713:2025)
- Robot Friendly Facilities Promotion Organization: elevator robot cooperation interface definition (2025)
- Schindler: BuilT-In integration API (PDF)
