What does this PR do?
/claim https://github.com/calcom/cal.com/issues/18987
Visual Demo (For contributors especially)
Video Demo (if applicable):
https://github.com/user-attachments/assets/bd6565a0-ba83-483c-b90c-e5834f906204
Mandatory Tasks (DO NOT REMOVE)
- I have self-reviewed the code (A decent size PR without self-review might be rejected).
- I have updated the developer docs in /docs if this PR makes changes that would require a documentation change. If N/A, write N/A here and check the checkbox.
- I confirm automated tests are in place that prove my fix is effective or that my feature works.
Summary by cubic
Routing forms now use the shared event-type field type/config logic, making booking questions consistent and reusable. This also expands supported field types and aligns the query builder and editor with the shared config, addressing CAL-5097 and closing #18987.
-
New Features
- Adds shared field types (address, url, multiemail, checkbox, radio, boolean) to routing forms.
- Updates query builder widgets, placeholders, and operators to support these types (e.g., boolean as select; checkbox with multiselect operators).
- Improves form editor: options are shown only when the field type needs them; boolean defaults to 2 options.
-
Refactors
- Replaces hard-coded routing form field types with shared fieldTypesForRoutingForms.
- Centralizes helpers (validation, needsOptions, config) and exposes isFieldTypeWithOptions.
- Updates attribute-to-field-type mapping and ensures listValues are set only when required.
Written for commit 7cd60e1069299e6571b4eb52e0f04e68b1d455cc. Summary will update on new commits.