$context * @return array */ public function assess(array $context): array { $rows = []; foreach ($context['opportunity_choices'] ?? [] as $choice) { $activities = $choice['activities'] ?? []; $key = $choice['opportunity']['key']; $common = ['opportunity_key' => $key, 'opportunity_title' => $choice['opportunity']['title']]; $add = function ($code, $title, $state, $step, $authority, $documents, $basis, $url) use (&$rows, $common) { $rows[] = [...$common, 'code' => $code, 'title' => $title, 'state' => $state, 'step' => $step, 'authority' => $authority, 'documents' => $documents, 'basis' => $basis, 'source_url' => $url, 'decision' => 'Preparação; enquadramento e acto concreto conservam confirmação na etapa correspondente.']; }; $add('geography', 'Localização e geolocalização', $choice['territory'] ? 'selected' : 'missing', 'S09', 'Cadastro territorial e serviços de cadastro competentes', ['Referência administrativa confirmada', 'Planta/esboço e coordenadas quando disponíveis; não inventar polígonos'], 'Referência territorial escolhida no dossier; não comprova disponibilidade nem direito de uso.', '/investimentos'); $add('land', 'Acesso à terra e DUAT', 'conditional', 'S10', 'Serviços de cadastro e órgão competente para o pedido territorial concreto', ['Fundamento do uso: DUAT, arrendamento ou situação declarada', 'Planta/esboço do local; documentação do pedido correspondente'], 'Regulamento de Investimento, artigos 9(1)(c)–(d) e 14(1)(c)–(d). A preparação distingue DUAT e arrendamento; escolher território não atribui terra.', PrivateInvestmentPreparation::SOURCE.'#page=42'); $add('environment', 'Enquadramento ambiental', 'conditional', 'S08', 'Autoridade de Avaliação do Impacto Ambiental; competência central/provincial conforme categorização', ['Descrição da actividade, dimensão e localização', 'Instrumento ambiental definido pela categorização competente; acto e condições quando emitidos'], 'Decreto 54/2015: a natureza, dimensão e localização determinam o enquadramento; a categoria não é deduzida do corredor ou do sector.', 'https://sibmoz.gov.mz/legal-framework/'); $add('sector', 'Licenciamento sectorial', $activities ? 'declared' : 'missing', 'S08', 'BAU, IP e autoridade sectorial competente conforme a actividade', ['Actividades efectivas e modalidade', 'Requerimento e anexos da modalidade aplicável; acto quando emitido'], 'Identificar as actividades efectivas antes de seleccionar o procedimento. O nome Agronegócio não escolhe uma licença única.', 'https://www.bau.gov.mz/nossos-servicos/'); foreach (['processing' => ['Licenciamento industrial', 'Decreto 22/2014'], 'trade' => ['Licenciamento comercial', 'Decreto 34/2013']] as $activity => [$title, $basis]) { if (in_array($activity, $activities, true)) { $add($activity, $title, 'conditional', 'S08', 'BAU, IP / entidade licenciadora da modalidade', ['Caracterização do estabelecimento e actividade', 'Documentos e regime aplicáveis, incluindo simplificado ou mera comunicação quando preenchidas as suas condições'], $basis.'; regimes 39/2017 e 27/2023 no catálogo oficial BAU. Dimensão e modalidade ainda devem ser especificadas; não se selecciona automaticamente o regime.', 'https://www.bau.gov.mz/legislacao/'); } } foreach (['water' => 'Uso de água', 'forestry' => 'Actividade florestal', 'animal' => 'Actividade pecuária', 'transport' => 'Transporte e logística'] as $activity => $title) { if (in_array($activity, $activities, true)) { $add($activity, $title, 'undetermined', 'S08', 'Autoridade sectorial competente a identificar para a modalidade declarada', ['Modalidade e dimensão da actividade', 'Fonte e documentação sectorial específica a associar ao dossier'], 'Actividade declarada; a referência do lote não contém o procedimento específico. Não se considera dispensada ou autorizada.', 'https://www.apiex.gov.mz/wp-content/uploads/2024/01/Mozambique-Business-Licensing-Guide.pdf'); } } } return ['version' => self::VERSION, 'requirements' => $rows, 'fiscal_notice' => 'Localização, corredor, cluster ou projecto âncora não activam benefícios fiscais. O simulador mantém as condições, fonte, período e âmbito próprios; condições ausentes permanecem indeterminadas.']; } }