diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragment.kt
index dbc265be6a63e50c46d3c72feae036098f642c16..5c702e1e987bcb30dc9ec63c769ec70324434583 100644
--- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragment.kt
+++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/greencertificate/GreenCertificateTestFragment.kt
@@ -34,6 +34,13 @@ class GreenCertificateTestFragment : Fragment(R.layout.fragment_test_green_certi
             ratScreen.setOnClickListener {
                 doNavigate(NavGraphDirections.actionSubmissionTestResultGreenCertificateFragment(RAPID_ANTIGEN))
             }
+
+            detailsScreen.setOnClickListener {
+                doNavigate(
+                    GreenCertificateTestFragmentDirections
+                        .actionGreenCertificateTestFragmentToGreenCertificateDetailsFragment()
+                )
+            }
         }
     }
 
diff --git a/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_green_certificate.xml b/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_green_certificate.xml
index 060d11b08ef8176fe5d51a90ad8bbf7a996f3597..4f5a4eee7754edb9e2eee287dfa02be5b060c26d 100644
--- a/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_green_certificate.xml
+++ b/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_green_certificate.xml
@@ -29,5 +29,11 @@
             android:layout_height="wrap_content"
             android:text="RAT screen" />
 
+        <com.google.android.material.button.MaterialButton
+            android:id="@+id/details_screen"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="Details screen" />
+
     </LinearLayout>
 </androidx.core.widget.NestedScrollView>
diff --git a/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_vaccination.xml b/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_vaccination.xml
index 2c529875352f5eb503e64280a3af851313b5de82..36066d516e9ac6475d02e86438e9d657c04bd1c7 100644
--- a/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_vaccination.xml
+++ b/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_vaccination.xml
@@ -53,6 +53,5 @@
 
         </androidx.constraintlayout.widget.ConstraintLayout>
 
-
     </LinearLayout>
 </androidx.core.widget.NestedScrollView>
diff --git a/Corona-Warn-App/src/deviceForTesters/res/navigation/test_nav_graph.xml b/Corona-Warn-App/src/deviceForTesters/res/navigation/test_nav_graph.xml
index b4d0def3ae53dd59b229df92771feba05c14dd23..0e531f26af962639a18c07bc84e222c19160dc9c 100644
--- a/Corona-Warn-App/src/deviceForTesters/res/navigation/test_nav_graph.xml
+++ b/Corona-Warn-App/src/deviceForTesters/res/navigation/test_nav_graph.xml
@@ -177,6 +177,7 @@
         <action
             android:id="@+id/action_vaccinationTestFragment_to_vaccinationDetailsFragment"
             app:destination="@id/vaccinationDetailsFragment" />
+
     </fragment>
 
     <fragment
@@ -192,5 +193,15 @@
         android:id="@+id/greenCertificateTestFragment"
         android:name="de.rki.coronawarnapp.test.greencertificate.GreenCertificateTestFragment"
         android:label="GreenCertificateTestFragment"
-        tools:layout="@layout/fragment_test_green_certificate" />
+        tools:layout="@layout/fragment_test_green_certificate" >
+        <action
+            android:id="@+id/action_greenCertificateTestFragment_to_greenCertificateDetailsFragment"
+            app:destination="@id/greenCertificateDetailsFragment" />
+    </fragment>
+    <fragment
+        android:id="@+id/greenCertificateDetailsFragment"
+        android:name="de.rki.coronawarnapp.greencertificate.ui.certificates.details.GreenCertificateDetailsFragment"
+        android:label="GreenCertificateDetailsFragment"
+        tools:layout="@layout/fragment_greencertificate_details" />
+
 </navigation>
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/GreenCertificateUIModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/GreenCertificateUIModule.kt
index 77c6fae3d3264c84e27c6f29a9ab26c242ffff72..62cacdaf517d4f183508f95368ab68c367e92937 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/GreenCertificateUIModule.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/GreenCertificateUIModule.kt
@@ -4,10 +4,15 @@ import dagger.Module
 import dagger.android.ContributesAndroidInjector
 import de.rki.coronawarnapp.greencertificate.ui.certificates.CertificatesFragment
 import de.rki.coronawarnapp.greencertificate.ui.certificates.CertificatesFragmentModule
