diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/pending/SubmissionTestResultPendingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/pending/SubmissionTestResultPendingFragment.kt
index 31e7e029ebd06b913f46ce5e2c62a49d3e44ae7c..ee69535ab5611489247957bf05fe12b87a79eb6f 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/pending/SubmissionTestResultPendingFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/pending/SubmissionTestResultPendingFragment.kt
@@ -4,9 +4,11 @@ import android.os.Bundle
 import android.view.View
 import android.view.accessibility.AccessibilityEvent
 import androidx.appcompat.app.AlertDialog
+import androidx.core.view.isVisible
 import androidx.fragment.app.Fragment
 import androidx.navigation.fragment.navArgs
 import de.rki.coronawarnapp.R
+import de.rki.coronawarnapp.coronatest.type.CoronaTest
 import de.rki.coronawarnapp.bugreporting.ui.toErrorDialogBuilder
 import de.rki.coronawarnapp.databinding.FragmentSubmissionTestResultPendingBinding
 import de.rki.coronawarnapp.exception.http.CwaClientError
@@ -35,7 +37,7 @@ class SubmissionTestResultPendingFragment : Fragment(R.layout.fragment_submissio
     private val navArgs by navArgs<SubmissionTestResultPendingFragmentArgs>()
 
     @Inject lateinit var viewModelFactory: CWAViewModelFactoryProvider.Factory
-    private val pendingViewModel: SubmissionTestResultPendingViewModel by cwaViewModelsAssisted(
+    private val viewModel: SubmissionTestResultPendingViewModel by cwaViewModelsAssisted(
         factoryProducer = { viewModelFactory },
         constructorCall = { factory, _ ->
             factory as SubmissionTestResultPendingViewModel.Factory
@@ -46,11 +48,11 @@ class SubmissionTestResultPendingFragment : Fragment(R.layout.fragment_submissio
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
 
-        pendingViewModel.consentGiven.observe2(this) {
+        viewModel.consentGiven.observe2(this) {
             binding.consentStatus.consent = it
         }
 
-        pendingViewModel.testState.observe2(this) { result ->
+        viewModel.testState.observe2(this) { result ->
             val hasResult = !result.coronaTest.isProcessing
             binding.apply {
                 submissionTestResultSection.setTestResultSection(result.coronaTest)
@@ -60,11 +62,29 @@ class SubmissionTestResultPendingFragment : Fragment(R.layout.fragment_submissio
             }
         }
 
+        binding.apply {
+
+            when (navArgs.testType) {
+                CoronaTest.Type.PCR -> {
+                    testResultPendingStepsWaitingPcrResult.isVisible = true
+                    testResultPendingStepsPcrAdded.isVisible = true
+                    testResultPendingStepsWaitingAntigenResult.isVisible = false
+                    testResultPendingStepsRatAdded.isVisible = false
+                }
+                CoronaTest.Type.RAPID_ANTIGEN -> {
+                    testResultPendingStepsWaitingAntigenResult.isVisible = true
+                    testResultPendingStepsRatAdded.isVisible = true
+                    testResultPendingStepsWaitingPcrResult.isVisible = false
+                    testResultPendingStepsPcrAdded.isVisible = false
+                }
+            }
+        }
+
         skipInitialTestResultRefresh = arguments?.getBoolean("skipInitialTestResultRefresh") ?: false
 
         binding.apply {
             submissionTestResultButtonPendingRefresh.setOnClickListener {
-                pendingViewModel.updateTestResult()
+                viewModel.updateTestResult()
                 binding.submissionTestResultSection.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
             }
 
@@ -74,10 +94,10 @@ class SubmissionTestResultPendingFragment : Fragment(R.layout.fragment_submissio
                 navigateToMainScreen()
             }
 
-            consentStatus.setOnClickListener { pendingViewModel.onConsentClicked() }
+            consentStatus.setOnClickListener { viewModel.onConsentClicked() }
         }
 
-        pendingViewModel.showRedeemedTokenWarning.observe2(this) {
+        viewModel.showRedeemedTokenWarning.observe2(this) {
             val dialog = DialogHelper.DialogInstance(
                 requireActivity(),
                 R.string.submission_error_dialog_web_tan_redeemed_title,
@@ -88,10 +108,10 @@ class SubmissionTestResultPendingFragment : Fragment(R.layout.fragment_submissio
             DialogHelper.showDialog(dialog)
         }
 
-        pendingViewModel.routeToScreen.observe2(this) {
+        viewModel.routeToScreen.observe2(this) {
             it?.let { doNavigate(it) } ?: navigateToMainScreen()
         }
-        pendingViewModel.errorEvent.observe2(this) {
+        viewModel.errorEvent.observe2(this) {
             it.toErrorDialogBuilder(requireContext()).show()
         }
     }
@@ -100,13 +120,13 @@ class SubmissionTestResultPendingFragment : Fragment(R.layout.fragment_submissio
         super.onResume()
         binding.submissionTestResultContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT)
         skipInitialTestResultRefresh = false
-        pendingViewModel.cwaWebExceptionLiveData.observeOnce(this.viewLifecycleOwner) { exception ->
+        viewModel.cwaWebExceptionLiveData.observeOnce(this.viewLifecycleOwner) { exception ->
             handleError(exception)
         }
     }
 
     override fun onPause() {
-        pendingViewModel.cwaWebExceptionLiveData.removeObservers(this.viewLifecycleOwner)
+        viewModel.cwaWebExceptionLiveData.removeObservers(this.viewLifecycleOwner)
         errorDialog?.dismiss()
         super.onPause()
     }
@@ -119,7 +139,7 @@ class SubmissionTestResultPendingFragment : Fragment(R.layout.fragment_submissio
             R.string.submission_test_result_dialog_remove_test_button_positive,
             R.string.submission_test_result_dialog_remove_test_button_negative,
             positiveButtonFunction = {
-                pendingViewModel.deregisterTestFromDevice()
+                viewModel.deregisterTestFromDevice()
             }
         )
         DialogHelper.showDialog(removeTestDialog).apply {
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_hourglass.xml b/Corona-Warn-App/src/main/res/drawable/ic_hourglass.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8c56d559b3bf35d6a8ca70a218eba40b7525c0f5
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_hourglass.xml
@@ -0,0 +1,14 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+  <path
+      android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
+      android:fillColor="#F5F5F5"/>
+  <path
+      android:pathData="M14,10V16H14.01L14,16.01L18,20L14,24L14.01,24.01H14V30H26V24.01H25.99L26,24L22,20L26,16.01L25.99,16H26V10H14ZM24,24.5V28H16V24.5L20,20.5L24,24.5ZM16,12V15.5L20,19.5L24,15.5V12H16Z"
+      android:fillColor="#17191A"
+      android:fillAlpha="0.3"
+      android:fillType="evenOdd"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_result_pending_contact_diary.xml b/Corona-Warn-App/src/main/res/drawable/ic_result_pending_contact_diary.xml
new file mode 100644
index 0000000000000000000000000000000000000000..be94123643c4578be71e782a951b7c08c6b12265
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_result_pending_contact_diary.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+  <path
+      android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
+      android:fillColor="#F5F5F5"/>
+  <path
+      android:pathData="M28.0753,28.2529V11.4371C28.0753,9.9748 27,9 25.5,9H13.3493C12.088,9 10.9919,10.2089 11,11.4371C11,16.8684 11,22.5784 11,28.009C11,29.4713 12.0002,30.4461 13.5582,30.4461H27.5C27.5,30.4461 28,30.4461 28,29.9587C28,29.4713 28,28.9839 28,28.9839C28,28.9839 28,28.5019 27.5,28.4965C27,28.491 14.5002,28.4965 14.5002,28.4965C14.5002,28.4965 13,28.4965 13,27.0342C13,26.3653 13,26.0594 13,26.0594C13,24.5972 14.5002,24.5972 14.5002,24.5972C13.1767,24.5972 24.2552,24.5972 27,24.5972C27,24.5972 26.5,25.572 26.5,26.5468C26.5,27.1052 27,28.2529 27,28.2529C27.5,28.2529 28.0753,28.2529 28.0753,28.2529Z"
+      android:fillColor="#B2B3B3"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result_pending.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result_pending.xml
index 3a26e5772e8a012e1f3f49ab7434463593011ea6..510bb0650b9b281b2fb3dc8bb63b2b231db7a637 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result_pending.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result_pending.xml
@@ -79,7 +79,7 @@
                     app:layout_constraintTop_toBottomOf="@+id/submission_test_result_section" />
 
                 <de.rki.coronawarnapp.ui.view.SimpleStepEntry
-                    android:id="@+id/test_result_pending_steps_added"
+                    android:id="@+id/test_result_pending_steps_pcr_added"
                     android:layout_width="0dp"
                     android:layout_marginTop="@dimen/spacing_normal"
                     android:layout_height="wrap_content"
@@ -91,16 +91,58 @@
                     app:step_entry_icon="@drawable/ic_test_result_step_done" />
 
                 <de.rki.coronawarnapp.ui.view.SimpleStepEntry
-                    android:id="@+id/test_result_pending_steps_waiting_result"
+                    android:id="@+id/test_result_pending_steps_rat_added"
+                    android:layout_width="0dp"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    android:layout_height="wrap_content"
+                    app:layout_constraintEnd_toEndOf="@id/submission_test_result_subtitle"
+                    app:layout_constraintStart_toStartOf="@id/submission_test_result_subtitle"
+                    app:layout_constraintTop_toBottomOf="@+id/test_result_pending_steps_pcr_added"
+                    app:simple_step_entry_title="@string/submission_test_result_steps_added_rat_heading"
+                    app:step_entry_final="false"
+                    android:visibility="gone"
+                    tools:visibility="visible"
+                    app:step_entry_icon="@drawable/ic_test_result_step_done" />
+
+                <de.rki.coronawarnapp.ui.view.SimpleStepEntry
+                    android:id="@+id/test_result_pending_steps_waiting_pcr_result"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    app:step_entry_final="true"
+                    app:layout_constraintEnd_toEndOf="@id/submission_test_result_subtitle"
+                    app:layout_constraintStart_toStartOf="@id/submission_test_result_subtitle"
+                    app:layout_constraintTop_toBottomOf="@+id/test_result_pending_steps_rat_added"
+                    app:simple_step_entry_text="@string/submission_test_result_pending_steps_waiting_pcr_body"
+                    app:simple_step_entry_title="@string/submission_test_result_pending_steps_waiting_pcr_heading"
+                    app:step_entry_icon="@drawable/ic_hourglass" />
+
+                <de.rki.coronawarnapp.ui.view.SimpleStepEntry
+                    android:id="@+id/test_result_pending_steps_waiting_antigen_result"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    app:layout_constraintEnd_toEndOf="@id/submission_test_result_subtitle"
+                    app:layout_constraintStart_toStartOf="@id/submission_test_result_subtitle"
+                    app:layout_constraintTop_toBottomOf="@+id/test_result_pending_steps_waiting_pcr_result"
+                    android:visibility="gone"
+                    app:step_entry_final="true"
+                    app:simple_step_entry_text="@string/submission_test_result_pending_steps_waiting_rat_body"
+                    app:simple_step_entry_title="@string/submission_test_result_pending_steps_waiting_rat_heading"
+                    app:step_entry_icon="@drawable/ic_hourglass"
+                    tools:visibility="visible"/>
+
+                <de.rki.coronawarnapp.ui.view.SimpleStepEntry
+                    android:id="@+id/test_result_pending_steps_contact_diary_result"
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
                     app:layout_constraintEnd_toEndOf="@id/submission_test_result_subtitle"
                     app:layout_constraintStart_toStartOf="@id/submission_test_result_subtitle"
-                    app:layout_constraintTop_toBottomOf="@+id/test_result_pending_steps_added"
-                    app:simple_step_entry_text="@string/submission_test_result_pending_steps_waiting_body"
-                    app:simple_step_entry_title="@string/submission_test_result_pending_steps_waiting_heading"
+                    app:layout_constraintTop_toBottomOf="@+id/test_result_pending_steps_waiting_antigen_result"
+                    app:simple_step_entry_text="@string/submission_test_result_pending_steps_contact_diary_body"
+                    app:simple_step_entry_title="@string/submission_test_result_pending_steps_contact_diary_heading"
                     app:step_entry_final="true"
-                    app:step_entry_icon="@drawable/ic_test_result_step_waiting" />
+                    android:visibility="gone"
+                    app:step_entry_icon="@drawable/ic_result_pending_contact_diary"
+                    tools:visibility="visible"/>
 
                 <de.rki.coronawarnapp.ui.submission.consentstatus.ConsentStatusView
                     android:id="@+id/consent_status"
@@ -109,7 +151,7 @@
                     android:focusable="true"
                     app:layout_constraintEnd_toEndOf="@id/submission_test_result_subtitle"
                     app:layout_constraintStart_toStartOf="@id/submission_test_result_subtitle"
-                    app:layout_constraintTop_toBottomOf="@+id/test_result_pending_steps_waiting_result" />
+                    app:layout_constraintTop_toBottomOf="@id/test_result_pending_steps_contact_diary_result" />
 
             </androidx.constraintlayout.widget.ConstraintLayout>
         </ScrollView>
diff --git a/Corona-Warn-App/src/main/res/values-de/strings.xml b/Corona-Warn-App/src/main/res/values-de/strings.xml
index 8cc314fee257a4c3882810fce9179928c64ede71..74477dbe931510051d6b68ba3f294a7b5090e619 100644
--- a/Corona-Warn-App/src/main/res/values-de/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-de/strings.xml
@@ -1071,6 +1071,17 @@
     <string name="submission_test_result_pending_steps_waiting_heading">"Ihr Testergebnis liegt noch nicht vor."</string>
     <!-- YTXT: Body text for next steps section of waiting test result page -->
     <string name="submission_test_result_pending_steps_waiting_body">"Sobald Ihr Testergebnis vorliegt, wird es Ihnen in der App angezeigt.\n\nSie bekommen Ihr Testergebnis auch außerhalb der App mitgeteilt. Falls Ihr Test positiv ist, bekommen Sie vom Gesundheitsamt eine Mitteilung.\n\nWenn Ihnen außerhalb der App ein positives Testergebnis mitgeteilt wurde, entfernen Sie den aktuell in der App registrierten Test. Rufen Sie die unter "TAN anfragen" angegebene Nummer an, um eine TAN zu erhalten. Registrieren Sie dann Ihr Testergebnis mithilfe der TAN in der App."</string>
+    <!-- XHED: Page headline for results next steps  -->
+    <string name="submission_test_result_steps_added_rat_heading">"Ihr Schnelltest wurde hinzugefügt."</string>
+    <!-- XHED: Page headline for pending test result next steps  -->
+    <string name="submission_test_result_pending_steps_waiting_rat_heading">"Ihr Testergebnis liegt noch nicht vor."</string>
+    <!-- YTXT: Body text for next steps section of waiting test result page -->
+    <string name="submission_test_result_pending_steps_waiting_rat_body">"Sobald Ihr Testergebnis vorliegt, wird es Ihnen in der App angezeigt."</string>
+    <!-- XHED: Page headline for pending test result next steps  -->
+    <string name="submission_test_result_pending_steps_contact_diary_heading">"Ihr Testergebnis wird dem Kontakt-Tagebuch hinzugefügt."</string>
+    <!-- YTXT: Body text for next steps section of waiting test result page -->
+    <string name="submission_test_result_pending_steps_contact_diary_body">"Sobald Ihr Testergebnis vorliegt, wird es Ihnen in der App angezeigt."</string>
+
     <!-- XBUT: test result pending : refresh button -->
     <string name="submission_test_result_pending_refresh_button">"Aktualisieren"</string>
     <!-- XBUT: test result pending : remove the test button -->
diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml
index ba2f0d31fa0e1ad78aa0b3cf6517bc4c62c9e6ef..2e236810cc01f7df94c10b6a409d9168467cc53f 100644
--- a/Corona-Warn-App/src/main/res/values/strings.xml
+++ b/Corona-Warn-App/src/main/res/values/strings.xml
@@ -1067,10 +1067,27 @@
     <string name="submission_test_result_steps_added_heading">"Test added successfully"</string>
     <!-- YTXT: Body text for for results next steps  -->
     <string name="submission_test_result_steps_added_body">"Your test has been stored in the Corona-Warn-App."</string>
+
     <!-- XHED: Page headline for pending test result next steps  -->
     <string name="submission_test_result_pending_steps_waiting_heading">"Your test result is not available yet."</string>
     <!-- YTXT: Body text for next steps section of waiting test result page -->
     <string name="submission_test_result_pending_steps_waiting_body">"As soon as your test result becomes available, it will be displayed in the app.\n\nYou will also receive your test result outside of the app. The public health authorities will notify you, should your test be positive.\n\nIf you are notified of a positive test result outside the app, please remove the test currently registered in the app. Call the number shown under “Request TAN” to get a TAN. You can then use this TAN to register your result in the app and warn others."</string>
+    <!-- XHED: Page headline for pending test result next steps  -->
+    <string name="submission_test_result_pending_steps_waiting_pcr_heading">"Your test result is not available yet."</string>
+    <!-- YTXT: Body text for next steps section of waiting test result page -->
+    <string name="submission_test_result_pending_steps_waiting_pcr_body">"As soon as your test result becomes available, it will be displayed in the app.\n\nYou will also receive your test result outside of the app. The public health authorities will notify you, should your test be positive.\n\nIf you are notified of a positive test result outside the app, please remove the test currently registered in the app. Call the number shown under “Request TAN” to get a TAN. You can then use this TAN to register your result in the app and warn others."</string>
+
+    <!-- XHED: Page headline for results next steps  -->
+    <string name="submission_test_result_steps_added_rat_heading">"Ihr Schnelltest wurde hinzugefügt."</string>
+    <!-- XHED: Page headline for pending test result next steps  -->
+    <string name="submission_test_result_pending_steps_waiting_rat_heading">"Ihr Testergebnis liegt noch nicht vor."</string>
+    <!-- YTXT: Body text for next steps section of waiting test result page -->
+    <string name="submission_test_result_pending_steps_waiting_rat_body">"Sobald Ihr Testergebnis vorliegt, wird es Ihnen in der App angezeigt."</string>
+    <!-- XHED: Page headline for pending test result next steps  -->
+    <string name="submission_test_result_pending_steps_contact_diary_heading">"Ihr Testergebnis wird dem Kontakt-Tagebuch hinzugefügt."</string>
+    <!-- YTXT: Body text for next steps section of waiting test result page -->
+    <string name="submission_test_result_pending_steps_contact_diary_body">"Sobald Ihr Testergebnis vorliegt, wird es Ihnen in der App angezeigt."</string>
+
     <!-- XBUT: test result pending : refresh button -->
     <string name="submission_test_result_pending_refresh_button">"Update"</string>
     <!-- XBUT: test result pending : remove the test button -->