'integer', 'purchase_item_id' => 'integer', 'created_by_user_id' => 'integer', 'amount' => 'decimal:2', ]; } /** @return list */ public static function types(): array { return [self::TYPE_PARTIAL, self::TYPE_TOTAL]; } public function typeLabel(): string { return match ($this->type) { self::TYPE_PARTIAL => 'Reembolso parcial', self::TYPE_TOTAL => 'Reembolso total', default => 'Reembolsado', }; } /** @return BelongsTo */ public function ticket(): BelongsTo { return $this->belongsTo(Ticket::class); } /** @return BelongsTo */ public function purchaseItem(): BelongsTo { return $this->belongsTo(PurchaseItem::class); } /** @return BelongsTo */ public function createdBy(): BelongsTo { return $this->belongsTo(User::class, 'created_by_user_id')->withTrashed(); } }