diff --git a/alfa-client/apps/demo/src/app/app.component.html b/alfa-client/apps/demo/src/app/app.component.html
index 693f99b0c88cd5577c6d4b42c9cab445ab2554a8..4ecd2941d74717e3ef1791e8a0c1e4e039da9b66 100644
--- a/alfa-client/apps/demo/src/app/app.component.html
+++ b/alfa-client/apps/demo/src/app/app.component.html
@@ -63,7 +63,7 @@
             placeholder="Betreff hier eingeben"
             variant="error"
           >
-            <ods-error-message error="Betreff fehlt"></ods-error-message
+            <ods-error-message text="Betreff fehlt"></ods-error-message
           ></ods-text-input>
         </div>
         <div class="my-4">
@@ -75,7 +75,7 @@
             placeholder="Nachrichtentext hier eingeben"
             variant="error"
           >
-            <ods-error-message error="Nachrichtentext fehlt"></ods-error-message>
+            <ods-error-message text="Nachrichtentext fehlt"></ods-error-message>
           </ods-textarea>
         </div>
 
diff --git a/alfa-client/libs/design-component/src/lib/button-with-spinner/button-with-spinner.component.ts b/alfa-client/libs/design-component/src/lib/button-with-spinner/button-with-spinner.component.ts
index 65263c1f0a8ff35aa02f6bc28dfe2d6620362897..84341ceacd7a96a6037b2b2ce647c34085c0e4fa 100644
--- a/alfa-client/libs/design-component/src/lib/button-with-spinner/button-with-spinner.component.ts
+++ b/alfa-client/libs/design-component/src/lib/button-with-spinner/button-with-spinner.component.ts
@@ -2,7 +2,7 @@ import { StateResource, createEmptyStateResource } from '@alfa-client/tech-share
 import { CommonModule } from '@angular/common';
 import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
 import { Resource } from '@ngxp/rest';
-import { ButtonComponent, buttonVariants } from '@ods/system';
+import { ButtonComponent, ErrorMessageComponent, buttonVariants } from '@ods/system';
 import { VariantProps } from 'class-variance-authority';
 import { isNil } from 'lodash-es';
 
