SELECT *
FROM
    (
        (
            (
                SELECT
                    person_id,
                    p.first_name AS person_first_name,
                    p.last_name AS person_last_name,
                    created_at,
                    'metro' AS place,
                    station_id AS place_id
                FROM transport.metro_usage_logs
                INNER JOIN public.people AS p
                    ON p.id = person_id
                WHERE
                    created_at BETWEEN timestamp '2059-12-03 17:00:00' AND timestamp '2059-12-03 21:59:59'
            )
            UNION
            (
                SELECT
                    person_id,
                    p.first_name AS person_first_name,
                    p.last_name AS person_last_name,
                    created_at,
                    'shop' AS place,
                    shop_id AS place_id
                FROM public.shop_entrance_logs
                INNER JOIN public.people AS p
                    ON p.id = person_id
                WHERE
                    created_at BETWEEN timestamp '2059-12-03 17:00:00' AND timestamp '2059-12-03 21:59:59'
            )
        )
        UNION
        (
            SELECT
                person_id,
                p.first_name AS person_first_name,
                p.last_name AS person_last_name,
                created_at,
                'street' AS place,
                street_id AS place_id
            FROM public.street_logs
            INNER JOIN public.people AS p
                ON p.id = person_id
            WHERE
                created_at BETWEEN timestamp '2059-12-03 17:00:00' AND timestamp '2059-12-03 21:59:59'
        )
    ) AS res
ORDER BY created_at ASC, person_id ASC
