npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@rashidazarang/pmip-core

v1.0.0

Published

Property Management Integration Platform - The universal sync platform for property management

Downloads

18

Readme

Property Management Integration Platform (PMIP)

The Universal Sync Platform for Property Management

Version License Build Status Coverage

🏢 Overview

PMIP is an enterprise-grade integration platform specifically designed for property management companies. It seamlessly connects PropertyWare, ServiceFusion, Yardi, AppFolio, and other property management systems, eliminating duplicate data entry and reducing errors by 95%.

🎯 Key Features

  • Multi-Protocol Support: SOAP, REST, GraphQL, WebSocket, MCP, Lambda
  • Intelligent Deduplication: Advanced matching algorithms prevent duplicate records
  • Pre-Built Workflows: Daily sync, maintenance requests, tenant lifecycle, financial reconciliation
  • Real-Time Sync: WebSocket support for instant updates
  • Enterprise Ready: Production-tested architecture
  • Extensible: Plugin architecture for custom integrations

🚀 Quick Start

Installation

npm install @pmip/core

Basic Usage

import { createPMIP } from '@pmip/core';

// Initialize PMIP
const pmip = await createPMIP({
  environment: 'production',
  region: 'us-east-1',
  integrations: {
    propertyware: {
      url: 'https://api.propertyware.com',
      wsdl: 'https://api.propertyware.com/services?wsdl',
      username: process.env.PW_USERNAME,
      password: process.env.PW_PASSWORD
    },
    servicefusion: {
      baseUrl: 'https://api.servicefusion.com',
      clientId: process.env.SF_CLIENT_ID,
      clientSecret: process.env.SF_CLIENT_SECRET
    }
  },
  dataWarehouse: {
    type: 'supabase',
    url: process.env.SUPABASE_URL,
    key: process.env.SUPABASE_SERVICE_ROLE
  },
  deduplication: {
    enabled: true,
    confidence: 0.95,
    strategies: ['entity-id', 'address-matching', 'name-fuzzy']
  }
});

// Execute a workflow
await pmip.executeWorkflow('daily-sync');

// Or sync specific entities
await pmip.sync('work-orders', { 
  portfolioIds: ['4550688770', '4550688772'] 
});

📦 Supported Platforms

| Platform | Status | Protocol | Features | |----------|--------|----------|----------| | PropertyWare | ✅ Stable | SOAP | Full CRUD, Batch Operations | | ServiceFusion | ✅ Stable | REST | Jobs, Customers, Scheduling | | Yardi | 🚧 Beta | REST | Work Orders, Leases | | RentVine | 📅 Planned | REST | Coming Q2 2025 | | AppFolio | 📅 Planned | REST | Coming Q2 2025 | | Buildium | 📅 Planned | REST | Coming Q3 2025 |

🔄 Pre-Built Workflows

Daily Sync

Automatically synchronizes all data between platforms every 30 minutes during business hours.

await pmip.executeWorkflow('daily-sync');

Emergency Maintenance

Handles urgent maintenance requests with automatic vendor dispatch.

await pmip.executeWorkflow('emergency-maintenance', {
  workOrderId: 'WO-123456',
  priority: 'emergency'
});

Tenant Move-Out

Complete move-out process including inspection scheduling and deposit calculation.

await pmip.executeWorkflow('tenant-moveout', {
  leaseId: 'L-789012',
  moveOutDate: '2025-09-30'
});

🧠 Intelligent Deduplication

PMIP uses advanced matching algorithms to prevent duplicate records:

const deduplicationService = pmip.getService('deduplication');

// Check for duplicates before creating
const matches = await deduplicationService.findMatches({
  type: 'customer',
  name: '123 Main Street',
  address: '123 Main St, Apt 4B'
});

if (matches.length > 0 && matches[0].confidence > 0.95) {
  // Use existing record
  console.log('Found existing customer:', matches[0].id);
} else {
  // Safe to create new record
  await pmip.createCustomer({...});
}

🔧 Configuration

Environment Variables

# PropertyWare
PW_USERNAME=your-username
PW_PASSWORD=your-password

# ServiceFusion
SF_CLIENT_ID=your-client-id
SF_CLIENT_SECRET=your-client-secret

# Data Warehouse (Supabase)
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_ROLE=your-service-role-key

# AWS (for GreenLight integration)
AWS_REGION=us-east-1
AWS_PROFILE=greenlight-dev

Advanced Configuration

const config = {
  // Rate limiting
  rateLimits: {
    propertyware: { requestsPerSecond: 2 },
    servicefusion: { requestsPerSecond: 0.5 }
  },
  
  // Monitoring
  monitoring: {
    provider: 'cloudwatch',
    customMetrics: true
  },
  
  // Caching
  cache: {
    type: 'redis',
    ttl: 3600,
    redis: {
      host: 'localhost',
      port: 6379
    }
  }
};

🏗️ Architecture

PMIP is built on Agent Orchestra v2.0, providing a robust foundation for multi-protocol orchestration.

PMIP Core
├── Orchestration Layer (Agent Orchestra v2.0)
├── Integration Layer
│   ├── PropertyWare SOAP Adapter
│   ├── ServiceFusion REST Adapter
│   └── AWS Lambda Adapter (for existing implementations)
├── Intelligence Layer
│   ├── Deduplication Service
│   ├── Conflict Resolution Engine
│   └── Entity Mapping Service
└── Data Layer
    ├── Supabase Warehouse
    └── Cache Layer (Redis/Memory)

Open Source Adapters

PMIP uses open source adapters for property management system integrations:

  • PropertyWare Adapter - PropertyWare SOAP API client
  • ServiceFusion Adapter - ServiceFusion REST API client
  • Yardi Adapter - Yardi REST API client (Coming soon)
  • RentVine Adapter - RentVine REST API client (Coming Q2 2025)

The core platform (deduplication, entity mapping, orchestration) remains proprietary to protect valuable IP while adapters are open source for community benefit.

📊 Monitoring & Analytics

Real-Time Dashboard

const status = await pmip.getStatus();
console.log(status);
// {
//   integrations: ['propertyware', 'servicefusion'],
//   lastSync: '2025-09-09T15:30:00Z',
//   entitiesProcessed: {
//     portfolios: 228,
//     workOrders: 343,
//     leases: 425
//   }
// }

Metrics & KPIs

const metrics = await pmip.getMetrics();
// - Sync success rate: 99.9%
// - Average sync duration: 45 seconds
// - Duplicates prevented: 1,234
// - API calls saved: 10,567

🔒 Security & Compliance

  • Encryption: Industry-standard encryption
  • Authentication: OAuth 2.0, API keys
  • Audit Trail: Complete logging and monitoring

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

# Clone the repository
git clone https://github.com/rashidazarang/property-management-integration-platform.git

# Install dependencies
npm install

# Run tests
npm test

# Start development server
npm run dev

📚 Documentation

🆘 Support

📄 License

PMIP is licensed under the MIT License. See LICENSE for details.

🙏 Acknowledgments

Built with ❤️ by Rashid Azarang and the property management community.

Special thanks to:

  • GreenLight Property Management for the initial sync implementation
  • Anderson Properties for beta testing
  • The Agent Orchestra team for the orchestration framework