+import de.rki.coronawarnapp.greencertificate.ui.certificates.details.GreenCertificateDetailsFragment
+import de.rki.coronawarnapp.greencertificate.ui.certificates.details.GreenCertificateDetailsModule
 
 @Module
 abstract class GreenCertificateUIModule {
 
     @ContributesAndroidInjector(modules = [CertificatesFragmentModule::class])
     abstract fun certificatesFragment(): CertificatesFragment
+
+    @ContributesAndroidInjector(modules = [GreenCertificateDetailsModule::class])
+    abstract fun certificateDetailsFragment(): GreenCertificateDetailsFragment
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/details/GreenCertificateDetailsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/details/GreenCertificateDetailsFragment.kt
new file mode 100644
index 0000000000000000000000000000000000000000..ff9e0a78ba067f6d66397a33b22fe303151a6c80
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/details/GreenCertificateDetailsFragment.kt
@@ -0,0 +1,84 @@
+package de.rki.coronawarnapp.greencertificate.ui.certificates.details
+
+import android.os.Bundle
+import android.view.View
+import android.widget.LinearLayout
+import androidx.coordinatorlayout.widget.CoordinatorLayout
+import androidx.fragment.app.Fragment
+import com.google.android.material.appbar.AppBarLayout
+import de.rki.coronawarnapp.R
+import de.rki.coronawarnapp.databinding.FragmentGreencertificateDetailsBinding
+import de.rki.coronawarnapp.ui.view.onOffsetChange
+import de.rki.coronawarnapp.util.di.AutoInject
+import de.rki.coronawarnapp.util.setUrl
+import de.rki.coronawarnapp.util.ui.popBackStack
+import de.rki.coronawarnapp.util.ui.viewBinding
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
+import de.rki.coronawarnapp.util.viewmodel.cwaViewModels
+import javax.inject.Inject
+
+class GreenCertificateDetailsFragment : Fragment(R.layout.fragment_greencertificate_details), AutoInject {
+
+    @Inject lateinit var viewModelFactory: CWAViewModelFactoryProvider.Factory
+    private val binding: FragmentGreencertificateDetailsBinding by viewBinding()
+    private val viewModel: GreenCertificateDetailsViewModel by cwaViewModels { viewModelFactory }
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) =
+        with(binding) {
+            toolbar.setNavigationOnClickListener { popBackStack() }
+
+            qrCodeCard.title.text = getString(R.string.detail_green_certificate_card_title)
+            qrCodeCard.subtitle.text = "Test durchgeführt am 12.05.21 18:01" // will be changed
+
+            appBarLayout.onOffsetChange { titleAlpha, subtitleAlpha ->
+                title.alpha = titleAlpha
+                subtitle.alpha = subtitleAlpha
+            }
+
+            if (travelNoticeGerman.text ==
+                requireContext().getString(R.string.green_certificate_attribute_certificate_travel_notice_german)
+            ) {
+                travelNoticeGerman.setUrl(
+                    R.string.green_certificate_attribute_certificate_travel_notice_german,
+                    R.string.green_certificate_travel_notice_link_de,
+                    R.string.green_certificate_travel_notice_link_de
+                )
+            }
+
+            if (travelNoticeEnglish.text ==
+                requireContext().getString(R.string.green_certificate_attribute_certificate_travel_notice_english)
+            ) {
+                travelNoticeEnglish.setUrl(
+                    R.string.green_certificate_attribute_certificate_travel_notice_english,
+                    R.string.green_certificate_travel_notice_link_en,
+                    R.string.green_certificate_travel_notice_link_en
+                )
+            }
+
+            setToolbarOverlay()
+
+            viewModel.qrCode.observe(viewLifecycleOwner) {
+                qrCodeCard.image.setImageBitmap(it)
+                it?.let {
+                    qrCodeCard.image.setOnClickListener { viewModel.openFullScreen() }
+                    qrCodeCard.progressBar.hide()
+                }
+            }
+
+            // TODO: Will in the future be called when the data is loaded from the database
+            viewModel.generateQrCode()
+        }
+
+    private fun setToolbarOverlay() {
+        val width = requireContext().resources.displayMetrics.widthPixels
+        val params: CoordinatorLayout.LayoutParams = binding.scrollView.layoutParams
+            as (CoordinatorLayout.LayoutParams)
+
+        val textParams = binding.subtitle.layoutParams as (LinearLayout.LayoutParams)
+        textParams.bottomMargin = (width / 3) + 170
+        binding.subtitle.requestLayout()
+
+        val behavior: AppBarLayout.ScrollingViewBehavior = params.behavior as (AppBarLayout.ScrollingViewBehavior)
+        behavior.overlayTop = (width / 3) + 170
+    }
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/details/GreenCertificateDetailsModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/details/GreenCertificateDetailsModule.kt
new file mode 100644
index 0000000000000000000000000000000000000000..363a483bf8bd6ba41eb6fb1e408055eb3bda9189
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/details/GreenCertificateDetailsModule.kt
@@ -0,0 +1,19 @@
+package de.rki.coronawarnapp.greencertificate.ui.certificates.details
+
+import dagger.Binds
+import dagger.Module
+import dagger.multibindings.IntoMap
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactory
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModelKey
+
+@Module
+abstract class GreenCertificateDetailsModule {
+
+    @Binds
+    @IntoMap
+    @CWAViewModelKey(GreenCertificateDetailsViewModel::class)
+    abstract fun greenCertificateDetailsFragment(
+        factory: GreenCertificateDetailsViewModel.Factory
+    ): CWAViewModelFactory<out CWAViewModel>
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/details/GreenCertificateDetailsNavigation.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/details/GreenCertificateDetailsNavigation.kt
new file mode 100644
index 0000000000000000000000000000000000000000..029b09bdc085eb4cedc5b22bf9b86dabee7e6db1
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/details/GreenCertificateDetailsNavigation.kt
@@ -0,0 +1,6 @@
+package de.rki.coronawarnapp.greencertificate.ui.certificates.details
+
+sealed class GreenCertificateDetailsNavigation {
+    object Back : GreenCertificateDetailsNavigation()
+    data class FullQrCode(val qrCodeText: String) : GreenCertificateDetailsNavigation()
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/details/GreenCertificateDetailsViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/details/GreenCertificateDetailsViewModel.kt
new file mode 100644
index 0000000000000000000000000000000000000000..c1996855f250724b0466791cdd1de45dcc5a1e05
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/greencertificate/ui/certificates/details/GreenCertificateDetailsViewModel.kt
@@ -0,0 +1,42 @@
+package de.rki.coronawarnapp.greencertificate.ui.certificates.details
+
+import android.graphics.Bitmap
+import androidx.lifecycle.asLiveData
+import dagger.assisted.AssistedFactory
+import dagger.assisted.AssistedInject
+import de.rki.coronawarnapp.presencetracing.checkins.qrcode.QrCodeGenerator
+import de.rki.coronawarnapp.util.coroutine.DispatcherProvider
+import de.rki.coronawarnapp.util.ui.SingleLiveEvent
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
+import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory
+import kotlinx.coroutines.flow.MutableStateFlow
+import timber.log.Timber
+
+class GreenCertificateDetailsViewModel @AssistedInject constructor(
+    private val qrCodeGenerator: QrCodeGenerator,
+    dispatcherProvider: DispatcherProvider,
+) : CWAViewModel(dispatcherProvider) {
+
+    private var qrCodeText: String? = null
+    private val mutableStateFlow = MutableStateFlow<Bitmap?>(null)
+    val qrCode = mutableStateFlow.asLiveData(dispatcherProvider.Default)
+
+    val events = SingleLiveEvent<GreenCertificateDetailsNavigation>()
+
+    fun onClose() = events.postValue(GreenCertificateDetailsNavigation.Back)
+
+    fun openFullScreen() = qrCodeText?.let { events.postValue(GreenCertificateDetailsNavigation.FullQrCode(it)) }
+
+    /* TODO: Adapt to Green Certificate */
+    fun generateQrCode() = launch {
+        try {
+            mutableStateFlow.value = qrCodeGenerator.createQrCode("Sample String")
+        } catch (e: Exception) {
+            Timber.d(e, "generateQrCode failed for greenCertificate=%s", "Sample Certificate")
+            mutableStateFlow.value = null
+        }
+    }
+
+    @AssistedFactory
+    interface Factory : SimpleCWAViewModelFactory<GreenCertificateDetailsViewModel>
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/vaccination/ui/list/adapter/viewholder/VaccinationListQrCodeCardItemVH.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/vaccination/ui/list/adapter/viewholder/VaccinationListQrCodeCardItemVH.kt
index f5741bd7abbf24b72d689b4c618a6359d67d462d..3c84ae55250f6e9d91255b4326ba5365fc3892ca 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/vaccination/ui/list/adapter/viewholder/VaccinationListQrCodeCardItemVH.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/vaccination/ui/list/adapter/viewholder/VaccinationListQrCodeCardItemVH.kt
@@ -3,7 +3,7 @@ package de.rki.coronawarnapp.vaccination.ui.list.adapter.viewholder
 import android.graphics.Bitmap
 import android.view.ViewGroup
 import de.rki.coronawarnapp.R
-import de.rki.coronawarnapp.databinding.VaccinationListQrcodeCardBinding
+import de.rki.coronawarnapp.databinding.IncludeCertificateQrcodeCardBinding
 import de.rki.coronawarnapp.util.TimeAndDateExtensions.toShortDayFormat
 import de.rki.coronawarnapp.vaccination.ui.list.adapter.VaccinationListAdapter
 import de.rki.coronawarnapp.vaccination.ui.list.adapter.VaccinationListItem
@@ -12,16 +12,16 @@ import org.joda.time.Instant
 import org.joda.time.LocalDate
 
 class VaccinationListQrCodeCardItemVH(parent: ViewGroup) :
-    VaccinationListAdapter.ItemVH<VaccinationListQrCodeCardItem, VaccinationListQrcodeCardBinding>(
-        layoutRes = R.layout.vaccination_list_qrcode_card,
+    VaccinationListAdapter.ItemVH<VaccinationListQrCodeCardItem, IncludeCertificateQrcodeCardBinding>(
+        layoutRes = R.layout.include_certificate_qrcode_card,
         parent = parent
     ) {
 
-    override val viewBinding: Lazy<VaccinationListQrcodeCardBinding> = lazy {
-        VaccinationListQrcodeCardBinding.bind(itemView)
+    override val viewBinding: Lazy<IncludeCertificateQrcodeCardBinding> = lazy {
+        IncludeCertificateQrcodeCardBinding.bind(itemView)
     }
 
-    override val onBindData: VaccinationListQrcodeCardBinding
+    override val onBindData: IncludeCertificateQrcodeCardBinding
     .(item: VaccinationListQrCodeCardItem, payloads: List<Any>) -> Unit =
         { item, _ ->
             image.setImageBitmap(item.qrCode)
diff --git a/Corona-Warn-App/src/main/res/drawable/greencertificate_gradient.xml b/Corona-Warn-App/src/main/res/drawable/greencertificate_gradient.xml
new file mode 100644
index 0000000000000000000000000000000000000000..395df1d3ccfcc96cb1c6b931afb06ae0d5a9f7a9
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/greencertificate_gradient.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <gradient
+        android:endColor="#35B55F"
+        android:startColor="#2E854B" />
+</shape>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_greencertificate_details.xml b/Corona-Warn-App/src/main/res/layout/fragment_greencertificate_details.xml
new file mode 100644
index 0000000000000000000000000000000000000000..057a3da6aa7a3487beec29da4cee0fa991857ce9
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/fragment_greencertificate_details.xml
@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/coordinator_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@drawable/trace_location_gradient_background"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toTopOf="parent">
+
+    <com.google.android.material.appbar.AppBarLayout
+        android:id="@+id/appBarLayout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <com.google.android.material.appbar.CollapsingToolbarLayout
+            android:id="@+id/collapsing_toolbar_layout"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:nestedScrollingEnabled="true"
+            app:layout_scrollFlags="scroll|exitUntilCollapsed">
+
+            <ImageView
+                android:id="@+id/expandedImage"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:importantForAccessibility="no"
+                app:layout_collapseMode="parallax"
+                app:srcCompat="@drawable/greencertificate_gradient" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                app:layout_collapseMode="parallax">
+
+                <TextView
+                    android:id="@+id/title"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginHorizontal="24dp"
+                    android:layout_marginTop="90dp"
+                    android:layout_marginBottom="12dp"
+                    android:gravity="center"
+                    android:textColor="@android:color/white"
+                    android:textSize="20sp"
+                    android:textStyle="bold"
+                    android:text="@string/detail_green_certificate_title"/>
+
+                <TextView
+                    android:id="@+id/subtitle"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:layout_marginHorizontal="24dp"
+                    android:layout_marginBottom="8dp"
+                    android:gravity="center"
+                    android:text="@string/detail_green_certificate_test_type"
+                    android:textColor="@android:color/white"
+                    android:textSize="18sp"/>
+
+            </LinearLayout>
+
+            <com.google.android.material.appbar.MaterialToolbar
+                android:id="@+id/toolbar"
+                android:layout_width="match_parent"
+                android:layout_height="?attr/actionBarSize"
+                app:layout_collapseMode="pin"
+                app:layout_scrollFlags="scroll|enterAlways"
+                app:navigationIcon="@drawable/ic_back"
+                app:navigationIconTint="@android:color/white">
+
+                <LinearLayout
+                    android:id="@+id/header_text_layout"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:gravity="center_vertical"
+                    android:orientation="horizontal">
+
+                    <ImageView
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginEnd="72dp"
+                        android:importantForAccessibility="no"
+                        app:srcCompat="@drawable/ic_cwa_logo_white" />
+
+                </LinearLayout>
+
+            </com.google.android.material.appbar.MaterialToolbar>
+
+        </com.google.android.material.appbar.CollapsingToolbarLayout>
+
+    </com.google.android.material.appbar.AppBarLayout>
+
+    <androidx.core.widget.NestedScrollView
+        android:id="@+id/scroll_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        app:layout_behavior="@string/appbar_scrolling_view_behavior">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginVertical="16dp"
+            android:orientation="vertical">
+
+            <include
+                android:id="@+id/qr_code_card"
+                layout="@layout/include_certificate_qrcode_card"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="24dp"
+                android:layout_marginBottom="6dp" />
+
+            <LinearLayout
+                style="@style/Card.Greencertificate"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="24dp"
+                android:orientation="vertical"
+                android:padding="16dp">
+
+                <TextView
+                    style="@style/body1Medium"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="12dp"
+                    android:text="@string/green_certificate_attribute_name" />
+
+                <TextView
+                    android:id="@+id/name"
+                    style="@style/body1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="Andrea Schneider"
+                    tools:text="Andrea Schneider" />
+
+                <TextView
+                    style="@style/body1Medium"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:text="@string/green_certificate_attribute_dob" />
+
+                <TextView
+                    android:id="@+id/birth_date"
+                    style="@style/body1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="18.04.1943"
+                    tools:text="18.04.1943" />
+
+                <TextView
+                    style="@style/body1Medium"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:text="@string/green_certificate_attribute_disease" />
+
+                <TextView
+                    android:id="@+id/disease_type"
+                    style="@style/body1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="SARS-CoV-2"
+                    tools:text="SARS-CoV-2" />
+
+                <TextView
+                    style="@style/body1Medium"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:text="@string/green_certificate_attribute_test_type" />
+
+                <TextView
+                    android:id="@+id/test_type"
+                    style="@style/body1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="Rapid Antigen Test"
+                    tools:text="Rapid Antigen Test" />
+
+                <TextView
+                    style="@style/body1Medium"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:text="@string/green_certificate_attribute_test_name" />
+
+                <TextView
+                    android:id="@+id/medical_product_name"
+                    style="@style/body1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="Xep"
+                    tools:text="Xep" />
+
+                <TextView
+                    style="@style/body1Medium"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:text="@string/green_certificate_attribute_test_manufacturer" />
+
+                <TextView
+                    android:id="@+id/test_manufacturer"
+                    style="@style/body1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="Xup"
+                    tools:text="Xup" />
+
+                <TextView
+                    style="@style/body1Medium"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:text="@string/green_certificate_attribute_test_date" />
+
+                <TextView
+                    android:id="@+id/test_date"
+                    style="@style/body1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="12.05.21 19:00"
+                    tools:text="12.05.21 19:00" />
+
+                <TextView
+                    style="@style/body1Medium"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:text="@string/green_certificate_attribute_test_result" />
+
+                <TextView
+                    android:id="@+id/test_result"
+                    style="@style/body1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="negative"
+                    tools:text="negative" />
+
+                <TextView
+                    style="@style/body1Medium"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:text="@string/green_certificate_attribute_test_center" />
+
+                <TextView
+                    android:id="@+id/test_center"
+                    style="@style/body1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="AB123"
+                    tools:text="AB123" />
+
+                <TextView
+                    style="@style/body1Medium"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:text="@string/green_certificate_attribute_state_of_testing" />
+
+                <TextView
+                    android:id="@+id/test_country"
+                    style="@style/body1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="Germany"
+                    tools:text="Germany" />
+
+                <TextView
+                    style="@style/body1Medium"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:text="@string/green_certificate_attribute_certificate_issuer" />
+
+                <TextView
+                    android:id="@+id/certificate_issuer"
+                    style="@style/body1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="G05930482748454836478695764787840"
+                    tools:text="G05930482748454836478695764787840" />
+
+
+                <TextView
+                    style="@style/body1Medium"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:text="@string/green_certificate_attribute_certificate_id" />
+
+                <TextView
+                    android:id="@+id/certificate_id"
+                    style="@style/body1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="05930482748454836478695764787840"
+                    tools:text="05930482748454836478695764787840" />
+
+
+            </LinearLayout>
+
+            <LinearLayout
+                style="@style/Card.Greencertificate"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="24dp"
+                android:layout_marginTop="8dp"
+                android:orientation="vertical"
+                android:padding="16dp">
+
+                <TextView
+                    android:id="@+id/travel_notice_german"
+                    style="@style/body2"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="4dp"
+                    android:text="@string/green_certificate_attribute_certificate_travel_notice_german"/>
+
+                <TextView
+                    android:id="@+id/travel_notice_english"
+                    style="@style/body2"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="24dp"
+                    android:text="@string/green_certificate_attribute_certificate_travel_notice_english"/>
+            </LinearLayout>
+        </LinearLayout>
+
+    </androidx.core.widget.NestedScrollView>
+
+</androidx.coordinatorlayout.widget.CoordinatorLayout>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_vaccination_details.xml b/Corona-Warn-App/src/main/res/layout/fragment_vaccination_details.xml
index eca90fd7d23c2162a80dc1242f2990494e057637..813c447222ccdd80a9f2105c4b247e54a73768fe 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_vaccination_details.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_vaccination_details.xml
@@ -107,7 +107,7 @@
 
             <include
                 android:id="@+id/qr_code_card"
-                layout="@layout/vaccination_list_qrcode_card"
+                layout="@layout/include_certificate_qrcode_card"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginHorizontal="24dp"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_vaccination_list.xml b/Corona-Warn-App/src/main/res/layout/fragment_vaccination_list.xml
index da6a49f671a12448cba8ceedf090e805d5b058b2..30187c06f2c6482fb40264362e95d5ad44c800c0 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_vaccination_list.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_vaccination_list.xml
@@ -108,7 +108,7 @@
             android:paddingTop="24dp"
             app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
             app:layout_behavior="@string/appbar_scrolling_view_behavior"
-            tools:listitem="@layout/vaccination_list_qrcode_card" />
+            tools:listitem="@layout/include_certificate_qrcode_card" />
 
     </androidx.coordinatorlayout.widget.CoordinatorLayout>
 
diff --git a/Corona-Warn-App/src/main/res/layout/vaccination_list_qrcode_card.xml b/Corona-Warn-App/src/main/res/layout/include_certificate_qrcode_card.xml
similarity index 100%
rename from Corona-Warn-App/src/main/res/layout/vaccination_list_qrcode_card.xml
rename to Corona-Warn-App/src/main/res/layout/include_certificate_qrcode_card.xml
diff --git a/Corona-Warn-App/src/main/res/values-de/green_certificate_strings.xml b/Corona-Warn-App/src/main/res/values-de/green_certificate_strings.xml
index e852e422e654fc6fb90925755bfd806c86e98326..9563b24b6e0b554b9a2a4e810b5b26f85356cff9 100644
--- a/Corona-Warn-App/src/main/res/values-de/green_certificate_strings.xml
+++ b/Corona-Warn-App/src/main/res/values-de/green_certificate_strings.xml
@@ -26,4 +26,14 @@
     <string name="request_gc_dialog_positive_button">OK</string>
     <!-- XBUT: Request green certificate exit dialog negative button -->
     <string name="request_gc_dialog_negative_button">Abbrechen</string>
+    <!-- XTXT: Detail green certificate title -->
+    <string name="detail_green_certificate_title">EU Digitales COVID-Testzertifikat</string>
+    <!-- XTXT: Detail green certificate test type -->
+    <string name="detail_green_certificate_test_type">SARS-CoV-2-Test</string>
+    <!-- XTXT: Detail green certificate card title -->
+    <string name="detail_green_certificate_card_title">"Testzertifikat"</string>
+    <!-- XTXT: Detail green certificate travel notice link en -->
+    <string name="green_certificate_travel_notice_link_en">"https://reopen.europa.eu/en"</string>
+    <!-- XTXT: Detail green certificate travel notice link de -->
+    <string name="green_certificate_travel_notice_link_de">"https://reopen.europa.eu/de"</string>
 </resources>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/values/green_certificate_attribute_strings.xml b/Corona-Warn-App/src/main/res/values/green_certificate_attribute_strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..66f4eddbb30c0dc5c6e1a415b625df29fe6f5f72
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/values/green_certificate_attribute_strings.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+    <!-- ####################################
+             Special string files for the strings that should always keep the german / englisch version independent from the selected system language
+    ###################################### -->
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Name -->
+    <string name="green_certificate_attribute_name" translatable="false">"Name, Vorname / Name, First Name"</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Date of Birth -->
+    <string name="green_certificate_attribute_dob" translatable="false">"Geburtsdatum / Date of Birth"</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Disease -->
+    <string name="green_certificate_attribute_disease" translatable="false">"Zielkrankheit bzw. -erreger / Disease or Agent Targeted"</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Test Type -->
+    <string name="green_certificate_attribute_test_type" translatable="false">"Art des Tests / Type of Test"</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Test Name -->
+    <string name="green_certificate_attribute_test_name" translatable="false">"Produktname / Test Name"</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Test Manufacturer -->
+    <string name="green_certificate_attribute_test_manufacturer" translatable="false">"Testhersteller / Test Manufacturer"</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Test Date -->
+    <string name="green_certificate_attribute_test_date" translatable="false">"Datum und Uhrzeit der Probenahme / Date and Time of Sample Collection"</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Result of the Test -->
+    <string name="green_certificate_attribute_test_result" translatable="false">"Testergebnis / Result of the Test"</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Testing Center or Facility -->
+    <string name="green_certificate_attribute_test_center" translatable="false">"Testzentrum oder -einrichtung / Testing Center or Facility"</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Member State of Test -->
+    <string name="green_certificate_attribute_state_of_testing" translatable="false">"Land der Testung / Member State of Test"</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Certificate Issuer -->
+    <string name="green_certificate_attribute_certificate_issuer" translatable="false">"Zertifikataussteller / Certificate Issuer"</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Unique Certificate Identifier -->
+    <string name="green_certificate_attribute_certificate_id" translatable="false">"Zertifikatkennung / Unique Certificate Identifier"</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Travel Notice German -->
+    <string name="green_certificate_attribute_certificate_travel_notice_german" translatable="false">"Diese Bescheinigung ist kein Reisedokument. Die wissenschaftlichen Erkenntnisse zu COVID-19 in den Bereichen Impfung, Testung und Genesung entwickeln sich fortlaufend weiter, auch im Hinblick auf neue besorgniserregende Virusvarianten. Bitte informieren Sie sich vor Reiseantritt über die am Zielort geltenden Gesundheitsmaßnahmen und entsprechenden Beschränkungen. Informationen über die in den jeweiligen EU-Ländern geltenden Einreisebestimmungen finden Sie unter https://reopen.europa.eu/de."</string>
+    <!-- XTXT: Green Certificate Detail Screen Attribute: Travel Notice English -->
+    <string name="green_certificate_attribute_certificate_travel_notice_english" translatable="false">"This certificate is not a travel document. The scientific evidence on COVID-19 vaccination, testing, and recovery continues to evolve, also in view of new variants of concern of the virus. Before traveling, please check the applicable public health measures and related restrictions applied at the point of destination. Information on the current travel restrictions that apply to EU countries is available at https://reopen.europa.eu/en."</string>
+
+</resources>
diff --git a/Corona-Warn-App/src/main/res/values/green_certificate_strings.xml b/Corona-Warn-App/src/main/res/values/green_certificate_strings.xml
index e852e422e654fc6fb90925755bfd806c86e98326..0551f3bc0604a4c9be8612884aa6060088afe462 100644
--- a/Corona-Warn-App/src/main/res/values/green_certificate_strings.xml
+++ b/Corona-Warn-App/src/main/res/values/green_certificate_strings.xml
@@ -26,4 +26,15 @@
     <string name="request_gc_dialog_positive_button">OK</string>
     <!-- XBUT: Request green certificate exit dialog negative button -->
     <string name="request_gc_dialog_negative_button">Abbrechen</string>
+    <!-- XTXT: Detail green certificate title -->
+    <string name="detail_green_certificate_title">EU Digitales COVID-Testzertifikat</string>
+    <!-- XTXT: Detail green certificate test type -->
+    <string name="detail_green_certificate_test_type">SARS-CoV-2-Test</string>
+    <!-- XTXT: Detail green certificate card title -->
+    <string name="detail_green_certificate_card_title">"Testzertifikat"</string>
+    <!-- XTXT: Detail green certificate travel notice link en -->
+    <string name="green_certificate_travel_notice_link_en">"https://reopen.europa.eu/en"</string>
+    <!-- XTXT: Detail green certificate travel notice link de -->
+    <string name="green_certificate_travel_notice_link_de">"https://reopen.europa.eu/de"</string>
+
 </resources>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/values/styles.xml b/Corona-Warn-App/src/main/res/values/styles.xml
index f9da4f1b3890a684198013169a70e7ea7143b9c3..e81fe78b15ebf0a921ed33b1a094de345cec4f18 100644
--- a/Corona-Warn-App/src/main/res/values/styles.xml
+++ b/Corona-Warn-App/src/main/res/values/styles.xml
@@ -239,6 +239,10 @@
         <item name="android:backgroundTint">@color/colorVaccinationCardBackground</item>
     </style>
 
+    <style name="Card.Greencertificate" parent="Card.NoElevation">
+        <item name="android:backgroundTint">@color/colorVaccinationCardBackground</item>
+    </style>
+
     <style name="Card.Vaccination.Ripple">
         <item name="android:background">@drawable/grey_card_ripple</item>
     </style>
@@ -358,6 +362,10 @@
         <item name="android:textColor">@color/colorTextPrimary1</item>
     </style>
 
+    <style name="body1Medium" parent="@style/TextAppearance.MaterialComponents.Body1">
+        <item name="android:textColor">@color/colorTextPrimary2</item>
+    </style>
+
     <style name="body2" parent="@style/TextAppearance.MaterialComponents.Body2">
         <item name="android:textColor">@color/colorTextPrimary1</item>
     </style>