André bom dia,
Já tive exatamente a mesma necessidade e forma que eu implementei foi:
Cliente eu usei tabela
Catálogo de Serviços eu usei um outro Pipe, devido a dinâmica de criação, atualização e remoção.
Eu tenho 3 tipos de catálogos e 2 tipos de clientes. Dessa forma:
Cliente 1, 2 e 4 usam serviços do catálogo A
Cliente 3, 5 e 6 usam serviços do catálogo B
Clientes internos usam serviços do catálogo C
E no formulário eu usei as Condicionais para baseado numa escolha do cliente mostra um campo conectado a um dos 3 Pipes de catálogo de serviço, trazendo apenas os serviços deles.
Quando mostra 1 esconde 2 e assim por diante.
Espero ter conseguido explicar.
Boa sorte.
Ezec