isOutSourced omitido/false): name, costPerHour e resources com ao menos um ID são obrigatórios; people deve ficar vazio/omitido. Operação terceirizada (isOutSourced=true): name e people com ao menos um fornecedor (person e costPerQty) são obrigatórios; resources deve ficar vazio/omitido. Recursos e fornecedores precisam pertencer à empresa. typeCost aceita kg/qtd.code, _id, company, user, status ou dateCreated. Não há deduplicação por nome; repetir o POST pode criar outro cadastro.user é nome, resource/person são nomes concatenados, sectorNames/stageName são textos. O controller atual não devolve garantidamente o _id do documento recém-salvo. Consulte GET /api/operations/list para obter IDs. dateCreated da criação é texto legado sem fuso; nas consultas é uma data ISO serializada do documento persistido.