DECLARE @Haus nvarchar(200) =
    {{ Hausauswahl.selectedOptionValue }};

DECLARE @Heute date =
    CAST(GETDATE() AS date);

SELECT
    CONCAT(
        CONVERT(varchar(10), R.TerminVon, 104),
        N' – ',
        CONVERT(varchar(10), R.TerminBis, 104),
        N' | ',
        P.Bezeichnung,
        CASE
            WHEN NULLIF(R.Code, N'') IS NOT NULL
            THEN CONCAT(N' | ', R.Code)
            ELSE N''
        END
    ) AS label,

    R.IDReise AS value,

    R.IDReise,
    R.Code AS Reisecode,
    R.Bezeichnung AS Reise,
    P.Bezeichnung AS Produkt,
    R.TerminVon,
    R.TerminBis
FROM dbo.Reise R
INNER JOIN dbo.Produkt P
    ON P.IDProdukt = R.IDProdukt_FS
WHERE
    COALESCE(R.Status, N'') <> N'L'
    AND COALESCE(P.Status, N'') <> N'L'
    AND CHARINDEX(@Haus, P.Bezeichnung) > 0

    -- Reise überschneidet den Zeitraum heute -7 bis heute +20
    AND CAST(R.TerminBis AS date) >=
        DATEADD(DAY, -7, @Heute)

    AND CAST(R.TerminVon AS date) <=
        DATEADD(DAY, 20, @Heute)
ORDER BY
    R.TerminVon,
    P.Bezeichnung,
    R.Code;