移動汽車美容應用程式後端模板
現場派遣、服務選擇及支付紀錄
在 Back4app 上的生產就緒移動汽車美容後端,具備客戶位置追蹤、服務層級選擇和支付歷史。包含ER圖、數據字典、JSON架構、API遊樂場,以及AI 代理提示以便快速設置。
派遣要點
此模板為您提供一個移動汽車美容後端,具備客戶位置追蹤、服務層級選擇及付款歷史,以便協調員和現場工作人員可以使用相同的真實資料源。
- 客戶位置追蹤 — 為每個服務工作(ServiceJob)儲存 customerLatitude、customerLongitude 和 serviceAddress,以確保精確的現場路由。
- 服務層級選擇 — 建模 TierPackage 並在 ServiceJob 上添加 chosenTierPointer,以記錄確切的清洗、拋光或內部套餐。
- 統一的付款歷史 — 將付款記錄與 ServiceJob 和客戶綁定,以便輕鬆審核帳單歷史。
概述:移動汽車美容應用
即使是強大的移動汽車美容手冊也會失敗,如果技術人員無法相信工作包與客戶所承諾的匹配。可靠性是一種特徵,而不是註腳。該模式以客戶、車輛、層級包、服務工作和支付為中心,並在 Back4app 上進行實時查詢,為移動汽車美容操作員提供了整個組織可以信任的真實來源。該模式涵蓋了客戶(全名、電話號碼、電子郵件)、車輛(客戶、品牌、型號、車牌號)、層級包(名稱、價格、持續時間、是否包含內部清潔)、服務工作(客戶、車輛、選擇的層級、服務地址、客戶緯度、客戶經度、狀態)和支付(服務工作、金額、方式、支付狀態、支付時間),並內置身份驗證和現場操作流程。連接您喜愛的前端並更快發貨。
最佳適用於:
您在移動汽車清潔模板中獲得的內容
移動汽車清潔不僅僅是關於速度;當有人問「告訴我你怎麼知道這是真的。」時,這是關於可辯護性。
使用此概述查看 Customer、Vehicle 和 TierPackage 如何協同運作,然後再將工程時間投入特定的客戶框架。
核心移動清潔功能
該中心中的每一個技術卡都使用相同的詳細結構,包含客戶、車輛、層級套餐、ServiceJob 及付款。
客戶檔案和聯繫詳情
客戶儲存全名、電話號碼、電子郵件和預設服務地址。
每個預約的車輛記錄
車輛連接到客戶並存儲品牌、型號、年份和車牌號。
服務層級選擇
TierPackage 定義名稱、價格、持續時間(分鐘),並包括內部清潔。
派遣準備好的服務工作
ServiceJob 記錄狀態、服務地址、客戶緯度、客戶經度及指派的詳細人員。
付款記錄與費用追蹤
付款連結到 ServiceJob、客戶、金額、方法、付款狀態及付款時間。
為什麼要使用 Back4app 構建您的移動汽車清潔應用後端?
Back4app 為您提供客戶、服務和支付基本設施,這樣您的團隊就可以專注於調度和細節質量,而不是後端維護。
- •位置感知服務任務: ServiceJob 存儲 customerLatitude、customerLongitude 和 serviceAddress,這樣協調員就可以將清潔工路由到正確的地址。
- •層級驅動的預訂: TierPackage 和 chosenTierPointer 將每個洗車、打蠟或全面清潔請求與所選的套餐相連結。
- •付款歷史和收據: 與 ServiceJob 和 Customer 相關聯的付款使每個收費、退款和付款狀態在一個地方可見。
透過一個後端合約在每個平台上更快地啟動預訂、調度和帳單工作流程。
核心優勢
一個詳細後臺,能夠將排程、路線規劃及計費緊密結合。
更快的預訂設置
從客戶、車輛和服務工作類別開始,而不是從頭設計預訂表格。
更清晰的派遣決策
使用 ServiceJob.customerLatitude 和 ServiceJob.customerLongitude 來排序路線並減少未到達的情況。
對員工和客戶的層級清晰度
TierPackage 和 ServiceJob.chosenTier 在團隊確認所選的詳細包裝時消除了猜測。
可審核的付款歷史
與 ServiceJob 和客戶相關的付款記錄使收費檢查和退款審核變得簡單明瞭。
跨平台的服務可見性
REST 和 GraphQL 可以從一個架構中提供移動應用程序、協調面板和報告工具。
人工智慧輔助的後端啟動
生成細節應用程序骨架和整合計劃,僅需一個結構化的提示。
準備好啟動您的移動汽車細節應用程序了嗎?
讓 Back4app 人工智慧代理搭建您的細節後端,並從一個提示中生成客戶位置追蹤、服務級別選擇和支付歷史。
免費開始 - 每月 50 個人工智慧代理提示,無需信用卡
技術棧
這個移動汽車美容後端模板中所有內容。
ER 圖
手機汽車美容後端架構的實體關係模型。
涵蓋客戶、車輛、美容級別、服務工作和付款的架構。
查看圖表來源
erDiagram
User ||--o{ Booking : "assignedTo"
User ||--o{ LocationPing : "detailer"
Customer ||--o{ Booking : "customer"
Customer ||--o{ PaymentHistory : "customer"
ServiceTier ||--o{ Booking : "serviceTier"
Booking ||--o{ LocationPing : "booking"
Booking ||--o{ PaymentHistory : "booking"
User {
String objectId PK
String username
String email
String password
String role
String phoneNumber
Date createdAt
Date updatedAt
}
Customer {
String objectId PK
String fullName
String phoneNumber
String email
String homeAddress
String preferredVehicle
String notes
Date createdAt
Date updatedAt
}
ServiceTier {
String objectId PK
String name
Number price
Number durationMinutes
String description
Boolean isActive
Date createdAt
Date updatedAt
}
Booking {
String objectId PK
String customerId FK
String serviceTierId FK
Date scheduledAt
String status
String assignedToId FK
String vehicleDetails
Number estimatedTotal
String specialInstructions
Date createdAt
Date updatedAt
}
LocationPing {
String objectId PK
String bookingId FK
String detailerId FK
Number latitude
Number longitude
Date capturedAt
String status
Date createdAt
Date updatedAt
}
PaymentHistory {
String objectId PK
String bookingId FK
String customerId FK
Number amount
String currency
String paymentMethod
String paymentStatus
Date paidAt
String receiptUrl
Date createdAt
Date updatedAt
}
整合流程
登錄、服務層級選擇、地址追蹤和付款歷史的典型執行流程。
查看圖表來源
sequenceDiagram
participant Staff as Mobile Car Detailing App User
participant App as Mobile Car Detailing App
participant Back4app as Back4app Cloud
Staff->>App: Sign in
App->>Back4app: POST /login
Back4app-->>App: Session token
Staff->>App: Review customer location tracking
App->>Back4app: GET /classes/Booking?include=customer,serviceTier,assignedTo
Back4app-->>App: Booking list with customer addresses and tier selection
Staff->>App: Send a GPS location ping
App->>Back4app: POST /classes/LocationPing
Back4app-->>App: LocationPing objectId
Staff->>App: Check payment history
App->>Back4app: GET /classes/PaymentHistory?include=booking,customer
Back4app-->>App: Payment history entries
App->>Back4app: Subscribe to Booking updates
Back4app-->>App: Live update for status changes數據字典
移動汽車美容模式中每個類的字段級參考。
| 字段 | 類型 | 描述 | 必填 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | Login name for managers, coordinators, or field staff | |
| String | Email address used for account access and notifications | ||
| password | String | Hashed password stored by Parse (write-only) | |
| role | String | Account role such as manager, coordinator, or detailer | |
| phoneNumber | String | Direct contact number for dispatch and schedule updates | — |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
8 欄位在 User 中
安全性與權限
如何透過 ACL 和 CLP 策略保護客戶、服務工作和支付歷史。
客戶資料控制
只有客戶或授權的協調者可以更新客戶資料。
工作所有權和調度檢查
ServiceJob 的創建和更新應在 Cloud Code 中進行驗證,因此只有經批准的工作人員可以分配詳細人或更改狀態。
範圍支付訪問
支付讀取應限於相關客戶、協調員或財務角色,以保護帳單歷史紀錄。
架構(JSON)
原始 JSON 架構定義,準備複製到 Back4app 或作為實現參考。
{
"classes": [
{
"className": "User",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"phoneNumber": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Customer",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"fullName": {
"type": "String",
"required": true
},
"phoneNumber": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"homeAddress": {
"type": "String",
"required": true
},
"preferredVehicle": {
"type": "String",
"required": false
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ServiceTier",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"name": {
"type": "String",
"required": true
},
"price": {
"type": "Number",
"required": true
},
"durationMinutes": {
"type": "Number",
"required": true
},
"description": {
"type": "String",
"required": true
},
"isActive": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Booking",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"customer": {
"type": "Pointer",
"required": true,
"targetClass": "Customer"
},
"serviceTier": {
"type": "Pointer",
"required": true,
"targetClass": "ServiceTier"
},
"scheduledAt": {
"type": "Date",
"required": true
},
"status": {
"type": "String",
"required": true
},
"assignedTo": {
"type": "Pointer",
"required": false,
"targetClass": "User"
},
"vehicleDetails": {
"type": "String",
"required": false
},
"estimatedTotal": {
"type": "Number",
"required": true
},
"specialInstructions": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "LocationPing",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"booking": {
"type": "Pointer",
"required": true,
"targetClass": "Booking"
},
"detailer": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"latitude": {
"type": "Number",
"required": true
},
"longitude": {
"type": "Number",
"required": true
},
"capturedAt": {
"type": "Date",
"required": true
},
"status": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "PaymentHistory",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"booking": {
"type": "Pointer",
"required": true,
"targetClass": "Booking"
},
"customer": {
"type": "Pointer",
"required": true,
"targetClass": "Customer"
},
"amount": {
"type": "Number",
"required": true
},
"currency": {
"type": "String",
"required": true
},
"paymentMethod": {
"type": "String",
"required": true
},
"paymentStatus": {
"type": "String",
"required": true
},
"paidAt": {
"type": "Date",
"required": false
},
"receiptUrl": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}使用 AI 代理建構
使用 Back4app AI 代理從此模板生成真正的移動汽車美容應用,包括前端、後端、認證和服務工作、層級及支付流程。
在 Back4app 上創建一個移動汽車美容應用的後端,使用此確切的架構和行為。 架構: 1. 客戶:fullName(字串,必填)、phoneNumber(字串,必填)、email(字串)、defaultServiceAddress(字串)、notes(字串);objectId、createdAt、updatedAt(系統)。 2. 車輛:customer(指向客戶的指針,必填)、make(字串,必填)、model(字串,必填)、year(數字,必填)、plateNumber(字串,必填)、color(字串);objectId、createdAt、updatedAt(系統)。 3. 套餐:name(字串,必填)、price(數字,必填)、durationMinutes(數字,必填)、includesInterior(布林,必填)、description(字串);objectId、createdAt、updatedAt(系統)。 4. 服務工作:customer(指向客戶的指針,必填)、vehicle(指向車輛的指針,必填)、chosenTier(指向套餐的指針,必填)、serviceAddress(字串,必填)、customerLatitude(數字)、customerLongitude(數字)、scheduledAt(日期,必填)、assignedDetailer(字串)、status(字串,必填)、notes(字串);objectId、createdAt、updatedAt(系統)。 5. 付款:serviceJob(指向服務工作的指針,必填)、customer(指向客戶的指針,必填)、amount(數字,必填)、method(字串,必填)、paymentStatus(字串,必填)、paidAt(日期)、transactionRef(字串);objectId、createdAt、updatedAt(系統)。 安全性: - 客戶只能更新自己的個人資料。使用雲代碼來驗證服務工作狀態變更和付款寫入。 認證: - 註冊、登錄、登出。 行為: - 列出套餐、創建服務工作、跟踪服務地址和坐標,顯示付款歷史。 交付: - 帶有架構、ACL、CLP 的 Back4app 應用;客戶、車輛、服務套餐、工作和付款歷史的前端。
按下下面的按鈕以使用此模板提示預填的內容打開代理。
這是沒有技術後綴的基本提示。您可以在之後調整生成的前端堆棧。
API 遊樂場
嘗試 REST 和 GraphQL 端點對應於移動汽車美容架構。響應使用模擬數據,並且不需要 Back4app 帳戶。
使用與此模板相同的架構。
選擇您的技術
展開每個卡片以查看如何將客戶、車輛和TierPackage與您選擇的技術棧進行整合。
Flutter 移動汽車美容後端
React 移動汽車美容後端
React 原生 移動汽車美容後端
Next.js 移動汽車美容後端
JavaScript 移動汽車美容後端
Android 移動汽車美容後端
iOS 移動汽車美容後端
Vue 移動汽車美容後端
Angular 移動汽車美容後端
GraphQL 移動汽車美容後端
REST API 移動汽車美容後端
PHP 移動汽車美容後端
.NET 移動汽車美容後端
您從每項技術中獲得的東西
每個技術棧使用相同的細節後端架構和API合約。
統一的詳細數據結構
使用一個架構管理客戶、車輛、服務層級、工作和付款。
基於位置的預訂流程
跟蹤服務地址和協調以進行現場派遣和到達規劃。
操作的付款歷史
檢查每個服務工作的費用和付款狀態。
角色友好的訪問模式
讓協調者、細節人員和客戶查看屬於他們的數據。
服務應用的 REST/GraphQL API
通過靈活的 API 訪問將移動和網頁客戶端連接起來。
細節技術比較
比較所有支援技術的設置速度、SDK 風格和 AI 支援。
| 框架 | 設置時間 | 詳細資訊 | SDK 類型 | AI 支援 |
|---|---|---|---|---|
| 大約 5 分鐘 | 客戶和細節應用的單一代碼庫。 | 類型化 SDK | 完整 | |
| 少於 5 分鐘 | 快速的網頁儀表板,用於調度和計費。 | 類型化 SDK | 完整 | |
| 約 3–7 分鐘 | 跨平台移動應用程式供現場工作小組使用。 | 類型化 SDK | 完整 | |
| 快速(5 分鐘)設置 | 伺服器生成的預約和管理頁面。 | 類型化 SDK | 完整 | |
| 約 3–5 分鐘 | 輕量級網頁集成,供客戶入口使用。 | 類型化 SDK | 完整 | |
| 約 5 分鐘 | 原生 Android 應用程式,用於派遣和現場更新。 | 類型化 SDK | 完整 | |
| 少於 5 分鐘 | 用於客戶預訂和狀態檢查的原生 iPhone 應用程序。 | 類型化 SDK | 完整 | |
| 約 3–7 分鐘 | Reactive 網頁 UI 用於服務協調。 | 類型化 SDK | 完整 | |
| 快速 (5 分鐘) 設置 | 大型詳細團隊的運營控制台。 | 類型化 SDK | 完整 | |
| 少於 2 分鐘 | 靈活的 GraphQL API 用於工作、層級和支付。 | GraphQL API | 完整 | |
| 快速(2分鐘)設置 | REST API 整合用於移動細節應用程式。 | REST API | 完整 | |
| 約 3 分鐘 | 伺服器端 PHP 整合用於預訂流程。 | REST API | 完整 | |
| 約 3–7 分鐘 | .NET 整合服務操作。 | 類型化 SDK | 完整 |
設置時間反映從專案啟動到使用此範本架構的首次服務工作或付款查詢的預期持續時間。
常見問題
有關使用此模板建立移動汽車詳細後端的常見問題。