@@ -11,16 +11,23 @@ type ButtonVariants = VariantProps<typeof buttonVariants>;
 @Component({
   selector: 'ods-button-with-spinner',
   standalone: true,
-  imports: [CommonModule, ButtonComponent],
-  template: `<ods-button
-    [text]="text"
-    [variant]="variant"
-    [size]="size"
-    [dataTestId]="dataTestId"
-    [isLoading]="isLoading"
-    (click)="clickEmitter.emit()"
-  >
-  </ods-button>`,
+  imports: [CommonModule, ButtonComponent, ErrorMessageComponent],
+  styles: [':host {@apply flex flex-col}'],
+  template: `<ods-error-message
+      *ngIf="stateResource.error"
+      text="Ein Fehler ist aufgetreten."
+      subText="Versuchen Sie es nocheinmal."
+    >
+    </ods-error-message>
+    <ods-button
+      [text]="text"
+      [variant]="variant"
+      [size]="size"
+      [dataTestId]="dataTestId"
+      [isLoading]="isLoading"
+      (click)="clickEmitter.emit()"
+    >
+    </ods-button>`,
 })
 export class ButtonWithSpinnerComponent implements OnInit {
   @Input() text: string = '';
diff --git a/alfa-client/libs/design-component/src/lib/form/validation-error/validation-error.component.html b/alfa-client/libs/design-component/src/lib/form/validation-error/validation-error.component.html
index debe6e6618368635a879ad3723eb4cc245f92909..703f757c2b17228e8cdfb7d158a7bb7e6a058a93 100644
--- a/alfa-client/libs/design-component/src/lib/form/validation-error/validation-error.component.html
+++ b/alfa-client/libs/design-component/src/lib/form/validation-error/validation-error.component.html
@@ -1,3 +1,3 @@
 <ng-container *ngFor="let issue of issues"
-  ><ods-error-message [error]="message(issue)"></ods-error-message
+  ><ods-error-message [text]="message(issue)"></ods-error-message
 ></ng-container>
diff --git a/alfa-client/libs/design-system/src/lib/form/error-message/error-message.component.spec.ts b/alfa-client/libs/design-system/src/lib/form/error-message/error-message.component.spec.ts
index 841f14c8b7ce7b54a913e221b416ba95fc53f422..2ca00ff49bcf029d32498a692af9368217ac19f2 100644
--- a/alfa-client/libs/design-system/src/lib/form/error-message/error-message.component.spec.ts
+++ b/alfa-client/libs/design-system/src/lib/form/error-message/error-message.component.spec.ts
@@ -1,4 +1,5 @@
 import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { ExclamateIconComponent } from '../../icons/exclamate-icon/exclamate-icon.component';
 import { ErrorMessageComponent } from './error-message.component';
 
 describe('ErrorMessageComponent', () => {
@@ -7,7 +8,7 @@ describe('ErrorMessageComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [ErrorMessageComponent],
+      imports: [ErrorMessageComponent, ExclamateIconComponent],
     }).compileComponents();
 
     fixture = TestBed.createComponent(ErrorMessageComponent);
diff --git a/alfa-client/libs/design-system/src/lib/form/error-message/error-message.component.ts b/alfa-client/libs/design-system/src/lib/form/error-message/error-message.component.ts
index 14676069eea4d270c58fc711ba9e1720dafef696..8fc3456345c220e957ee99aaf370dd2cb21b172f 100644
--- a/alfa-client/libs/design-system/src/lib/form/error-message/error-message.component.ts
+++ b/alfa-client/libs/design-system/src/lib/form/error-message/error-message.component.ts
@@ -1,12 +1,20 @@
 import { CommonModule } from '@angular/common';
 import { Component, Input } from '@angular/core';
+import { ExclamateIconComponent } from '../../icons/exclamate-icon/exclamate-icon.component';
 
 @Component({
   selector: 'ods-error-message',
   standalone: true,
-  imports: [CommonModule],
-  template: `<p *ngIf="error" error class="text-error mt-2 text-sm">{{ error }}</p>`,
+  imports: [CommonModule, ExclamateIconComponent],
+  styles: [':host {@apply flex text-error my-2 text-sm items-center font-medium}'],
+  template: `<ods-exclamate-icon class="mr-1"></ods-exclamate-icon>
+    <div class="flex-grow break-all">
+      {{ text }}
+      <br *ngIf="subText" aria-hidden="true" />
+      {{ subText }}
+    </div> `,
 })
 export class ErrorMessageComponent {
-  @Input() error: string;
+  @Input({ required: true }) text!: string;
+  @Input() subText: string = '';
 }
diff --git a/alfa-client/libs/design-system/src/lib/form/error-message/error-message.stories.ts b/alfa-client/libs/design-system/src/lib/form/error-message/error-message.stories.ts
index 7a3537402744cf3da587a4ac3bfeecf4b8382dd6..b52ddc18e842cdac34d2fea37397c8a63f0f75be 100644
--- a/alfa-client/libs/design-system/src/lib/form/error-message/error-message.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/form/error-message/error-message.stories.ts
@@ -1,5 +1,4 @@
-import { moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
-
+import { argsToTemplate, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
 import { ErrorMessageComponent } from './error-message.component';
 
 const meta: Meta<ErrorMessageComponent> = {
@@ -19,6 +18,16 @@ type Story = StoryObj<ErrorMessageComponent>;
 
 export const Default: Story = {
   args: {
-    error: 'Text of error',
+    text: 'Ein Fehler ist aufgetreten.',
+    subText: 'Versuchen Sie es nocheinmal.',
+  },
+  argTypes: {
+    text: { description: 'First line of text' },
+    subText: { description: 'Second line of text' },
   },
+  render: (args: ErrorMessageComponent) => ({
+    props: args,
+    template: `<ods-error-message ${argsToTemplate(args)} class="w-72">
+      </ods-error-message>`,
+  }),
 };
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.html b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.html
index ce45b14b94f61fe78d7ee7ab0dccb824a198deaf..577c7a93620511cf7607a0cf1e95a16b82c2a4c7 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.html
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.html
@@ -23,72 +23,81 @@
     unter der Lizenz sind dem Lizenztext zu entnehmen.
 
 -->
-<h3>Antragstellerdaten</h3>
-<mat-list *ngIf="antragstellerExists; else noAntragsteller" data-test-id="antragsteller-mat-list">
-  <mat-list-item *ngIf="name">
-    <mat-icon matListItemIcon class="material-icons-outlined" aria-label="Name" aria-hidden="false"
-      >assignment_ind</mat-icon
-    >
-    <div matListItemLine data-test-id="antragsteller-name">
+<h3 class="font-medium leading-6 mb-2">Antragsteller</h3>
+<ul 
+  *ngIf="antragstellerExists; else noAntragsteller" 
+  data-test-id="antragsteller-list" 
+  class="text-sm leading-6 my-1"
+>
+  <div class="font-medium mb-2">
+    <h4 *ngIf="!isFirma && name" data-test-id="antragsteller-name" class="my-1">
       {{ name }}
+    </h4>
+    <h4 *ngIf="isFirma" data-test-id="antragsteller-firma-name" class="my-1">
+      {{ antragsteller.firmaName }}
+    </h4>
+  </div>
+  <li
+    *ngIf="antragstellerStrasseHausnummer || antragstellerPlzOrt"
+    data-test-id="antragsteller-adresse"
+    class="flex gap-2 my-2"
+  >
+    <mat-icon
+      class="material-icons-outlined"
+      aria-label="Adresse"
+      aria-hidden="false"
+      >location_on</mat-icon
+    >
+    <div class="flex flex-col">
+      <p data-test-id="antragsteller-strasse-hausnummer">
+        {{ antragstellerStrasseHausnummer }}
+      </p>
+      <p data-test-id="antragsteller-plz-ort">
+        {{ antragstellerPlzOrt }}
+      </p>
     </div>
-  </mat-list-item>
-  <mat-list-item *ngIf="antragsteller.email">
+  </li>
+  <div *ngIf="isFirma && name" class="mb-1">
+    <h4 class="my-1 font-medium">
+      Ansprechpartner
+    </h4>
+    <p class="my-1" data-test-id="antragsteller-ansprechpartner-name">{{ name }}</p>
+  </div>
+  <li *ngIf="antragsteller.email" [title]="antragsteller.email" class="flex gap-2 my-2">
     <mat-icon
-      matListItemIcon
       class="material-icons-outlined"
       aria-label="E-Mail-Adresse"
       aria-hidden="false"
       >email</mat-icon
     >
-    <div matListItemLine data-test-id="antragsteller-email">
+    <p data-test-id="antragsteller-email">
       {{ antragsteller.email }}
-    </div>
-  </mat-list-item>
-  <mat-list-item *ngIf="antragsteller.telefon">
+    </p>
+  </li>
+  <li *ngIf="antragsteller.telefon" class="flex gap-2 my-2">
     <mat-icon
-      matListItemIcon
       class="material-icons-outlined"
       aria-label="Telefonnummer"
       aria-hidden="false"
       >call_black</mat-icon
     >
-    <div matListItemLine data-test-id="antragsteller-telefon">
+    <p data-test-id="antragsteller-telefon">
       {{ antragsteller.telefon }}
-    </div>
-  </mat-list-item>
-  <mat-list-item
-    *ngIf="antragstellerStrasseHausnummer || antragstellerPlzOrt"
-    data-test-id="antragsteller-adresse"
-  >
-    <mat-icon
-      matListItemIcon
-      class="material-icons-outlined"
-      aria-label="Adresse"
-      aria-hidden="false"
-      >location_on</mat-icon
-    >
-    <div matListItemLine data-test-id="antragsteller-strasse-hausnummer">
-      {{ antragstellerStrasseHausnummer }}
-    </div>
-    <div matListItemLine data-test-id="antragsteller-plz-ort">
-      {{ antragstellerPlzOrt }}
-    </div>
-  </mat-list-item>
-  <mat-list-item *ngIf="geburt">
+    </p>
+  </li>
+  <li *ngIf="geburt" class="flex gap-2 my-2">
     <mat-icon
-      matListItemIcon
       class="material-icons-outlined"
       aria-label="Geburtsdatum und Geburtsort"
       aria-hidden="false"
       >cake</mat-icon
     >
-    <div matListItemLine data-test-id="antragsteller-geburt">
+    <p data-test-id="antragsteller-geburt">
       {{ geburt }}
-    </div>
-  </mat-list-item>
-</mat-list>
+    </p>
+  </li>
+</ul>
 
 <ng-template #noAntragsteller>
-  <div data-test-id="no-antragsteller">Nicht vorhanden.</div>
+  <p data-test-id="no-antragsteller" class="text-sm leading-6">Nicht vorhanden.</p>
 </ng-template>
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.scss b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.scss
deleted file mode 100644
index e96819a11e00391965c3d55eabb4e28810473d03..0000000000000000000000000000000000000000
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-h3 {
-  font-weight: 500;
-}
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.spec.ts
index 9c8b7d908e8124ab85492f4f8c5c129b3b21e510..69dafda3580b03e99666181f0d662d8c223ab27c 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.spec.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.spec.ts
@@ -40,6 +40,9 @@ describe('VorgangDetailAntragstellerComponent', () => {
   let fixture: ComponentFixture<VorgangDetailAntragstellerComponent>;
 
   const antragstellerName: string = '[data-test-id="antragsteller-name"]';
+  const antragstellerAnsprechspartnerName: string =
+    '[data-test-id="antragsteller-ansprechpartner-name"]';
+  const antragstellerFirmaName: string = '[data-test-id="antragsteller-firma-name"]';
   const antragstellerEmail: string = '[data-test-id="antragsteller-email"]';
   const antragstellerTelefon: string = '[data-test-id="antragsteller-telefon"]';
   const antragstellerStrasseHausnummer: string =
@@ -47,10 +50,11 @@ describe('VorgangDetailAntragstellerComponent', () => {
   const antragstellerPlzOrt: string = '[data-test-id="antragsteller-plz-ort"]';
   const antragstellerGeburt: string = '[data-test-id="antragsteller-geburt"]';
   const antragstellerAdresse: string = '[data-test-id="antragsteller-adresse"]';
-  const antragstellerMatList: string = '[data-test-id="antragsteller-mat-list"]';
+  const antragstellerList: string = '[data-test-id="antragsteller-list"]';
   const noAntragsteller: string = '[data-test-id="no-antragsteller"]';
 
   const antragsteller: Antragsteller = createAntragsteller();
+  const antragstellerWithoutCompany = { ...antragsteller, firmaName: '' };
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
@@ -71,8 +75,8 @@ describe('VorgangDetailAntragstellerComponent', () => {
   });
 
   describe('full name', () => {
-    it('should be visible', () => {
-      component.antragsteller = antragsteller;
+    it('should be visible, if applicant is not company', () => {
+      component.antragsteller = antragstellerWithoutCompany;
       fixture.detectChanges();
 
       const element = getElementFromFixture(fixture, antragstellerName);
@@ -80,8 +84,22 @@ describe('VorgangDetailAntragstellerComponent', () => {
       expect(element).toHaveTextContent(component.name);
     });
 
-    it('should not be visible', () => {
-      component.antragsteller = { ...antragsteller, anrede: '', vorname: '', nachname: '' };
+    it('should not be visible, if applicant is company', () => {
+      component.antragsteller = antragsteller;
+      fixture.detectChanges();
+
+      const element = getElementFromFixture(fixture, antragstellerName);
+
+      expect(element).not.toBeInstanceOf(HTMLElement);
+    });
+
+    it('should not be visible, if contact person name is empty', () => {
+      component.antragsteller = {
+        ...antragstellerWithoutCompany,
+        anrede: '',
+        vorname: '',
+        nachname: '',
+      };
       fixture.detectChanges();
 
       const element = getElementFromFixture(fixture, antragstellerName);
@@ -101,6 +119,72 @@ describe('VorgangDetailAntragstellerComponent', () => {
     });
   });
 
+  describe('full name contact person', () => {
+    it('should be visible, if applicant is company', () => {
+      component.antragsteller = antragsteller;
+      fixture.detectChanges();
+
+      const element = getElementFromFixture(fixture, antragstellerAnsprechspartnerName);
+
+      expect(element).toHaveTextContent(component.name);
+    });
+
+    it('should not be visible, if applicant is not company', () => {
+      component.antragsteller = antragstellerWithoutCompany;
+      fixture.detectChanges();
+
+      const element = getElementFromFixture(fixture, antragstellerAnsprechspartnerName);
+
+      expect(element).not.toBeInstanceOf(HTMLElement);
+    });
+
+    it('should not be visible, if name is empty', () => {
+      component.antragsteller = { ...antragsteller, anrede: '', vorname: '', nachname: '' };
+      fixture.detectChanges();
+
+      const element = getElementFromFixture(fixture, antragstellerName);
+
+      expect(element).not.toBeInstanceOf(HTMLElement);
+    });
+  });
+
+  describe('firma name', () => {
+    it('should be visible', () => {
+      component.antragsteller = antragsteller;
+      fixture.detectChanges();
+
+      const element = getElementFromFixture(fixture, antragstellerFirmaName);
+
+      expect(element).toHaveTextContent(component.antragsteller.firmaName);
+    });
+
+    it('should not be visible', () => {
+      component.antragsteller = antragstellerWithoutCompany;
+      fixture.detectChanges();
+
+      const element = getElementFromFixture(fixture, antragstellerFirmaName);
+
+      expect(element).not.toBeInstanceOf(HTMLElement);
+    });
+  });
+  describe('isFirma', () => {
+    it('should return true', () => {
+      component.antragsteller = antragsteller;
+
+      const isFirma = component.isFirma;
+
+      expect(isFirma).toBeTruthy;
+    });
+
+    it('should return false', () => {
+      component.antragsteller = antragstellerWithoutCompany;
+
+      const isFirma = component.isFirma;
+
+      expect(isFirma).toBeFalsy;
+    });
+  });
+
   describe('email', () => {
     it('should be visible', () => {
       component.antragsteller = antragsteller;
@@ -184,7 +268,7 @@ describe('VorgangDetailAntragstellerComponent', () => {
     it('should be visible', () => {
       const element = getElementFromFixture(fixture, antragstellerAdresse);
 
-      expect(element).toHaveClass('mdc-list-item');
+      expect(element).toBeInstanceOf(HTMLElement);
     });
 
     it('should not be visible', () => {
@@ -204,7 +288,7 @@ describe('VorgangDetailAntragstellerComponent', () => {
     });
 
     it('mat-list should be visible', () => {
-      const element = getElementFromFixture(fixture, antragstellerMatList);
+      const element = getElementFromFixture(fixture, antragstellerList);
 
       expect(element).toBeInstanceOf(HTMLElement);
     });
@@ -230,6 +314,7 @@ describe('VorgangDetailAntragstellerComponent', () => {
         geburtsort: EMPTY_STRING,
         nachname: EMPTY_STRING,
         vorname: EMPTY_STRING,
+        firmaName: EMPTY_STRING,
         email: EMPTY_STRING,
         telefon: EMPTY_STRING,
         strasse: EMPTY_STRING,
@@ -241,7 +326,7 @@ describe('VorgangDetailAntragstellerComponent', () => {
     }
 
     it('mat-list should not be visible', () => {
-      const element = getElementFromFixture(fixture, antragstellerMatList);
+      const element = getElementFromFixture(fixture, antragstellerList);
 
       expect(element).not.toBeInstanceOf(HTMLElement);
     });
@@ -260,7 +345,7 @@ describe('VorgangDetailAntragstellerComponent', () => {
     });
 
     it('mat-list should not be visible', () => {
-      const element = getElementFromFixture(fixture, antragstellerMatList);
+      const element = getElementFromFixture(fixture, antragstellerList);
 
       expect(element).not.toBeInstanceOf(HTMLElement);
     });
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.ts
index 0376553e4b040129e51a4b0209538d4b734841d5..f73e8b0cc9a98fff391c5e8981aebf5b2115395e 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component.ts
@@ -21,15 +21,14 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { Component, Input } from '@angular/core';
 import { allEmpty, formatFullDate, isParsableToDate } from '@alfa-client/tech-shared';
 import { Antragsteller } from '@alfa-client/vorgang-shared';
+import { Component, Input } from '@angular/core';
 import { isNull } from 'lodash-es';
 
 @Component({
   selector: 'alfa-vorgang-detail-antragsteller',
   templateUrl: './vorgang-detail-antragsteller.component.html',
-  styleUrls: ['./vorgang-detail-antragsteller.component.scss'],
 })
 export class VorgangDetailAntragstellerComponent {
   private readonly TRIM_TO_ONE_SPACE = /\s{2,}/g;
@@ -43,6 +42,7 @@ export class VorgangDetailAntragstellerComponent {
     if (
       allEmpty(
         this.name,
+        this.antragsteller.firmaName,
         this.antragstellerStrasseHausnummer,
         this.antragstellerPlzOrt,
         this.geburt,
@@ -82,4 +82,8 @@ export class VorgangDetailAntragstellerComponent {
     }
     return this.antragsteller.geburtsdatum;
   }
+
+  get isFirma(): boolean {
+    return !!this.antragsteller.firmaName;
+  }
 }
diff --git a/alfa-client/libs/vorgang-shared/src/lib/vorgang.model.ts b/alfa-client/libs/vorgang-shared/src/lib/vorgang.model.ts
index 81dd3e7076f9a65fa045994828cd963790b4fe9a..c77d29847aa5a2ab67291639b3d98ae496998b49 100644
--- a/alfa-client/libs/vorgang-shared/src/lib/vorgang.model.ts
+++ b/alfa-client/libs/vorgang-shared/src/lib/vorgang.model.ts
@@ -64,6 +64,7 @@ export interface Antragsteller {
   geburtsort: string;
   nachname: string;
   vorname: string;
+  firmaName: string;
   email: string;
   telefon: string;
   strasse: string;
diff --git a/alfa-client/libs/vorgang-shared/test/vorgang.ts b/alfa-client/libs/vorgang-shared/test/vorgang.ts
index c20fb4206634069113d7edf145446bd1d10c3b8e..0433fe5ba3ba16cb6e2c51a07c144e3241278c18 100644
--- a/alfa-client/libs/vorgang-shared/test/vorgang.ts
+++ b/alfa-client/libs/vorgang-shared/test/vorgang.ts
@@ -88,6 +88,7 @@ export function createAntragsteller(): Antragsteller {
     geburtsort: faker.address.city(),
     nachname: faker.name.lastName(),
     vorname: faker.name.firstName(),
+    firmaName: faker.company.companyName(),
     email: faker.internet.email(),
     telefon: `+ ${faker.datatype.number(10)}`,
     strasse: faker.address.streetName(),