Overview
The user models handle user profiles, authentication credentials, registration, and driver-specific information for the Rodando platform.Response Models
UserProfile
Basic public user profile information. Source:src/app/core/models/user/user.response.ts:7
Unique identifier for the user (UUID). May be null for anonymous profiles.
User’s full name.
User’s email address.
User’s phone number in international format.
URL to the user’s profile picture.
ISO 8601 timestamp of when the user account was created.
UserListItem
Lightweight user representation for list views. Source:src/app/core/models/user/user.response.ts:21
Unique identifier for the user (UUID).
User’s full name.
User’s email address.
URL to the user’s profile picture.
Type of user account.Enum values:
passenger | driver | adminCurrent status of the user account.Enum values:
active | inactive | bannedUser’s phone number.
ISO 8601 timestamp of account creation.
User
Complete user object with all details. Source:src/app/core/models/user/user.response.ts:37
Unique identifier for the user (UUID).
User’s full name.
User’s email address.
Whether the email address has been verified.
User’s phone number in international format.
Whether the phone number has been verified.
Type of user account.Enum values:
passenger | driver | adminURL to the user’s profile picture.
User’s current geographic location.
Array of vehicle IDs associated with this user (for drivers).
Current account status.Enum values:
active | inactive | bannedISO 639-1 language code (e.g., “en”, “es”, “fr”).
ISO 8601 timestamp of when the user accepted the terms of service.
ISO 8601 timestamp of when the user accepted the privacy policy.
ISO 8601 timestamp of account creation.
ISO 8601 timestamp of account deletion (soft delete). Null for active accounts.
Payload Models
CreateUserPayload
Payload for creating a new user profile. Source:src/app/core/models/user/user.payload.ts:27
User’s full name.
User’s email address.
Type of user account to create.Enum values:
passenger | driver | adminUser’s phone number in international format.
Initial account status (defaults to
active).Enum values: active | inactive | bannedURL to the user’s profile picture.
User’s initial location.
ID of the vehicle to associate with the driver.
ISO 639-1 language code (e.g., “en”, “es”).
ISO 8601 timestamp of terms acceptance.
ISO 8601 timestamp of privacy policy acceptance.
UpdateUserPayload
Payload for updating an existing user profile. All fields are optional. Source:src/app/core/models/user/user.payload.ts:46
All fields from CreateUserPayload are optional. Only include fields you want to update.
RegisterUserPayload
Complete payload for registering a new user with credentials. Source:src/app/core/models/user/user.payload.ts:53
User profile information.
Authentication credentials for the new user.
ChangePasswordPayload
Payload for changing a user’s password. Source:src/app/core/models/user/user.payload.ts:66
The new password. Should meet security requirements (minimum length, complexity, etc.).Example:
MiNuevaContrasenaSegura123!Confirmation of the new password. Must match
newPassword exactly.Example: MiNuevaContrasenaSegura123!Auxiliary Types
UserType
Enumeration of user account types. Source:src/app/core/models/user/user.auxiliary.ts:4
Regular passenger user. Value:
'passenger'Driver user with vehicle access. Value:
'driver'Administrative user with elevated privileges. Value:
'admin'UserStatus
Enumeration of user account statuses. Source:src/app/core/models/user/user.auxiliary.ts:12
Account is active and in good standing. Value:
'active'Account is temporarily inactive. Value:
'inactive'Account has been banned due to policy violations. Value:
'banned'AuthMethod
Enumeration of authentication methods. Source:src/app/core/models/user/user.auxiliary.ts:19
Local authentication with email/phone and password. Value:
'local'Google OAuth authentication. Value:
'google'Facebook OAuth authentication. Value:
'facebook'Apple Sign In authentication. Value:
'apple'Location
Geographic coordinates. Source:src/app/core/models/user/user.auxiliary.ts:33
Latitude coordinate (range: -90 to 90).
Longitude coordinate (range: -180 to 180).
OAuthProviders
OAuth provider identifiers. Source:src/app/core/models/user/user.auxiliary.ts:42
Google OAuth user identifier.
Facebook OAuth user identifier.
Apple OAuth user identifier.
Driver-Specific Models
DriverAvailabilitySnapshot
Current availability and location snapshot for a driver. Source:src/app/core/models/driver-availability.models.ts:10
Unique identifier for this availability snapshot (UUID).
Driver’s user ID (UUID).
Whether the driver is currently online in the app.
Whether the driver is available to accept new trip assignments.
Driver’s last known geographic location.
ISO 8601 timestamp of the last location update.
ID of the trip currently in progress (UUID). Null if not on a trip.
ID of the vehicle currently being used (UUID).
ISO 8601 timestamp of when the driver last went online.
Reason for current availability status.Enum values:
OFFLINE | ON_TRIP | UNAVAILABLEISO 8601 timestamp of last update to this snapshot.
ISO 8601 timestamp of soft deletion. Null for active records.
DriverAvailabilityPing
Compact location ping payload sent by drivers to update their location. Source:src/app/core/models/driver-availability.models.ts:31
Latitude coordinate of current location.
Longitude coordinate of current location.
GPS accuracy in meters.
ISO 8601 timestamp when the location was captured on the device.
Force the backend to save this ping even if it’s similar to the previous one.
UpdateDriverAvailabilityStatus
Payload for toggling driver availability from the UI. Source:src/app/core/models/driver-availability.models.ts:40
Set to
true to mark driver as available for trips, false to mark as unavailable.AvailabilityReason
Enumeration of reasons for a driver’s current availability status. Source:src/app/core/models/driver-availability.models.ts:3
Driver is offline. Value:
'OFFLINE'Driver is currently on a trip. Value:
'ON_TRIP'Driver is online but explicitly unavailable. Value:
'UNAVAILABLE'Related Models
See also:- Authentication Models - Login and session management
- Trip Models - Trip data and assignments