WITH recursive temp AS(
    SELECT service_id, service_name, 0	dependency_depth, service_name dependency_path
    FROM services
    WHERE service_name = 'Payment_Gateway'

    UNION ALL
    SELECT sd.caller_service_id, se.service_name, t.dependency_depth + 1,
        CONCAT(t.dependency_path,'->',se.service_name)
    FROM temp t
    JOIN service_dependencies sd ON sd.callee_service_id = t.service_id
    JOIN services se ON sd.caller_service_id = se.service_id	
    WHERE YEAR(first_call_date) = 2025

)

SELECT service_id, service_name, dependency_depth, dependency_path
FROM temp 
WHERE dependency_depth >=1
ORDER BY 3,1,4