# VehicleWaitlistRequest

Schema: #/components/schemas/VehicleWaitlistRequest

Method: SCHEMA
Version: 2.0
Security: oauth2

## Schema fields:

  - `email` (string | null)
    Email address to notify when the user's hardware becomes supported. Required for anonymous callers, for whom `null` and an empty string are rejected; a driver calling with their own access token may omit it, or send `null` or an empty string, to use their account email.
    Example: user@example.com

  - `program_id` (string | null)
    Optional `ProgramConfig` uid. Captured where known (web signup, whitelabel microsite) so later notification logic can scope by program.
    Example: prog01HRS4TSK26BPBV7127DH7E0HA

  - `vehicle_model_id` (string | null)
    Uid of a `CarModel`. Used when the user picked from the vehicle picker. Mutually exclusive with `vehicle_make_id`, `vehicle_make_name` and `vehicle_model_name`.
    Example: vmod01HRS4TSK26BPBV7127DH7E0HA

  - `vehicle_make_id` (string | null)
    Uid of a `CarMake`. Used when the user picked a known make but typed a model name; must be supplied with `vehicle_model_name`. The stored make name is filled in from the make. Mutually exclusive with `vehicle_model_id` and `vehicle_make_name`.
    Example: vmak01HRS4TSK26BPBV7127DH7E0HA

  - `vehicle_make_name` (string)
    Free-text make name from manual entry. Must be supplied together with `vehicle_model_name`. Mutually exclusive with `vehicle_model_id` and `vehicle_make_id`.
    Example: Tesla

  - `vehicle_model_name` (string)
    Free-text model name. Must be supplied together with `vehicle_make_name` or `vehicle_make_id`. Mutually exclusive with `vehicle_model_id`.
    Example: Model 3

  - `notify_when_supported` (boolean)
    Whether the user opts in to an email once their hardware becomes supported. Defaults to `true`.

