diff --git a/src/PepperDash.Essentials.Core/Routing/IRoutingSinkWithLayouts.cs b/src/PepperDash.Essentials.Core/Routing/IRoutingSinkWithLayouts.cs
new file mode 100644
index 00000000..f0711df1
--- /dev/null
+++ b/src/PepperDash.Essentials.Core/Routing/IRoutingSinkWithLayouts.cs
@@ -0,0 +1,19 @@
+using System.Collections.Generic;
+using PepperDash.Core;
+using PepperDash.Essentials.Core.Routing;
+
+namespace PepperDash.Essentials.Core;
+
+
+///
+/// Defines a routing sink (endpoint) device that supports layouts with multiple tile sinks.
+/// Implements IRoutingSource so the windowed output of the layout can be routed to other devices.
+///
+public interface IRoutingSinkWithLayouts : IRoutingSource
+{
+ ///
+ /// Gets the collection of window tile sinks for this routing sink with layouts.
+ /// Each tile sink represents a single window/tile in the layout and can be routed independently.
+ ///
+ Dictionary WindowTileSinks { get; }
+}
\ No newline at end of file