Skip to content

SINOP Integration

SINOP (Strategic Information and Operations Platform) is a specialized analytics and reporting system that integrates with the Stratpoint Timesheet Application to provide advanced project analytics, resource utilization insights, and strategic business intelligence.

Overview

SINOP serves as the analytical layer for strategic decision-making, providing:

  • Project Performance Analytics: Detailed project metrics and KPIs
  • Resource Utilization Analysis: Comprehensive resource allocation and utilization reporting
  • Revenue and Margin Analysis: Financial performance tracking and profitability insights
  • Payment Milestone Management: Advanced payment milestone tracking and aging analysis
  • Strategic Reporting: Executive-level dashboards and reports

Integration Architecture

API Integration

graph LR
    A[SINOP Application] --> B[Authentication Layer]
    B --> C[Timesheet API Gateway]
    C --> D[Data Access Layer]
    D --> E[MySQL Database]

    F[Background Sync] --> G[Data Processing]
    G --> H[SINOP Analytics DB]

    C --> F

Authentication Flow

SINOP uses app-to-app authentication with encrypted tokens:

sequenceDiagram
    participant S as SINOP
    participant A as Auth Service
    participant T as Timesheet API
    participant D as Database

    S->>A: Request Access Token
    A->>A: Validate App Credentials
    A->>S: Return JWT Token
    S->>T: API Request + Token
    T->>A: Validate Token
    A->>T: Token Valid
    T->>D: Execute Query
    D->>T: Return Data
    T->>S: JSON Response

API Endpoints

Base Configuration

Base URL: /api/v2/sinop/ Authentication: App-to-app token authentication Rate Limiting: 50 requests per minute

Setup and Configuration

GET /setup

Retrieves SINOP configuration and system metadata.

Response:

{
  "header": {
    "status": 200,
    "title": "SINOP Setup",
    "description": "Configuration retrieved successfully"
  },
  "body": {
    "version": "2.1.0",
    "lastSync": "2024-01-15T10:30:00Z",
    "dataRetentionDays": 2555,
    "supportedMetrics": [
      "utilization",
      "revenue",
      "project_margins",
      "payment_milestones"
    ]
  }
}

User Data

GET /users

Retrieves user data for analytics and reporting.

Query Parameters: - active_only: Filter for active users only - include_skillsets: Include user skill set information - business_unit: Filter by business unit - start_date: Filter users by start date

Response:

{
  "header": {
    "status": 200,
    "title": "Users Data",
    "description": "User data retrieved successfully"
  },
  "body": {
    "data": [
      {
        "id": 123,
        "fullname": "Doe, John M.",
        "email": "john.doe@stratpoint.com",
        "position": "Senior Developer",
        "businessUnit": "Technology",
        "startDate": "2023-01-15",
        "endDate": null,
        "isActive": true,
        "skillsets": ["PHP", "JavaScript", "React"],
        "currentHourlyCost": 850.00,
        "utilizationTarget": 85
      }
    ],
    "pagination": {
      "current_page": 1,
      "total_pages": 5,
      "per_page": 50,
      "total": 245
    }
  }
}

Project Data

GET /projects

Retrieves comprehensive project information for analytics.

Query Parameters: - status: Filter by project status - client_id: Filter by client - date_range: Filter by date range - include_financials: Include financial data

Response:

{
  "header": {
    "status": 200,
    "title": "Projects Data",
    "description": "Project data retrieved successfully"
  },
  "body": {
    "data": [
      {
        "id": 456,
        "name": "Client Portal Development",
        "client": "ABC Corporation",
        "status": "Active",
        "startDate": "2024-01-01",
        "endDate": "2024-06-30",
        "projectManager": "Jane Smith",
        "teamSize": 8,
        "budgetedHours": 2400,
        "spentHours": 1850,
        "utilizationRate": 77.08,
        "revenue": {
          "budgeted": 2400000.00,
          "actual": 1850000.00,
          "variance": -550000.00
        },
        "milestones": {
          "total": 6,
          "completed": 4,
          "pending": 2
        }
      }
    ]
  }
}

Revenue and PM Percentages

GET /projects/revenues-pm-percentages

Retrieves revenue data with project manager percentage allocations.

Response:

{
  "header": {
    "status": 200,
    "title": "Revenue PM Percentages",
    "description": "Revenue data with PM percentages retrieved"
  },
  "body": {
    "data": [
      {
        "projectId": 456,
        "projectName": "Client Portal Development",
        "totalRevenue": 1850000.00,
        "pmPercentage": 15.0,
        "pmRevenue": 277500.00,
        "period": "2024-Q1",
        "currency": "PHP"
      }
    ]
  }
}

Project Managers

GET /projects/project-managers

Retrieves project manager assignments and performance metrics.

Response:

