'datetime', 'revoked_at' => 'datetime', 'activation_limit' => 'integer', 'max_major_version' => 'integer', 'current_period_ends_at' => 'datetime', 'cancel_scheduled_at' => 'datetime']; public function product(): BelongsTo { return $this->belongsTo(LicenseProduct::class, 'license_product_id'); } public function activations(): HasMany { return $this->hasMany(LicenseActivation::class); } public function getIsUsableAttribute(): bool { return $this->revoked_at === null && ($this->expires_at === null || $this->expires_at->isFuture()); } }