rtSurvey supports all standard XLSForm question types, plus several extensions. Each question type controls what kind of data is collected and how the input widget is rendered on the device.
To set the question type, enter the type name in the type column of the survey worksheet in your XLSForm.
Text input
| Type | Description |
|---|---|
| text | Free-text response — any characters allowed |
| integer | Whole number (no decimals) |
| decimal | Number with decimal places |
| range | Number selected from a slider within a defined min/max range |
Selection
| Type | Description |
|---|---|
| select_one listname | Pick exactly one option from a list |
| select_multiple listname | Pick one or more options from a list |
| select_one_from_file filename | Pick one option loaded from an external CSV file |
| rank listname | Order choices by preference or priority |
Date and Time
| Type | Description |
|---|---|
| date | Calendar date (year, month, day) |
| time | Time of day (hours, minutes) |
| datetime | Combined date and time |
Location
| Type | Description |
|---|---|
| geopoint | Single GPS coordinate (latitude, longitude, altitude, accuracy) |
| geotrace | A path — series of GPS points forming a line |
| geoshape | An area — closed polygon of GPS points |
Media
| Type | Description |
|---|---|
| image | Photo capture or image upload |
| audio | Audio recording |
| video | Video recording |
| file | General file upload (PDF, document, etc.) |
Other
| Type | Description |
|---|---|
| barcode | Scan a barcode or QR code |
| note | Read-only display text — shows instructions or calculated summaries |
| calculate | Hidden field that stores a computed value |
| hidden | Hidden field that stores a static or prefilled value |
| trigger / acknowledge | A checkbox the enumerator must tick to confirm they have read a statement |
| meta | Automatic metadata: timestamps, device ID, enumerator info |
How type and appearance work together
The type determines what data is collected. The appearance column controls how the widget looks. Many types support multiple appearances — for example select_one can appear as radio buttons, a dropdown, a Likert scale, or a compact grid.
See Appearance for the full list of options.