InventoryLocations
Docs
    Dealer Brand App

    Decentralized Self-building Future

    Sign In
    Inventory
    Locations
    Service
    My Garage
    How I shop
    Privacy|Contact
    v1.106.1|Sonoratek LLC

    Documentation

    Concepts, value, and typical clone scenarios — less code.

    Dealer desk docs
    Getting started
    First day on the desk
    Features
    Vehicle inventory
    Vehicle stock
    Listing a vehicle by hand
    Rooftops and the dealer group
    Dealer leads
    Rooftop messages
    Garage and how you shop
    Push Notifications with FCM (Ring-Powered)
    Tunnel Protocol

    Documentation

    Concepts, value, and typical clone scenarios — less code.

    Dealer desk docs
    Getting started
    First day on the desk
    Features
    Vehicle inventory
    Vehicle stock
    Listing a vehicle by hand
    Rooftops and the dealer group
    Dealer leads
    Rooftop messages
    Garage and how you shop
    Push Notifications with FCM (Ring-Powered)
    Tunnel Protocol

    Documentation

    Concepts, value, and typical clone scenarios — less code.

    Dealer desk docs
    Getting started
    First day on the desk
    Features
    Vehicle inventory
    Vehicle stock
    Listing a vehicle by hand
    Rooftops and the dealer group
    Dealer leads
    Rooftop messages
    Garage and how you shop
    Push Notifications with FCM (Ring-Powered)
    Tunnel Protocol
    Dealer Brand App Logo

    Loading documentation...

    Preparing Dealer Brand App content

    Dealer Brand App Logo

    Loading documentation...

    Preparing Dealer Brand App content

    Dealer Brand App Logo

    Loading documentation...

    Preparing Dealer Brand App content

    Garage and how you shop

    Two signed-in pages belong to the person, not to the rooftop desk: My Garage and How I shop.

    Neither page changes the platform role (visitor, subscriber, member, admin). Staff access is still an invite on the rooftop entity.

    My Garage

    /profile/garage lists vehicles the signed-in person owns. They can add one by VIN. Open a vehicle to log an odometer reading and a short note, or to check open NHTSA recalls for that VIN. The recall check reports a count. It is not a Carfax history and it is not a promise that the car is free of problems.

    This garage is not your for-sale inventory. Cars you are advertising live on /store.

    When your staff deliver a sold unit to a buyer, that API can also place the car in the buyer's garage. The lead desk does not have a Deliver button yet. Until it does, delivery is a staff call, not a screen the buyer clicks.

    How I shop

    /profile/audience asks one optional question:

    ChoiceWhat it does
    Car buyerDefault. Browse and message a rooftop.
    Independent dealerSaves the choice and sends one application to the dealer group.
    Parts supplierSame kind of application, for someone who wants to supply parts.
    OtherA private note only.

    An application does not let that person edit inventory or see other rooftops' leads. Your managers accept or ignore it on the lead desk like any other lead. Sending it again does not create a second application.

    PiecePath
    Garage listGET and POST /api/dealer/garage
    Mileage and recallsGET and POST /api/dealer/garage/[id]/events
    Tablesowned_vehicles, owned_vehicle_events via features/dealer/services/garage.ts
    AudienceGET and PUT /api/dealer/audience
    Stored fieldusers.data.dealerAudience
    Application kindpartner_application in features/dealer/services/leads.ts

    POST /api/dealer/garage with { kind: 'own', vin } creates the row for the session user. A mileage event with type: 'mileage' and odometer updates data.miles. type: 'recall_check' reads NHTSA and returns recalls.

    PUT /api/dealer/audience rejects an unknown value. and call against the first , or the first if no group exists. The platform column is not written.

    Related documentation

    Rooftops and the dealer group

    Prerequisite: why an application is not a staff invite.

    Vehicle stock

    See also: delivery, which can copy a sold unit into this garage.

    First day on the desk

    Same workflow: the signed-in pages on the owner's map.

    1. /
    2. /Garage and how you shop

    Updated Oct 28, 20262 min listen

    Garage and how you shop

    Two signed-in pages belong to the person, not to the rooftop desk: My Garage and How I shop.

    Neither page changes the platform role (visitor, subscriber, member, admin). Staff access is still an invite on the rooftop entity.

    My Garage

    /profile/garage lists vehicles the signed-in person owns. They can add one by VIN. Open a vehicle to log an odometer reading and a short note, or to check open NHTSA recalls for that VIN. The recall check reports a count. It is not a Carfax history and it is not a promise that the car is free of problems.

    This garage is not your for-sale inventory. Cars you are advertising live on /store.

    When your staff deliver a sold unit to a buyer, that API can also place the car in the buyer's garage. The lead desk does not have a Deliver button yet. Until it does, delivery is a staff call, not a screen the buyer clicks.

    How I shop

    /profile/audience asks one optional question:

    ChoiceWhat it does
    Car buyerDefault. Browse and message a rooftop.
    Independent dealerSaves the choice and sends one application to the dealer group.
    Parts supplierSame kind of application, for someone who wants to supply parts.
    OtherA private note only.

    An application does not let that person edit inventory or see other rooftops' leads. Your managers accept or ignore it on the lead desk like any other lead. Sending it again does not create a second application.

    PiecePath
    Garage listGET and POST /api/dealer/garage
    Mileage and recallsGET and POST /api/dealer/garage/[id]/events
    Tablesowned_vehicles, owned_vehicle_events via features/dealer/services/garage.ts
    AudienceGET and PUT /api/dealer/audience
    Stored fieldusers.data.dealerAudience
    Application kindpartner_application in features/dealer/services/leads.ts

    POST /api/dealer/garage with { kind: 'own', vin } creates the row for the session user. A mileage event with type: 'mileage' and odometer updates data.miles. type: 'recall_check' reads NHTSA and returns recalls.

    PUT /api/dealer/audience rejects an unknown value. and call against the first , or the first if no group exists. The platform column is not written.

    Related documentation

    Rooftops and the dealer group

    Prerequisite: why an application is not a staff invite.

    Vehicle stock

    See also: delivery, which can copy a sold unit into this garage.

    First day on the desk

    Same workflow: the signed-in pages on the owner's map.

    1. /
    2. /Garage and how you shop

    Updated Oct 28, 20262 min listen

    Garage and how you shop

    Two signed-in pages belong to the person, not to the rooftop desk: My Garage and How I shop.

    Neither page changes the platform role (visitor, subscriber, member, admin). Staff access is still an invite on the rooftop entity.

    My Garage

    /profile/garage lists vehicles the signed-in person owns. They can add one by VIN. Open a vehicle to log an odometer reading and a short note, or to check open NHTSA recalls for that VIN. The recall check reports a count. It is not a Carfax history and it is not a promise that the car is free of problems.

    This garage is not your for-sale inventory. Cars you are advertising live on /store.

    When your staff deliver a sold unit to a buyer, that API can also place the car in the buyer's garage. The lead desk does not have a Deliver button yet. Until it does, delivery is a staff call, not a screen the buyer clicks.

    How I shop

    /profile/audience asks one optional question:

    ChoiceWhat it does
    Car buyerDefault. Browse and message a rooftop.
    Independent dealerSaves the choice and sends one application to the dealer group.
    Parts supplierSame kind of application, for someone who wants to supply parts.
    OtherA private note only.

    An application does not let that person edit inventory or see other rooftops' leads. Your managers accept or ignore it on the lead desk like any other lead. Sending it again does not create a second application.

    PiecePath
    Garage listGET and POST /api/dealer/garage
    Mileage and recallsGET and POST /api/dealer/garage/[id]/events
    Tablesowned_vehicles, owned_vehicle_events via features/dealer/services/garage.ts
    AudienceGET and PUT /api/dealer/audience
    Stored fieldusers.data.dealerAudience
    Application kindpartner_application in features/dealer/services/leads.ts

    POST /api/dealer/garage with { kind: 'own', vin } creates the row for the session user. A mileage event with type: 'mileage' and odometer updates data.miles. type: 'recall_check' reads NHTSA and returns recalls.

    PUT /api/dealer/audience rejects an unknown value. and call against the first , or the first if no group exists. The platform column is not written.

    Related documentation

    Rooftops and the dealer group

    Prerequisite: why an application is not a staff invite.

    Vehicle stock

    See also: delivery, which can copy a sold unit into this garage.

    First day on the desk

    Same workflow: the signed-in pages on the owner's map.

    1. /
    2. /Garage and how you shop

    Updated Oct 28, 20262 min listen

    independent_dealer
    parts_supplier
    createDealerLead
    dealer_group
    dealer_rooftop
    role
    Docs
    Features
    independent_dealer
    parts_supplier
    createDealerLead
    dealer_group
    dealer_rooftop
    role
    Docs
    Features
    independent_dealer
    parts_supplier
    createDealerLead
    dealer_group
    dealer_rooftop
    role
    Docs
    Features