schneespur/app/Models/CustomerObject.php
Michael ee3dbba6cc Initial release v1.0.0
Schneespur — Open-source winter service documentation software (PWA + Admin).
GPS tracking via OwnTracks, weather data, photo evidence, and legally
compliant service records for winter maintenance operators.

License: AGPL-3.0-or-later
2026-05-17 13:33:51 +00:00

59 lines
1.4 KiB
PHP

<?php
namespace App\Models;
use Database\Factories\CustomerObjectFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class CustomerObject extends Model
{
/** @use HasFactory<CustomerObjectFactory> */
use HasFactory;
protected $fillable = [
'customer_id',
'name',
'street',
'zip',
'city',
'lat',
'lon',
'contact_name',
'contact_email',
'contact_phone',
'price_amount_cents',
'price_unit',
'plow_threshold_cm',
'salt_enabled',
'site_notes',
'access_notes',
'notify_recipients',
'auto_notify_email',
'notification_email',
];
protected function casts(): array
{
return [
'price_amount_cents' => 'integer',
'plow_threshold_cm' => 'integer',
'salt_enabled' => 'boolean',
'auto_notify_email' => 'boolean',
'lat' => 'decimal:7',
'lon' => 'decimal:7',
];
}
public function customer(): BelongsTo
{
return $this->belongsTo(Customer::class);
}
public function serviceJobs(): HasMany
{
return $this->hasMany(Job::class);
}
}