<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

/**
 * Friert die umsatzsteuerliche Grundlage bei Event-Anlage aus den Tenant-Einstellungen ein. Die Werte sind
 * danach unveränderlich, damit Preisermittlung und spätere Rechnungen von späteren Tenant-Änderungen
 * unberührt bleiben. Bestandsevents erhalten die Defaults (keine USt).
 */
return new class extends Migration {
    public function up(): void
    {
        Schema::table('events', function (Blueprint $table) {
            $table->boolean('tax_liable')->default(false);
            $table->unsignedTinyInteger('vat_rate')->default(0);
            $table->string('vat_pricing_mode')->default('inclusive');
            $table->string('tax_exemption_reason')->nullable();
            $table->text('tax_exemption_note')->nullable();
        });
    }

    public function down(): void
    {
        Schema::table('events', function (Blueprint $table) {
            $table->dropColumn([
                'tax_liable',
                'vat_rate',
                'vat_pricing_mode',
                'tax_exemption_reason',
                'tax_exemption_note',
            ]);
        });
    }
};
