Site, Sipariş, Hizmet ve GPS için Taşınabilir Tuvalet Kiralama Uygulaması Arka Uç
Site Yönlendirmesi, Hizmet Ziyaretleri ve Birim Takibi
Üzerinde Back4app inşa edilen üretim hazır taşınabilir tuvalet kiralama arka ucu Kullanıcı, Site, InventoryUnit, RentalOrder, ServiceInterval ve LocationPing etrafında. Özel bir arka uç oluşturmak zorunda kalmadan sevkiyat, hizmet ziyaretleri ve GPS ping'lerini takip edin.
Ana Kiralama Yardımcı Bilgileri
Bu şablon, sevk görevlileri, sahipler ve müşterilerin uyumlu kalabilmesi için Kullanıcı, Alan, EnvanterBirimi, KiralamaSiparişi, HizmetAralığı ve KonumPing etrafında merkezlenmiş bir taşınabilir tuvalet kiralama arka ucunu verir.
- Kiralama siparişleri alanlara bağlı kalır — Her rezervasyonu doğru iş alanı ve taşınabilir tuvalet birimlerine bağlı tutmak için RentalOrder.site ve RentalOrder.assignedUnits kullanın.
- Hizmet ziyaretleri izlenebilir — Her HizmetAralığını serviceCode, scheduledAt, completedAt, unit, performedBy ve serviceNotes ile modelleyin.
- Envanter durumu açıktır — InventoryUnit.status ve InventoryUnit.lastServicedAt, birimin kullanılabilir, sevk edilmiş, temizleniyor veya bakımda olup olmadığını gösterir.
- GPS sinyalleri saha çalışmasını destekler — LocationPing, gpsLat, gpsLng, kaynak, birim ve sürücü-app, takipçi veya gönderim güncellemeleri için isteğe bağlı sipariş bağlantılarını saklar.
Genel Bakış: Taşınabilir Tuvalet Kiralama Uygulaması
İadeler ve denetimler, taşınabilir tuvalet kiralamada döngüyü tamamlar - sistem, bir sonraki kiralama başlamadan önce durum ve sorumluluğu yakalamalıdır. Maliyet, geri aramalar ve kredilerde görünür. Taşınabilir tuvalet kiralama kullanılabilirliğini, fiyatlandırma bağlantılarını ve yerine getirme kayıtlarını tek bir uyumlu arka uçta kodlamak için Back4app üzerindeki temel varlıkları kullanın. Şemada, kimlik doğrulama ve kiralama iş akışı özellikleri ile entegre User, Site, InventoryUnit, RentalOrder, ServiceInterval ve LocationPing bulunmaktadır. Tercih ettiğiniz ön yüzü bağlayın ve daha hızlı gönderim yapın.
En iyi:
Bu Taşınabilir Tuvalet Kiralama backend'i nasıl organize edilmiştir
Eğer taşınabilir tuvalet kiralama için yeni bir işe alım süreci geleneksel bilgi gerektiriyorsa, tek bir hata noktası ile ayrılmaktan bir adım uzaktasınız.
Merkez, rol tabanlı kullanıcı kayıtları, birim atama ve durum takibi, hizmet aralığı kayıtları gibi dili tutarlı tutar; böylece ürün, operasyon ve mühendislik “kayıt” dediğinde aynı şeyi ifade eder.
Taşınabilir Tuvalet Kiralama Temel Özellikleri
Bu merkezdeki her teknoloji kartı, User, Site, InventoryUnit, RentalOrder, ServiceInterval ve LocationPing ile aynı portatif tuvalet kiralama şemasını kullanır.
Rol tabanlı kullanıcı kayıtları
Kullanıcı, dispatcher, sahip veya müşteri erişimi için kullanıcı adı, e-posta, şifre ve rolü saklar.
Birim ataması ve durum takibi
InventoryUnit, unitTag, unitType, durum, currentSite ve sahibiyle bağlantılıdır.
Servis aralığı kayıtları
ServiceInterval, serviceCode, scheduledAt, completedAt, durum, birim ve performedBy'yi saklar.
GPS konum pingi
LocationPing, pingedAt, gpsLat, gpsLng, source, unit ve order'ı saklar.
Site ve kiralama koordinasyonu
Site ve RentalOrder, iş alanını, iletişimi ve atanmış portatif tuvalet birimlerini korur.
Neden Taşınabilir Tuvalet Kiralama Backend'inizi Back4app ile Oluşturmalısınız?
Back4app size kiralama, rota ve hizmet temel unsurlarını verir, böylece ekibiniz altyapı yerine sevkiyat ve saha çalışmasına odaklanabilir.
- •Site ve sipariş kayıtları bağlı kalır: Site, RentalOrder ve InventoryUnit her iş yeri, rezervasyon ve varlık atanımını bir iz üzerinde tutar.
- •Hizmet günlükleri yapılandırılmıştır: ServiceInterval, serviceCode, scheduledAt, completedAt, serviceNotes, performedBy ve etkileşimde bulunduğu birimi yakalar.
- •Envanter güncel kalır: InventoryUnit, birimin mevcut olup olmadığını, sevk edildiğini, temizlikte veya bakımda olduğunu gösterir, Live Queries masaları bilgilendirmeye devam eder.
Tüm platformlar arasında tek bir arka uç sözleşmesi ile kiralama operasyonlarını hızla oluşturun ve geliştirin.
Taşınabilir Tuvalet Kiralama Avantajları
Rotaları, hizmet işlerini ve envanteri uyumlu tutmanıza yardımcı olan bir kiralama arka ucu.
Daha hızlı sevk kararları
Rota verilerini sıfırdan bir araya getirmek yerine Site, RentalOrder ve InventoryUnit kullanın.
Hizmet sorumluluğu net
Her aralığı kimin tamamladığını ve ne zaman gerçekleştiğini göstermek için ServiceInterval, serviceCode ve performedBy kullanın.
Müşteri güncellemeleri tutarlıdır
User, Site.contactName ve Site.contactPhone'u doğru kiralama siparişi ile bağdaştırın.
Envanter kontrolü açıktır
InventoryUnit.status ve lastServicedAt, kullanılabilir, sevk edilmiş, temizleme veya bakımda olan üniteleri işaret etmeyi kolaylaştırır.
Konum bilgisi olan işlemler
LocationPing.gpsLat ve gpsLng, ekiplerin bir birimin nerede teslim edildiğini veya servis edildiğini doğrulamasına yardımcı olur.
AI başlangıç iş akışı
Tek bir yapılandırılmış istemle hızlı bir şekilde arka uç iskeleti ve entegrasyon kılavuzu oluşturun.
Taşınabilir tuvalet kiralama uygulamanızı başlatmaya hazır mısınız?
Back4app AI Ajanının taşınabilir tuvalet kiralama arka ucunu hazırlamasına ve Site, InventoryUnit, RentalOrder, ServiceInterval ve LocationPing akışlarını tek bir istemden oluşturmasına izin verin.
Başlamak için ücretsiz — ayda 50 AI Ajan istemi, kredi kartı gerektirmiyor
Taşınabilir Kiralama Teknoloji Yığını
Bu taşınabilir tuvalet kiralama arka uç şablonunda her şey dahil.
Kiralama Şeması Haritası
Taşınabilir tuvalet kiralama arka ucu için varlık ilişkisi modeli.
Kullanıcılar, siteler, envanter birimleri, kiralama siparişleri, hizmet aralıkları ve konum ping'lerini kapsayan şema.
Diyagram kaynağını görüntüle
erDiagram
User ||--o{ Site : "customer"
User ||--o{ InventoryUnit : "owner"
User ||--o{ RentalOrder : "customer"
User ||--o{ ServiceInterval : "performedBy"
User ||--o{ LocationPing : "capturedBy"
Site ||--o{ InventoryUnit : "currentSite"
Site ||--o{ RentalOrder : "site"
InventoryUnit ||--o{ RentalOrder : "assignedUnits"
InventoryUnit ||--o{ ServiceInterval : "unit"
InventoryUnit ||--o{ LocationPing : "unit"
RentalOrder ||--o{ ServiceInterval : "order"
RentalOrder ||--o{ LocationPing : "order"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
Site {
String objectId PK
String siteCode
String name
String address
Number gpsLat
Number gpsLng
String contactName
String contactPhone
String customerId FK
Date createdAt
Date updatedAt
}
InventoryUnit {
String objectId PK
String unitTag
String unitType
String status
Date lastServicedAt
String currentSiteId FK
String ownerId FK
Date createdAt
Date updatedAt
}
RentalOrder {
String objectId PK
String orderNumber
String status
Date startDate
Date endDate
String siteId FK
Array assignedUnits
String customerId FK
Number serviceIntervalDays
String notes
Date createdAt
Date updatedAt
}
ServiceInterval {
String objectId PK
String serviceCode
Date scheduledAt
Date completedAt
String status
String orderId FK
String unitId FK
String serviceNotes
String performedById FK
Date createdAt
Date updatedAt
}
LocationPing {
String objectId PK
Date pingedAt
Number gpsLat
Number gpsLng
String source
String unitId FK
String orderId FK
String capturedById FK
Date createdAt
Date updatedAt
}
Gönderim Entegrasyon Akışı
Oturum açma, Kiralama Siparişi sorgulama, Envanter Birimi atama, Hizmet Aralığı kaydetme ve Konum Ping'i yakalama için tipik çalışma akışı.
Diyagram kaynağını görüntüle
sequenceDiagram
participant User
participant App as Portable Toilet Rental App
participant Back4app as Back4app Cloud
User->>App: Sign in as dispatcher, owner, or customer
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open rental dashboard
App->>Back4app: GET /classes/RentalOrder?include=site,assignedUnits
Back4app-->>App: RentalOrder list
User->>App: Add or assign a portable toilet unit
App->>Back4app: POST /classes/InventoryUnit or PUT /classes/RentalOrder
Back4app-->>App: InventoryUnit saved
User->>App: Record a service interval or GPS ping
App->>Back4app: POST /classes/ServiceInterval or POST /classes/LocationPing
Back4app-->>App: Visit and location tracked
App->>Back4app: Live query updates for status changes
Back4app-->>App: Updated order, service, and inventory statusKiralama Alan Kılavuzu
Taşınabilir tuvalet kiralama şemasındaki her sınıf için tam alan düzeyinde referans.
| Alan | Tür | Açıklama | Gerekli |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Otomatik |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role of the user (e.g., dispatcher, owner, customer) | |
| createdAt | Date | Auto-generated creation timestamp | Otomatik |
| updatedAt | Date | Auto-generated last-update timestamp | Otomatik |
7 alanları User içinde
Kira Verilerine Erişim Kontrolü
ACL ve CLP stratejisinin kullanıcıları, siteleri, siparişleri, hizmet ziyaretlerini ve konum sinyallerini nasıl güvence altına aldığı.
Müşteri hesap kontrolleri
Sadece müşteri, kendi Kullanıcı alanlarını güncelleyebilir ve atanan Siteleri, Kira Siparişi, Hizmet Aralığı ve Konum Sinyali verilerini görüntüleyebilir.
Hizmet ve envanter bütünlüğü
Yalnızca yetkili personel ServiceInterval ve LocationPing kayıtları oluşturabilir ve yalnızca varlık sahipleri InventoryUnit durumunu yönetebilir.
Kapsamlı rota erişimi
Okumaları mevcut sevk planına bağlı Site, RentalOrder ve InventoryUnit satırlarıyla sınırlayın, özellikle saha ekipleri ve müşteriyle yüz yüze görüşmeler için.
JSON Şeması
Kopyalanmaya hazır ham JSON şeması tanımı Back4app içerisine yapıştırın veya uygulama referansı olarak kullanın.
{
"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
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Site",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"siteCode": {
"type": "String",
"required": true
},
"name": {
"type": "String",
"required": true
},
"address": {
"type": "String",
"required": true
},
"gpsLat": {
"type": "Number",
"required": true
},
"gpsLng": {
"type": "Number",
"required": true
},
"contactName": {
"type": "String",
"required": false
},
"contactPhone": {
"type": "String",
"required": false
},
"customer": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "InventoryUnit",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"unitTag": {
"type": "String",
"required": true
},
"unitType": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"lastServicedAt": {
"type": "Date",
"required": false
},
"currentSite": {
"type": "Pointer",
"required": false,
"targetClass": "Site"
},
"owner": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "RentalOrder",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"orderNumber": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"startDate": {
"type": "Date",
"required": true
},
"endDate": {
"type": "Date",
"required": false
},
"site": {
"type": "Pointer",
"required": true,
"targetClass": "Site"
},
"assignedUnits": {
"type": "Array",
"required": true,
"targetClass": "InventoryUnit"
},
"customer": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"serviceIntervalDays": {
"type": "Number",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ServiceInterval",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"serviceCode": {
"type": "String",
"required": true
},
"scheduledAt": {
"type": "Date",
"required": true
},
"completedAt": {
"type": "Date",
"required": false
},
"status": {
"type": "String",
"required": true
},
"order": {
"type": "Pointer",
"required": true,
"targetClass": "RentalOrder"
},
"unit": {
"type": "Pointer",
"required": true,
"targetClass": "InventoryUnit"
},
"serviceNotes": {
"type": "String",
"required": false
},
"performedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "LocationPing",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"pingedAt": {
"type": "Date",
"required": true
},
"gpsLat": {
"type": "Number",
"required": true
},
"gpsLng": {
"type": "Number",
"required": true
},
"source": {
"type": "String",
"required": true
},
"unit": {
"type": "Pointer",
"required": true,
"targetClass": "InventoryUnit"
},
"order": {
"type": "Pointer",
"required": false,
"targetClass": "RentalOrder"
},
"capturedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AI Ajanı ile Oluştur
Back4app AI Ajanını kullanarak bu şablondan ön yüz, arka yüz, kimlik doğrulama ve Site, InventoryUnit, RentalOrder, ServiceInterval ve LocationPing akışlarını içeren gerçek taşınabilir tuvalet kiralama uygulaması oluşturun.
Back4app üzerinde bu tam şema ve davranışla güvenli bir Portatif Tuvalet Kiralama Uygulama arka ucunu oluşturun. Şema: 1. Kullanıcı (Back4app yerleşik kullan): kullanıcı adı, e-posta, şifre, rol; objectId, createdAt, updatedAt (sistem). 2. Site: siteKodu, adı, adresi, gpsLat, gpsLng, iletişimAdı, iletişimTelefonu, müşteri (Kullanıcıya İşaretçi); objectId, createdAt, updatedAt (sistem). 3. EnvanterBirimi: birimEtiketi, birimTürü, durum, sonServisTarihi, mevcutSite (Siteye İşaretçi), sahibi (Kullanıcıya İşaretçi); objectId, createdAt, updatedAt (sistem). 4. KiralamaSiparişi: siparişNumarası, durum, başlangıçTarihi, bitişTarihi, site (Siteye İşaretçi), atananBirimler (EnvanterBirimi İşaretçi Dizisi), müşteri (Kullanıcıya İşaretçi), servisAralıkGünleri, notlar; objectId, createdAt, updatedAt (sistem). 5. ServisAralığı: servisKodu, programlananTarih, tamamlananTarih, durum, sipariş (KiralamaSiparişine İşaretçi), birim (EnvanterBirimine İşaretçi), servisNotları, gerçekleştiren (Kullanıcıya İşaretçi); objectId, createdAt, updatedAt (sistem). 6. KonumPing: pingTarihi, gpsLat, gpsLng, kaynak, birim (EnvanterBirimine İşaretçi), sipariş (KiralamaSiparişine İşaretçi, isteğe bağlı), yakalayan (Kullanıcıya İşaretçi); objectId, createdAt, updatedAt (sistem). Güvenlik: - Müşteriler yalnızca kendi Site, KiralamaSiparişi, ServisAralığı ve KonumPing girişlerini görüntüleyebilir. - Dağıtımcılar, ServisAralığı kayıtları oluşturabilir ve güncelleyebilir ve KonumPing verilerini yakalayabilir. - Varlık sahipleri EnvanterBirimi durumunu yönetebilir ve sipariş atamalarını görüntüleyebilir. - Konum ve müşteri iletişim alanlarını özel tutun, yetkilendirilmiş bir rol olmadıkça. Kimlik Doğrulama: - Üye ol, giriş yap, çıkış yap. Davranış: - Kiralama siparişlerini listeleyin, siteler oluşturun, envanter birimleri atayın, servis aralıklarını planlayın ve GPS pinglerini kaydedin. - Envanter durumunu ve hizmet geçmişini dağıtım ve müşteri görünürlüğü için doğru tutun. Teslim Et: - Back4app uygulaması, şema, CLP'ler, ACL'ler ve portatif tuvalet hizmeti kiralayan personel, varlık sahipleri ve müşteriler için ön yüz akışları ile.
Bu şablon istemi önceden doldurulmuş olarak Açıkça temsilcisini açmak için aşağıdaki düğmeye basın.
Bu, bir teknoloji eki olmadan temel istemdir. Oluşturulan ön yüz yığınını daha sonra uyarlayabilirsiniz.
API Sandbox
Taşınabilir tuvalet kiralama şemasına karşı REST ve GraphQL uç noktalarını deneyin. Yanıtlar sahte veri kullanır ve Back4app hesabı gerektirmez.
Bu şemayı bu şablonla aynı şekilde kullanır.
Yığınınızı Seçin
Her kartı açarak Site, InventoryUnit ve RentalOrder'ı seçtiğiniz teknoloji yığını ile nasıl entegre edeceğinizi görün.
Flutter Portatif Tuvalet Kiralama Arka Ucu
React Portatif Tuvalet Kiralama Arka Ucu
React Yerel Portatif Tuvalet Kiralama Arka Ucu
Next.js Portatif Tuvalet Kiralama Arka Ucu
JavaScript Portatif Tuvalet Kiralama Arka Ucu
Android Portatif Tuvalet Kiralama Arka Ucu
iOS Portatif Tuvalet Kiralama Arka Ucu
Vue Portatif Tuvalet Kiralama Arka Ucu
Angular Portatif Tuvalet Kiralama Arka Ucu
GraphQL Portatif Tuvalet Kiralama Arka Ucu
REST API Portatif Tuvalet Kiralama Arka Ucu
PHP Portatif Tuvalet Kiralama Arka Ucu
.NET Portatif Tuvalet Kiralama Arka Ucu
Her Teknolojiden Aldığınız Şey
Her yığın aynı taşınabilir tuvalet kiralama arka uç şemasını ve API sözleşmelerini kullanır.
Birleşik kiralama verisi yapısı
Kullanıcı, Site, InventoryUnit, RentalOrder, ServiceInterval ve LocationPing'i tutarlı bir şemayla yönetin.
Kiralamalar için hizmet aralığı günlükleri
Her temizlik, malzeme ikmali ve denetimi aynı ServiceInterval modeli ile kaydedin.
GPS uyumlu konum takibi
LocationPing enlem ve boylamını doğru InventoryUnit ve RentalOrder ile bağlayın.
Taşınabilir birimler için envanter kontrolü
Stok, bakım ve sevkiyat için status ve lastServicedAt alanlarını tanımlayın.
REST/GraphQL kiralama API'leri
Sipariş ve hizmet akışları için esnek uç noktalarla mobil ve web istemcilerini entegre edin.
Genişletilebilir işlem mimarisi
Ana modeli bozmadığınızdan emin olarak daha sonra sevkiyat uyarıları, denetim fotoğrafları veya faturalama sınıfları ekleyin.
Taşınabilir Kiralama Yığını Karşılaştırması
Tüm desteklenen teknolojilerde kurulum hızını, SDK stilini ve AI desteğini karşılaştırın.
| Çerçeve | Kurulum Süresi | Kiralama Faydası | SDK Türü | Yapay Zeka Desteği |
|---|---|---|---|---|
| Yaklaşık 5 dakika | Kiralama masası ve saha ekibi ekranları için tek kod tabanı. | Tiplenmiş SDK | Tam | |
| 5 dakikadan az | Unit mevcutluğu ve hizmet kayıtları için hızlı web kontrol paneli. | Yazılı SDK | Tam | |
| ~3–7 dk | Site ziyaretleri ve denetimler için çok platformlu mobil uygulama. | Yazılı SDK | Tam | |
| Hızlı (5 dk) kurulum | Kiralama operasyonları için sunucu tarafından oluşturulan dağıtım portalı. | Yazılı SDK | Tam | |
| ~3–5 dk | Rezervasyon ve hizmet ekranları için hafif web entegrasyonu. | Yazılı SDK | Tam | |
| Yaklaşık 5 dakika | Sürücüler ve rota güncellemeleri için yerel Android uygulaması. | Tiplenmiş SDK | Tam | |
| 5 dakikadan kısa | Site ziyaretleri ve teslimat kontrolleri için yerel iOS uygulaması. | Tiplenmiş SDK | Tam | |
| ~3-7 dakika | Reactif web UI hizmet ve envanter panoları için. | Tiplenmiş SDK | Tam | |
| Hızlı (5 dk) kurulum | Gönderim ve kiralama yönetimi için kurumsal web uygulaması. | Yazılı SDK | Tam | |
| 2 dakikanın altında | Kapsamlı GraphQL API, iç içe site ve hizmet sorguları için. | GraphQL API | Tam | |
| Hızlı (2 dk) kurulum | Rezervasyon ve rota güncellemeleri için REST API entegrasyonu. | REST API | Tam | |
| ~3 dk | Kiralamalar masası iş akışları için sunucu tarafı PHP arka uç. | REST API | Tam | |
| ~3–7 dk | Sevkiyat ve envanter işlemleri için .NET arka uç. | Tiplenen SDK | Tam |
Kurulum süresi, bu şablon şemasını kullanarak proje başlangıcından ilk InventoryUnit, RentalOrder, ServiceInterval veya LocationPing sorgusuna kadar beklenen süreyi yansıtır.
Taşınabilir Kiralama Soruları
Bu şablonla taşınabilir tuvalet kiralama arka ucu oluşturma hakkında yaygın sorular.
Taşınabilir tuvalet kiralama uygulamanızı inşa etmeye hazır mısınız?
Taşınabilir tuvalet kiralama projenize dakikalar içinde başlayın. Kredi kartı gerekmez.