export type RoadmapLink = { label: string; href: string }; export type RoadmapPhase = { id: string; title: string; summary: string; steps: { title: string; description: string; result: string }[]; links: RoadmapLink[]; }; export const roadmapPhases: RoadmapPhase[] = [ { id: 'concepcao', title: 'Concepção', summary: 'Transformar a ideia numa proposta de valor e identificar o enquadramento da actividade.', steps: [ { title: 'Definir a ideia e a oportunidade', description: 'Identificar o problema, a necessidade do mercado e o objectivo do investimento.', result: 'Conceito definido.', }, { title: 'Estruturar a proposta de valor', description: 'Especificar produto ou serviço, público-alvo, benefícios e diferenciais.', result: 'Proposta de valor definida.', }, ], links: [ { label: 'Desenvolver a ideia no dossier', href: '/simulador-fiscal', }, { label: 'Explorar sectores económicos', href: '/sectores' }, { label: 'Encontrar oportunidades', href: '/oportunidades' }, ], }, { id: 'analise', title: 'Análise', summary: 'Estudar mercado, requisitos, localização e viabilidade com pressupostos explícitos.', steps: [ { title: 'Mapear os requisitos', description: 'Identificar exigências legais, fiscais, técnicas, ambientais, de segurança, infra-estrutura e operação aplicáveis ao projecto.', result: 'Matriz de requisitos a confirmar.', }, { title: 'Realizar o estudo de mercado', description: 'Analisar procura, clientes, concorrência, preços, canais e tendências; registar fontes e datas.', result: 'Estudo de mercado.', }, { title: 'Seleccionar a localização', description: 'Comparar custos, clientes, logística, água, energia, mão de obra, incentivos potenciais e riscos nas alternativas de localização.', result: 'Matriz multicritério de localização.', }, { title: 'Avaliar a viabilidade', description: 'Testar viabilidade comercial, técnica, financeira, ambiental e social. Rever proposta, mercado, localização ou modelo quando necessário.', result: 'Estudo de viabilidade e cenários.', }, ], links: [ { label: 'Explorar locais de investimento', href: '/zonas' }, { label: 'Consultar clusters e cadeias de valor', href: '/clusters', }, { label: 'Comparar finanças e efeito fiscal', href: '/simulador-fiscal', }, { label: 'Consultar terra e DUAT', href: '/terra-duat' }, { label: 'Consultar fontes legais', href: '/legislacao' }, ], }, { id: 'planeamento', title: 'Planeamento e Formalização', summary: 'Consolidar o plano, mobilizar recursos e preparar registos, licenças e autorizações aplicáveis.', steps: [ { title: 'Elaborar o modelo e o plano de negócios', description: 'Consolidar estratégia, operação, marketing, projecções financeiras, metas e indicadores.', result: 'Plano de negócios para decisão do promotor.', }, { title: 'Mobilizar recursos', description: 'Definir financiamento, recursos materiais, tecnológicos e humanos; identificar lacunas e alternativas.', result: 'Recursos e financiamento planeados ou assegurados, conforme evidência.', }, { title: 'Constituir e registar a empresa', description: 'Preparar forma jurídica, registo, NUIT e obrigações laborais e fiscais conforme a actividade e a fase de execução.', result: 'Formalização e pendências documentadas.', }, { title: 'Obter licenças, autorizações e incentivos', description: 'Confirmar licenciamento económico, sectorial, ambiental e uso do espaço; verificar condições dos benefícios pretendidos.', result: 'Licenças e autorizações aplicáveis identificadas e acompanhadas.', }, ], links: [ { label: 'Continuar o plano financeiro e dossier', href: '/simulador-fiscal', }, { label: 'Explorar parcerias', href: '/parcerias' }, { label: 'Consultar documentos e formulários', href: '/documentos', }, { label: 'Pedir apoio ao investimento', href: '/apoio' }, ], }, { id: 'preparacao', title: 'Preparação e Teste', summary: 'Preparar equipa, instalações e processos; testar em escala controlada e corrigir resultados.', steps: [ { title: 'Preparar a operação', description: 'Contratar e formar a equipa, seleccionar fornecedores, instalar equipamentos e sistemas e estabelecer procedimentos e controlos.', result: 'Plano de prontidão operacional.', }, { title: 'Executar o piloto', description: 'Testar produto ou serviço, processos, capacidade, custos e experiência do cliente. Corrigir oferta, equipa, processos e custos e repetir o teste quando necessário.', result: 'Piloto e evidências de aceitação.', }, ], links: [ { label: 'Registar equipa, riscos e marcos no dossier', href: '/simulador-fiscal', }, { label: 'Encontrar parceiros e negócios', href: '/negocios' }, { label: 'Consultar requisitos documentais', href: '/documentos' }, { label: 'Pedir apoio à preparação', href: '/apoio' }, ], }, { id: 'execucao', title: 'Execução e Controlo', summary: 'Lançar a actividade, acompanhar indicadores e manter um plano de melhoria e conformidade.', steps: [ { title: 'Lançar a operação', description: 'Iniciar a actividade, activar canais comerciais, acompanhar clientes e estabilizar a produção ou prestação do serviço.', result: 'Operação iniciada e acompanhada.', }, { title: 'Monitorizar e melhorar', description: 'Acompanhar indicadores financeiros, operacionais, comerciais, sociais e ambientais; controlar riscos, validades e acções correctivas.', result: 'Desempenho e continuidade acompanhados.', }, ], links: [ { label: 'Rever cenários e plano financeiro', href: '/simulador-fiscal', }, { label: 'Consultar o espaço privado do investidor', href: '/investidor', }, { label: 'Consultar legislação e documentos', href: '/legislacao' }, { label: 'Solicitar apoio', href: '/apoio' }, ], }, ]; export const investmentLocations: RoadmapLink[] = [ { label: 'Zonas Económicas Especiais (ZEE)', href: '/zonas?category=zee' }, { label: 'Zonas Francas Industriais (ZFI)', href: '/zonas?category=zfi' }, { label: 'Parques industriais', href: '/zonas?category=industrial_park' }, { label: 'Clusters', href: '/clusters' }, { label: 'Outras localizações e dossiers territoriais', href: '/carteira' }, ]; export const correctiveStates = [ 'Por iniciar', 'Em execução', 'Bloqueada', 'Pendente de evidência', 'Em validação', 'Encerrada', ]; /** Bookmarks select a phase without imposing completion or approval requirements. */ export function roadmapPhaseIndex(hash: string): number { const index = roadmapPhases.findIndex((phase) => `#${phase.id}` === hash); return index < 0 ? 0 : index; }