Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/gcsconsultores/centros-estrategicos-gcs/llms.txt

Use this file to discover all available pages before exploring further.

GCS Centros Estratégicos is a browser-based virtual office built with Next.js that brings the full GCS Consultores Empresariales service catalog into a single interactive experience. Visitors land in a welcoming Lobby, then navigate to one of five specialized consulting rooms — each scoped to a distinct service area. Sally, the AI virtual consultant, greets users contextually in every room, answers questions, and routes prospects toward a discovery call, a free compliance diagnostic, or a contact form. The platform is designed to be embedded directly in the GCS WordPress/DIVI website or accessed as a standalone progressive web app.

How It Works

VirtualOffice is the root container component that owns all shared state and wires together every sub-component. It renders the Header, the currently active room, the SallyChat side panel, and the LeadFormModal. The four key state variables managed at this level are:
State variableTypePurpose
currentRoomRoomIdTracks which of the six room IDs is active
chatHistorySallyMessage[]Accumulated conversation messages shown in SallyChat
isLeadFormOpenbooleanControls visibility of the lead capture modal
isChatOpenbooleanControls visibility of the SallyChat side panel
leadFormContextstringContext string (e.g. 'compliance', 'general') passed to LeadFormModal to pre-select the user’s area of interest
When a user navigates to a new room, handleRoomChange(room: RoomId) updates currentRoom and immediately pushes a new SallyMessage sourced from the SALLY_GREETINGS constant into chatHistory. This means Sally’s contextual greeting is ready the instant the user opens the chat panel — no extra round trip required.

Room Overview

The virtual office contains six rooms. The Lobby is the public entry point; the five consulting rooms below are the core service areas.

Lobby

The public entry point. Displays a responsive grid of all available room cards and renders Sally’s animated welcome greeting. Accessible to all users regardless of role.

Sala Ejecutiva

Private. High-level meeting room for one-on-one strategy sessions with senior GCS consultants. Primary CTA is Microsoft Teams meeting scheduling.

Compliance

Public. Specialized center for ISO certifications (9001, 14001, 45001, 27001), BASC, SARLAFT, and PTEE. Offers a free compliance diagnostic accessible to any visitor.

Estrategia

Private. Co-creation lab for strategic planning, competitive analysis, process optimization, and digital transformation engagements.

Training

Private. Corporate learning academy offering bespoke training programs, workshops, professional certifications, and leadership development.

Innovación

Public. Innovation lab combining AI, data analytics, agile methodologies, and Design Thinking to prototype and deliver technology-driven solutions.

Sally Integration

Sally is the virtual AI consultant that accompanies users throughout the office. She is rendered inside a SallyChat component that slides in from the right edge of the screen using a Shadcn Sheet. Users open the panel by clicking Hablar con Sally in the Lobby hero section or the chat button in the Header. Sally’s behavior is driven by two constants in lib/constants.ts:
  • SALLY_SYSTEM_PROMPT — A detailed system instruction that sets Sally’s identity, tone (professional but warm, uses “usted”), knowledge domain (ISO, BASC, SARLAFT, PTEE, strategy, training, innovation), and behavioral objectives (welcome, qualify, recommend, capture lead, schedule meeting).
  • SALLY_GREETINGS — A Record<RoomId, string> map that provides a unique opening message for each room. The lobby greeting fires on first load; greetings for other rooms are appended to chatHistory automatically when the user navigates.
Quick actions available inside the chat panel include scheduling a meeting, launching the compliance diagnostic, and browsing services — each of which calls back into VirtualOffice via the onOpenLeadForm or onRoomChange props.
Sally’s AI responses are currently powered by a simulated fallback. The production integration point is clearly marked with a // TODO: Aqui se integrara con la API de Gemini comment inside VirtualOffice.handleSendMessage.

Lead Capture

Any room or service interaction can trigger the LeadFormModal by calling onOpenLeadForm(context), where context is a string identifying the room or service that initiated the capture (e.g. 'compliance', 'ejecutiva', or 'general'). This context string is stored as leadFormContext state and passed to the modal so the form can pre-select the user’s area of interest. On submission, the handler calls handleSubmitLead(data: LeadFormData), logs the captured LeadFormData, closes the modal, and adds a personalized confirmation message from Sally into the chat history. The intended production path is a POST request to /api/leads, which will relay data to a SharePoint list via Microsoft Graph. The LeadFormData interface collects the following fields:
export interface LeadFormData {
  name: string
  email: string
  phone?: string
  company: string
  position?: string
  interest: string   // RoomId or 'general'
  message?: string
}

WordPress / DIVI Embedding

The virtual office is designed to be embedded in the existing GCS WordPress/DIVI site as a full-width iframe. Place the following snippet inside any DIVI Code Module or WordPress Custom HTML block:
<iframe
  src="https://oficina.tudominio.com"
  width="100%"
  height="900px"
  frameborder="0"
  allow="camera; microphone; fullscreen">
</iframe>
Adjust the src to match your deployment URL and increase height if content is clipped on tall screens.
Access to private rooms (Sala Ejecutiva, Estrategia, Training) requires the authenticated user to have role === 'consultor'. Clientes can only enter rooms whose type is 'public' (Lobby, Compliance, Innovación). Additionally, all users — regardless of role — must have eligible: true before any room is shown; users without this flag see a gate screen directing them to complete the Revisoría Fiscal evaluation at /evaluacion.

Build docs developers (and LLMs) love