We’re [login to view URL], a platform providing direct-booking websites for accommodation providers. Our mission is to help businesses accept reservations directly on their own sites instead of relying solely on third-party platforms. We want to synchronise data between [login to view URL] and popular property management systems (PMS) like Guesty, Hostaway, etc.
Calry ([login to view URL]) is our all-in-one tool that’s already connected to these PMS platforms, letting us centralise data and APIs in one place. MotoPress, on the other hand, is the plugin we use in WordPress to manage the booking side of things (e.g. reservations, booking rules, etc.).
The goal is to ensure that:
Booking data captured in MotoPress is sent to the PMS via Calry.
We pull rates, calendar availability, pictures, and descriptions from Calry (which in turn pulls this data from the PMS) and update MotoPress accordingly.
OBJECTIVE
Develop a WordPress plugin that synchronises booking and availability data between Calry (and the PMS platforms it connects to) and MotoPress Hotel Booking. We’ll automatically push booking details from MotoPress to the PMS, and pull down rates, availability, property information, images, and descriptions from the PMS to keep everything in sync.
Additionally, if MotoPress is missing any crucial fields (for example, location), be prepared to create a secondary plugin or extension to handle these fields.
REQUIREMENTS AND SCOPE
PLUGIN STRUCTURE
Follow standard WordPress plugin guidelines with a clear folder/file structure.
Include an admin settings page to manage:
Calry API credentials
MotoPress API credentials
Plugin-level settings (e.g. sync intervals)
AUTHENTICATION
Investigate Calry’s authentication (API keys, OAuth, etc.).
Use MotoPress’s Hotel Booking REST API authentication.
Store credentials securely (preferably encrypted).
DATA FLOW AND ENDPOINTS
Pushing Booking Data from MotoPress to Calry
Identify and implement the correct endpoints on Calry to receive new/updated bookings (which ultimately flow to the PMS).
Ensure guest info, payment status, and booking details are accurately transmitted.
Pulling Rates, Availability, Pictures, and Descriptions into MotoPress
Fetch property data, rates, availability, pictures, and descriptions from Calry’s API.
Map them to MotoPress fields for proper display and management in WordPress.
Syncing Back to Calry (If Needed)
If rates or availability are updated in MotoPress, push these changes back to Calry (and thus to the PMS) if that’s part of your workflow.
DATA MAPPING AND VALIDATION
Identify all required fields for both systems (IDs, dates, rates, availability, media URLs, etc.).
Validate data thoroughly (date formats, numeric IDs, correct image paths, etc.).
Potential Fields to Extend
If important data from Calry/PMS (e.g. location) doesn’t exist in MotoPress, be prepared to:
Create or customise custom fields within MotoPress, or
Build a separate WordPress plugin (extension) that manages these missing fields.
ERROR HANDLING AND LOGGING
Implement robust error handling for all API calls.
Log errors, warnings, and events in a dedicated log file or WordPress debug log.
Provide admin notifications if any synchronisation attempts fail.
SCHEDULING
Use wp_cron for periodic sync (e.g. every 15 minutes).
Allow customisation of the sync interval through plugin settings.
TESTING
Write unit tests for all major API interactions.
Test authentication, data fetch, data push, and edge cases thoroughly.
Confirm that bookings, availability, rates, pictures, and descriptions properly sync between Calry/PMS and MotoPress.
DOCUMENTATION
Include a [login to view URL] with installation, setup, and usage instructions.
Provide guidance on mapping extra fields, especially if a separate plugin is required.
PERFORMANCE CONSIDERATIONS
Optimise to avoid noticeable impact on the WordPress site’s performance.
Consider caching or partial data storage to reduce redundant API calls.
VERSION CONTROL AND DEPLOYMENT
Maintain code in a Git-based repository.
Tag stable releases and maintain a clear changelog.
DELIVERABLES
WORDPRESS PLUGIN(s)
Production-ready, installable plugin for WordPress that integrates Calry (and the PMS data it provides) with MotoPress.
If additional fields are required, deliver either an extended plugin or a separate plugin to handle them.
TECHNICAL DOCUMENTATION
Clear instructions on setup, data flow, and any custom field integrations.
TEST PLANS AND LOGS
Evidence of successful authentication, data synchronisation, and error-handling tests.
INTERVIEW & NEXT STEPS
INTERVIEW PROCESS
Before finalising our partnership, you’ll need to go through an interview with us. During this interview, we’ll discuss your WordPress plugin development experience, approach to REST integrations, and details of your data mapping/testing methodology.
APPLICATION QUESTION
To be considered for this project, please answer the following question in your application:
“Have you previously developed a WordPress plugin involving third-party API data synchronisation? If so, please describe one project you’ve completed, the biggest challenge you faced, and how you solved it.”
We’ll only consider applicants who provide a direct, concise answer to this question.
PROJECT ONBOARDING
After the interview and agreement on the scope, we’ll provide additional credentials and instructions for you to begin development.
NOTES FOR THE DEVELOPER
Our focus is direct booking sites via [login to view URL], making reliability and transparency in syncing data key.
Calry pulls from multiple PMS systems (Guesty, Hostaway, etc.), so ensure the data from Calry is accurately mapped and synced into MotoPress.
We need to send booking data from MotoPress to the PMS, and pull rates, availability, pictures, and descriptions from the PMS into MotoPress.
If MotoPress lacks certain fields, build or extend a plugin that handles them (e.g. location).
Let us know about any potential hurdles or complexities (authentication, data mapping, API extensions) early on.
We look forward to your application and discussing your approach!