generated: '2026-10-14' method: derived generator: derive-data-model.py source: - openapi/silvercar-mob-api-openapi.yml notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 136 entities_in_spec: 136 relationships: 30 entities: - name: AdminAgreementToggleResponse fields: 10 - name: AdminAvailabilityGroupIntervalsResponse fields: 3 - name: AdminAvailabilityGroupResponse fields: 11 - name: AdminAvailabilityGroups fields: 6 - name: AdminAvailabilityIntervals fields: 3 - name: AdminAvailabilityResponse fields: 2 - name: AdminAvailabilityVehicles fields: 3 - name: AdminCalendarAgreementResponse fields: 2 - name: AdminCalendarContractResponse fields: 21 - name: AdminCalendarCustomerResponse fields: 3 - name: AdminCalendarVehicleResponse fields: 12 - name: AdminContactlessMessagesRequest fields: 2 - name: AdminContractAdditionalPayerTotals fields: 2 - name: AdminContractAuthorizationResponse fields: 3 - name: AdminContractBillingAdjustmentsResponse fields: 2 - name: AdminContractCustomerResponse fields: 6 - name: AdminContractFinishRequest fields: 6 - name: AdminContractPaymentResponse fields: 11 - name: AdminContractPricing fields: 4 - name: AdminContractPricingResponse fields: 14 - name: AdminContractSplitBillAdjustmentRequest fields: 3 - name: AdminContractSplitBillAdjustmentResponse fields: 3 - name: AdminContractSplitBillRequest fields: 11 - name: AdminContractSplitBillResponse fields: 15 - name: AdminContractStartRequest fields: 10 - name: AdminContractUpdateRequest fields: 9 - name: AdminContractVehicleRequest fields: 1 - name: AdminContractVehicleResponse fields: 12 - name: AdminContractsWarranty fields: 4 - name: AdminCustomerContractResponse fields: 10 - name: AdminCustomerEmployerRequest fields: 8 - name: AdminCustomerEmployerResponse fields: 9 - name: AdminCustomerInsuranceResponse fields: 14 - name: AdminCustomerNoteImageResponse fields: 3 - name: AdminCustomerNoteRequest fields: 2 - name: AdminCustomerNotesResponse fields: 9 - name: AdminCustomerPaymentMethodResponse fields: 6 - name: AdminCustomerRequest fields: 5 - name: AdminCustomerResponse fields: 12 - name: AdminDealershipAddressRequest fields: 7 - name: AdminDealershipAddressResponse fields: 7 - name: AdminDealershipAvailabilityIntervalResponse fields: 5 - name: AdminDealershipContractManifestResponse fields: 29 - name: AdminDealershipContractResponse fields: 37 - name: AdminDealershipCustomerProfileMessageRequest fields: 3 - name: AdminDealershipDetailsResponse fields: 23 - name: AdminDealershipFleetSettingsResponse fields: 14 - name: AdminDealershipFleetsContractsVehiclesResponse fields: 1 - name: AdminDealershipKpisRequest fields: 5 - name: AdminDealershipKpisResponse fields: 19 - name: AdminDealershipSettingsResponse fields: 28 - name: AdminDealershipTelematicsSettingsRequest fields: 2 - name: AdminDealershipTelematicsSettingsResponse fields: 2 - name: AdminDealershipTollTransponderResponse fields: 7 - name: AdminDealershipWebhookCreateRequest fields: 9 - name: AdminDealershipWebhookResponse fields: 11 - name: AdminDealershipWebhookUpdateRequest fields: 8 - name: AdminDealershipsResponse fields: 6 - name: AdminDriversRequest fields: 9 - name: AdminDriversResponse fields: 12 - name: AdminEmployeeResponse fields: 10 - name: AdminFleetAvailabilityIntervalResponse fields: 6 - name: AdminFleetContractRequest fields: 10 - name: AdminFleetRequest fields: 4 - name: AdminFleetResponse fields: 22 - name: AdminFleetSettingsDriveProtection fields: 5 - name: AdminFleetSettingsGeofenceCharge fields: 4 - name: AdminFleetSettingsGeofenceCharges fields: 0 description: Geofence charge settings keyed by geofence id. - name: AdminFleetSettingsGeofencePenaltyCharge fields: 4 - name: AdminFleetSettingsRequest fields: 11 - name: AdminFleetSettingsResponse fields: 16 - name: AdminFuelResponse fields: 3 - name: AdminIssueRequest fields: 1 - name: AdminIssueResponse fields: 9 - name: AdminLoginRequest fields: 2 - name: AdminLoginResponse fields: 1 - name: AdminOdometer fields: 2 - name: AdminOnBoardingVehiclesResponse fields: 3 - name: AdminRemoteProfileQrCodeRequest fields: 3 - name: AdminRemoteProfileResponse fields: 4 - name: AdminRemoteProfileSearchRequest fields: 3 - name: AdminServiceAdvisorsResponse fields: 3 - name: AdminUserConfirmRequest fields: 2 - name: AdminUserDealershipRolesResponse fields: 2 - name: AdminUserForgotPasswordRequest fields: 1 - name: AdminUserPreferencesResponse fields: 1 - name: AdminUserResetPasswordRequest fields: 2 - name: AdminUserResponse fields: 8 - name: AdminVehiclePatchRequest fields: 5 description: Changes the vehicle's managed toll transponder and, when sent, its fleets. Other vehicle fields are not accepted yet; keep saving them through the existing endpoints. - name: AdminVehicleRequest fields: 8 - name: AdminVehicleRequest-2 fields: 6 - name: AdminVehicleResponse fields: 39 - name: AdminVehicleResponse-2 fields: 40 - name: AdminVehicleTelemetryResponse fields: 3 - name: AvailabilityResponse fields: 2 - name: BillingEstimate fields: 12 - name: ContactlessContractDriverResponse fields: 10 - name: ContactlessContractResponse fields: 9 - name: ContractNoteAddRequest fields: 1 - name: ContractNoteUpdateRequest fields: 1 - name: CreateAdminContractBillingAdjustmentRequest fields: 3 - name: CreateAdminEmployeeRequest fields: 4 - name: CustomerNotificationAttempt fields: 10 - name: FailedCustomerNotification fields: 16 - name: HypermediaLink fields: 2 - name: InsuranceSufficiencyLoanerProperties fields: 5 - name: InsuranceSufficiencyRentalProperties fields: 5 - name: PricingModel fields: 7 - name: ReplayCustomerNotificationRequest fields: 1 - name: ReplayCustomerNotificationResponse fields: 5 - name: ReportRevenueSummary fields: 8 - name: ReportingColumnFilter fields: 2 - name: ReportingDataRequest fields: 7 - name: ReportingDataResponse fields: 0 description: Reporting response. The server preserves the underlying payload shape - name: ReportingDataSource fields: 6 - name: ReportingErrorResponse fields: 1 - name: ReportingMetadataRequest fields: 3 - name: ReportingMetadataResponse fields: 1 - name: ReportingQueryFilterDefinition fields: 4 - name: ReportingRuntimeFilter fields: 4 - name: ReportingRuntimeFilterDefinition fields: 4 - name: ReportingRuntimeParameter fields: 2 - name: ReportingRuntimeParameterDefinition fields: 5 - name: ReservationCustomerResponse fields: 6 - name: ReservationCustomerUpdateRequest fields: 5 - name: RevenueReportItemization fields: 8 - name: RevenueSummaryDetails fields: 8 - name: SignatureRequest fields: 3 - name: TransactionDetails fields: 20 - name: UnsettledBalanceDetails fields: 15 - name: UpdateAdminDealershipRequest fields: 5 - name: UpdateAdminEmployeeRequest fields: 3 - name: UpdateAdminEmployeeRolesRequest fields: 1 - name: UpdateAdminUserPasswordRequest fields: 1 - name: UpdateAdminUserPreferencesRequest fields: 1 - name: UpdateAdminUserRequest fields: 5 relationships: - from: FailedCustomerNotification to: CustomerNotificationAttempt type: has_one via: latest_attempt - from: AdminAvailabilityGroupResponse to: AdminAvailabilityVehicles type: has_many via: available_vehicles - from: AdminAvailabilityGroupResponse to: BillingEstimate type: has_one via: estimate - from: AdminAvailabilityGroups to: AdminAvailabilityVehicles type: has_many via: available_vehicles - from: AdminAvailabilityIntervals to: AdminAvailabilityGroups type: has_many via: groups - from: AdminAvailabilityGroupIntervalsResponse to: AdminAvailabilityIntervals type: has_many via: intervals - from: AdminContractPricingResponse to: AdminContractPricing type: has_many via: pricing - from: AdminContractPricingResponse to: AdminContractAdditionalPayerTotals type: has_many via: additional_payer_totals - from: AdminVehicleResponse to: AdminOdometer type: has_one via: odometer - from: AdminCalendarContractResponse to: AdminCalendarAgreementResponse type: has_one via: agreement - from: AdminCalendarContractResponse to: AdminCalendarCustomerResponse type: has_one via: customer - from: RevenueSummaryDetails to: RevenueReportItemization type: has_one via: itemization - from: AdminContractVehicleResponse to: AdminOdometer type: has_one via: odometer - from: ReportingDataRequest to: ReportingColumnFilter type: has_many via: filters - from: ReportingDataRequest to: ReportingRuntimeFilter type: has_many via: runtime_filters - from: ReportingDataRequest to: ReportingRuntimeParameter type: has_many via: runtime_param_override - from: ReportingDataSource to: ReportingQueryFilterDefinition type: has_many via: filters - from: ReportingDataSource to: ReportingRuntimeFilterDefinition type: has_many via: runtime_filters - from: ReportingDataSource to: ReportingRuntimeParameterDefinition type: has_many via: runtime_parameters - from: ReportingMetadataResponse to: ReportingDataSource type: has_many via: data_sources - from: AdminVehicleResponse-2 to: AdminOdometer type: has_one via: odometer - from: AdminVehicleResponse-2 to: AdminDealershipTollTransponderResponse type: has_one via: toll_transponder - from: AdminVehicleTelemetryResponse to: AdminFuelResponse type: has_one via: fuel - from: AdminVehicleTelemetryResponse to: AdminOdometer type: has_one via: odometer - from: AdminCustomerNotesResponse to: AdminCustomerNoteImageResponse type: has_many via: images - from: AdminFleetSettingsGeofenceCharge to: AdminFleetSettingsGeofencePenaltyCharge type: has_one via: penalty - from: AdminFleetSettingsResponse to: AdminFleetSettingsDriveProtection type: has_one via: drive_protection - from: AdminFleetSettingsResponse to: AdminFleetSettingsGeofenceCharges type: has_one via: geofence_charges - from: AdminFleetSettingsRequest to: AdminFleetSettingsDriveProtection type: has_one via: drive_protection - from: AdminFleetSettingsRequest to: AdminFleetSettingsGeofenceCharges type: has_one via: geofence_charges