CREATE OR REPLACE VIEW public.vw_student_management_master AS
 SELECT e.student_id,
    'PARTNER'::text AS student_type,
    e.student_name,
    e.student_surname,
    e.student_email,
    e.student_phone,
    e.student_country,
    e.student_zinzino_range,
    e.level_id,
    e.course_id,
    e.enrollment_status,
    e.remarks,
    e.updated_at,
    e.tutor_id,
    pt.name AS tutor_name,
    pt.surname AS tutor_surname,
    pt.email AS tutor_email,
    e.level_name
   FROM vw_enrolled_student e
     LEFT JOIN partners pt ON pt.partner_id = e.tutor_id
UNION ALL
 SELECT 0::bigint AS student_id,
    'GUEST'::text AS student_type,
    g.name AS student_name,
    g.surname AS student_surname,
    g.guest_email AS student_email,
    g.phone AS student_phone,
    g.country AS student_country,
    'Guest'::character varying AS student_zinzino_range,
    0 AS level_id,
    g.course_id,
    'ACTIVE'::text AS enrollment_status,
    NULL::character varying AS remarks,
    NULL::timestamp without time zone AS updated_at,
    g.tutor_id,
    g.tutor_name,
    g.tutor_surname,
    g.tutor_email,
    COALESCE(l0.name, 'Invitados'::character varying) AS level_name
   FROM vw_guest_with_tutor g
     LEFT JOIN levels l0 ON l0.level_id = 0;;