{
  "header": {
    "status": 200,
    "title": "Project Managers",
    "description": "Project manager data retrieved"
  },
  "body": {
    "data": [
      {
        "userId": 789,
        "fullname": "Smith, Jane A.",
        "activeProjects": 3,
        "totalProjects": 12,
        "teamMembers": 24,
        "totalRevenue": 5500000.00,
        "avgProjectDuration": 6.5,
        "successRate": 92.3,
        "utilizationRate": 88.5
      }
    ]
  }
}

Payment Milestones

GET /projects/payment-milestones

Retrieves payment milestone data for financial analysis.

Query Parameters: - project_id: Filter by specific project - status: Filter by milestone status - due_date_range: Filter by due date range - aging_analysis: Include aging analysis

Response:

{
  "header": {
    "status": 200,
    "title": "Payment Milestones",
    "description": "Payment milestone data retrieved"
  },
  "body": {
    "data": [
      {
        "id": 1001,
        "projectId": 456,
        "projectName": "Client Portal Development",
        "milestoneName": "Phase 2 Completion",
        "amount": 800000.00,
        "dueDate": "2024-03-31",
        "billedDate": "2024-03-28",
        "paidDate": null,
        "status": "Billed",
        "agingDays": 15,
        "agingCategory": "0-30 days",
        "collectionRisk": "Low"
      }
    ],
    "summary": {
      "totalAmount": 5200000.00,
      "paidAmount": 3100000.00,
      "pendingAmount": 2100000.00,
      "overdueAmount": 450000.00,
      "agingBreakdown": {
        "0-30": 1200000.00,
        "31-60": 650000.00,
        "61-90": 250000.00,
        "90+": 0.00
      }
    }
  }
}

Project Resources

GET /projects/resources

Retrieves detailed project resource allocation and utilization data.

Response:

{
  "header": {
    "status": 200,
    "title": "Project Resources",
    "description": "Project resource data retrieved"
  },
  "body": {
    "data": [
      {
        "projectId": 456,
        "userId": 123,
        "fullname": "Doe, John M.",
        "role": "Senior Developer",
        "allocation": 80.0,
        "startDate": "2024-01-15",
        "endDate": "2024-06-30",
        "budgetedHours": 800,
        "actualHours": 620,
        "utilizationRate": 77.5,
        "hourlyRate": 1200.00,
        "totalCost": 744000.00,
        "efficiency": 95.2
      }
    ]
  }
}

Utilization Analysis

GET /utilizations

Provides comprehensive utilization analysis across the organization.

Query Parameters: - period: Analysis period (monthly, quarterly, yearly) - business_unit: Filter by business unit - user_ids: Specific users to analyze - benchmark: Include benchmark comparisons

Response:

{
  "header": {
    "status": 200,
    "title": "Utilization Analysis",
    "description": "Utilization data retrieved successfully"
  },
  "body": {
    "data": {
      "period": "2024-Q1",
      "organizationUtilization": 82.5,
      "target": 85.0,
      "variance": -2.5,
      "businessUnits": [
        {
          "name": "Technology",
          "utilization": 84.2,
          "target": 85.0,
          "headcount": 45,
          "billableHours": 14580,
          "totalHours": 17280
        }
      ],
      "trends": {
        "lastQuarter": 81.8,
        "yearOverYear": 83.1,
        "trend": "stable"
      }
    }
  }
}

Data Processing and Analytics

Real-time Data Sync

SINOP maintains real-time synchronization with the timesheet system:

graph TD
    A[Timesheet Data Change] --> B[Event Trigger]
    B --> C[Background Job Queue]
    C --> D[Data Transformation]
    D --> E[SINOP Analytics Update]
    E --> F[Cache Refresh]
    F --> G[Dashboard Update]

Analytics Calculations

Utilization Metrics: - Billable vs. non-billable hours - Target vs. actual utilization - Trend analysis and forecasting - Benchmark comparisons

Financial Metrics: - Revenue per employee - Project profitability - Cost center analysis - Budget variance tracking

Performance Metrics: - Project delivery timelines - Quality metrics - Client satisfaction correlation - Resource efficiency

Security and Compliance

Data Access Controls

  • Role-based data filtering
  • Business unit data isolation
  • Sensitive data masking
  • Audit trail maintenance

Data Privacy

  • Personal data anonymization options
  • GDPR compliance features
  • Data retention policies
  • Export/import controls

Integration Benefits

Strategic Decision Making

  • Resource Planning: Optimize resource allocation based on utilization data
  • Financial Planning: Accurate revenue forecasting and budget planning
  • Performance Management: Identify high-performing teams and improvement areas
  • Client Management: Monitor client profitability and satisfaction

Operational Efficiency

  • Automated Reporting: Reduce manual report generation time
  • Real-time Insights: Immediate visibility into key metrics
  • Predictive Analytics: Forecast future trends and requirements
  • Exception Management: Automated alerts for anomalies

SINOP integration provides Stratpoint with powerful analytical capabilities, enabling data-driven decision making and strategic planning based on comprehensive workforce and project analytics.