diff --git a/Dockerfile b/Dockerfile
index 1122e9c..51963e0 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:8.2-fpm
+FROM php:8.4-fpm
ENV XDEBUG_MODE='coverage' \
XDEBUG_CONFIG='client_host=host.docker.internal output_dir=/var/www/tmp'
diff --git a/psalm.xml b/psalm.xml
index 48ab4d8..1dc440d 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -19,6 +19,12 @@
+
+
+
+
+
+
diff --git a/tests/ApiTest.php b/tests/ApiTest.php
index f58d6fd..ce99164 100644
--- a/tests/ApiTest.php
+++ b/tests/ApiTest.php
@@ -27,7 +27,7 @@
use Sysix\LexOffice\Clients\Voucher;
use Sysix\LexOffice\Clients\VoucherList;
-class ApiTest extends TestClient
+final class ApiTest extends TestClient
{
public function createApiMockObject(Response $response)
{
diff --git a/tests/Clients/ArticleTest.php b/tests/Clients/ArticleTest.php
index 1b8e7ec..225983c 100644
--- a/tests/Clients/ArticleTest.php
+++ b/tests/Clients/ArticleTest.php
@@ -8,7 +8,7 @@
use Sysix\LexOffice\Clients\Article;
use Sysix\LexOffice\Tests\TestClient;
-class ArticleTest extends TestClient
+final class ArticleTest extends TestClient
{
public function testGetPage(): void
{
diff --git a/tests/Clients/ContactTest.php b/tests/Clients/ContactTest.php
index 48bf574..9ef07b3 100644
--- a/tests/Clients/ContactTest.php
+++ b/tests/Clients/ContactTest.php
@@ -8,7 +8,7 @@
use Sysix\LexOffice\Clients\Contact;
use Sysix\LexOffice\Tests\TestClient;
-class ContactTest extends TestClient
+final class ContactTest extends TestClient
{
public function testGetPage(): void
{
diff --git a/tests/Clients/CountryTest.php b/tests/Clients/CountryTest.php
index 8b00d70..578098d 100644
--- a/tests/Clients/CountryTest.php
+++ b/tests/Clients/CountryTest.php
@@ -8,7 +8,7 @@
use Sysix\LexOffice\Clients\Country;
use Sysix\LexOffice\Tests\TestClient;
-class CountryTest extends TestClient
+final class CountryTest extends TestClient
{
public function testGetAll(): void
{
diff --git a/tests/Clients/CreditNoteTest.php b/tests/Clients/CreditNoteTest.php
index 25fc548..fd0e335 100644
--- a/tests/Clients/CreditNoteTest.php
+++ b/tests/Clients/CreditNoteTest.php
@@ -10,7 +10,7 @@
use Sysix\LexOffice\Clients\VoucherList;
use Sysix\LexOffice\Tests\TestClient;
-class CreditNoteTest extends TestClient
+final class CreditNoteTest extends TestClient
{
public function testGet(): void
{
diff --git a/tests/Clients/DeliveryNoteTest.php b/tests/Clients/DeliveryNoteTest.php
index 4ba1057..be87497 100644
--- a/tests/Clients/DeliveryNoteTest.php
+++ b/tests/Clients/DeliveryNoteTest.php
@@ -10,7 +10,7 @@
use Sysix\LexOffice\Clients\VoucherList;
use Sysix\LexOffice\Tests\TestClient;
-class DeliveryNoteTest extends TestClient
+final class DeliveryNoteTest extends TestClient
{
public function testGet(): void
{
diff --git a/tests/Clients/DownPaymentInvoiceTest.php b/tests/Clients/DownPaymentInvoiceTest.php
index 882c442..9b86a80 100644
--- a/tests/Clients/DownPaymentInvoiceTest.php
+++ b/tests/Clients/DownPaymentInvoiceTest.php
@@ -10,7 +10,7 @@
use Sysix\LexOffice\Clients\VoucherList;
use Sysix\LexOffice\Tests\TestClient;
-class DownPaymentInvoiceTest extends TestClient
+final class DownPaymentInvoiceTest extends TestClient
{
public function testGet(): void
{
diff --git a/tests/Clients/DunningTest.php b/tests/Clients/DunningTest.php
index 7c9c549..4025639 100644
--- a/tests/Clients/DunningTest.php
+++ b/tests/Clients/DunningTest.php
@@ -9,7 +9,7 @@
use Sysix\LexOffice\Clients\Dunning;
use Sysix\LexOffice\Tests\TestClient;
-class DunningTest extends TestClient
+final class DunningTest extends TestClient
{
public function testGet(): void
{
diff --git a/tests/Clients/EventTest.php b/tests/Clients/EventTest.php
index 58fba81..a2b2c37 100644
--- a/tests/Clients/EventTest.php
+++ b/tests/Clients/EventTest.php
@@ -8,7 +8,7 @@
use Sysix\LexOffice\Clients\Event;
use Sysix\LexOffice\Tests\TestClient;
-class EventTest extends TestClient
+final class EventTest extends TestClient
{
public function testCreate(): void
{
diff --git a/tests/Clients/FileTest.php b/tests/Clients/FileTest.php
index f90a467..5fd16ec 100644
--- a/tests/Clients/FileTest.php
+++ b/tests/Clients/FileTest.php
@@ -11,7 +11,7 @@
use Sysix\LexOffice\Exceptions\LexOfficeApiException;
use Sysix\LexOffice\Tests\TestClient;
-class FileTest extends TestClient
+final class FileTest extends TestClient
{
public function testGet(): void
{
diff --git a/tests/Clients/InvoiceTest.php b/tests/Clients/InvoiceTest.php
index 9a564a7..7926e18 100644
--- a/tests/Clients/InvoiceTest.php
+++ b/tests/Clients/InvoiceTest.php
@@ -10,7 +10,7 @@
use Sysix\LexOffice\Clients\VoucherList;
use Sysix\LexOffice\Tests\TestClient;
-class InvoiceTest extends TestClient
+final class InvoiceTest extends TestClient
{
public function testCreate(): void
{
diff --git a/tests/Clients/OrderConfirmationTest.php b/tests/Clients/OrderConfirmationTest.php
index ed48c70..05914f1 100644
--- a/tests/Clients/OrderConfirmationTest.php
+++ b/tests/Clients/OrderConfirmationTest.php
@@ -10,7 +10,7 @@
use Sysix\LexOffice\Clients\VoucherList;
use Sysix\LexOffice\Tests\TestClient;
-class OrderConfirmationTest extends TestClient
+final class OrderConfirmationTest extends TestClient
{
public function testCreate(): void
{
diff --git a/tests/Clients/PaymentConditionTest.php b/tests/Clients/PaymentConditionTest.php
index e776104..3a21571 100644
--- a/tests/Clients/PaymentConditionTest.php
+++ b/tests/Clients/PaymentConditionTest.php
@@ -8,7 +8,7 @@
use Sysix\LexOffice\Clients\PaymentCondition;
use Sysix\LexOffice\Tests\TestClient;
-class PaymentConditionTest extends TestClient
+final class PaymentConditionTest extends TestClient
{
public function testGetAll(): void
{
diff --git a/tests/Clients/PaymentTest.php b/tests/Clients/PaymentTest.php
index c70cb2e..cd712c5 100644
--- a/tests/Clients/PaymentTest.php
+++ b/tests/Clients/PaymentTest.php
@@ -8,7 +8,7 @@
use Sysix\LexOffice\Clients\Payment;
use Sysix\LexOffice\Tests\TestClient;
-class PaymentTest extends TestClient
+final class PaymentTest extends TestClient
{
public function testGet(): void
{
diff --git a/tests/Clients/PostingCategoryTest.php b/tests/Clients/PostingCategoryTest.php
index 6c7d7aa..2174a4d 100644
--- a/tests/Clients/PostingCategoryTest.php
+++ b/tests/Clients/PostingCategoryTest.php
@@ -8,7 +8,7 @@
use Sysix\LexOffice\Clients\PostingCategory;
use Sysix\LexOffice\Tests\TestClient;
-class PostingCategoryTest extends TestClient
+final class PostingCategoryTest extends TestClient
{
public function testGetAll(): void
{
diff --git a/tests/Clients/PrintLayoutTest.php b/tests/Clients/PrintLayoutTest.php
index 5cd7972..9bc4418 100644
--- a/tests/Clients/PrintLayoutTest.php
+++ b/tests/Clients/PrintLayoutTest.php
@@ -8,7 +8,7 @@
use Sysix\LexOffice\Clients\PrintLayout;
use Sysix\LexOffice\Tests\TestClient;
-class PrintLayoutTest extends TestClient
+final class PrintLayoutTest extends TestClient
{
public function testGetAll(): void
{
diff --git a/tests/Clients/ProfileTest.php b/tests/Clients/ProfileTest.php
index b8b3e72..d3dbca1 100644
--- a/tests/Clients/ProfileTest.php
+++ b/tests/Clients/ProfileTest.php
@@ -8,7 +8,7 @@
use Sysix\LexOffice\Clients\Profile;
use Sysix\LexOffice\Tests\TestClient;
-class ProfileTest extends TestClient
+final class ProfileTest extends TestClient
{
public function testGet(): void
{
diff --git a/tests/Clients/QuotationTest.php b/tests/Clients/QuotationTest.php
index 08142dc..e2c250f 100644
--- a/tests/Clients/QuotationTest.php
+++ b/tests/Clients/QuotationTest.php
@@ -10,7 +10,7 @@
use Sysix\LexOffice\Clients\VoucherList;
use Sysix\LexOffice\Tests\TestClient;
-class QuotationTest extends TestClient
+final class QuotationTest extends TestClient
{
public function testCreate(): void
{
diff --git a/tests/Clients/RecurringTemplateTest.php b/tests/Clients/RecurringTemplateTest.php
index e241037..d3c939e 100644
--- a/tests/Clients/RecurringTemplateTest.php
+++ b/tests/Clients/RecurringTemplateTest.php
@@ -8,7 +8,7 @@
use Sysix\LexOffice\Clients\RecurringTemplate;
use Sysix\LexOffice\Tests\TestClient;
-class RecurringTemplateTest extends TestClient
+final class RecurringTemplateTest extends TestClient
{
public function testGet(): void
{
diff --git a/tests/Clients/VoucherListTest.php b/tests/Clients/VoucherListTest.php
index dff1037..978b760 100644
--- a/tests/Clients/VoucherListTest.php
+++ b/tests/Clients/VoucherListTest.php
@@ -9,7 +9,7 @@
use Sysix\LexOffice\Clients\VoucherList;
use Sysix\LexOffice\Tests\TestClient;
-class VoucherListTest extends TestClient
+final class VoucherListTest extends TestClient
{
public function testGetPage(): void
{
diff --git a/tests/Clients/VoucherTest.php b/tests/Clients/VoucherTest.php
index e2ea6fd..16a4774 100644
--- a/tests/Clients/VoucherTest.php
+++ b/tests/Clients/VoucherTest.php
@@ -11,7 +11,7 @@
use Sysix\LexOffice\Exceptions\LexOfficeApiException;
use Sysix\LexOffice\Tests\TestClient;
-class VoucherTest extends TestClient
+final class VoucherTest extends TestClient
{
public function testCreate(): void
{
diff --git a/tests/PaginationClientTest.php b/tests/PaginationClientTest.php
index dcdff92..881578f 100644
--- a/tests/PaginationClientTest.php
+++ b/tests/PaginationClientTest.php
@@ -9,7 +9,7 @@
use Sysix\LexOffice\Api;
use Sysix\LexOffice\PaginationClient;
-class PaginationClientTest extends TestClient
+final class PaginationClientTest extends TestClient
{
/**
* @param array $responses
diff --git a/tests/UtilsTest.php b/tests/UtilsTest.php
index e518398..a9a6c30 100644
--- a/tests/UtilsTest.php
+++ b/tests/UtilsTest.php
@@ -9,7 +9,7 @@
use PHPUnit\Framework\TestCase;
use Sysix\LexOffice\Utils;
-class UtilsTest extends TestCase
+final class UtilsTest extends TestCase
{
public function testGetJsonFromResponseWithoutAnHeader(): void
{