elite42/trackpms

PHP SDK library for Track Pulse API

v1.9.3 2024-04-01 02:38 UTC

README

**# TRACK Property Management System PHP SDK PHP SDK library for Track Pulse API

This SDK is not created or supported by Track

Requirements

  • Requires Composer for installation
  • Requires >=PHP 8

Installation

composer require elite42/trackpms

Example Usage

$apiSettings = new \elite42\trackpms\trackApiSettings( 
    url          : '{url}',
    key          : '{key}',
    secret       : '{secret}',
    enableCaching: true,
    cachePath    : 'C:/inetpub/cache',
    debugLogging : true,
    debugLogPath : 'C:/inetpub/logs'
);

$api         = new \elite42\trackpms\trackApi( $apiSettings );

try {
    $unit            = $api->getUnit( 145 );
    $unitCollections = $api->getUnitCollections( );
    $units           = $api->getUnits( [ 'size'=>100 ] );

    $reservation            = $api->getReservation( 1 );
    $reservations           = $api->getReservations( [ 'size' => 100 ] );
    $reservationCollections = $api->getReservationCollections( [ 'size' => 100 ] );
    
    $reservationFee = $api->getReservationFee( 1, 2 );
    $reservationFees = $api->getReservationFees( 1 );
    $reservationFeeCollections = $api->getReservationFeeCollections( 1 );
    
    $reservationNote = $api->getReservationNote( 1, 15 );
    $reservationNotes = $api->getReservationNotes( 1 );
    $reservationNoteCollections = $api->getReservationNoteCollections( 1 );
    
    $reservationRates = $api->getReservationRates( 1 );
    
    $amenity = $api->getAmenity( 1 );
    $amenities = $api->getAmenities( [ 'size' => 100 ] );
    $amenityCollections = $api->getAmenityCollections( [ 'size' => 100 ] );
    
    $amenityGroup            = $api->getAmenityGroup( 1 );
    $amenityGroups           = $api->getAmenityGroups( [ 'size' => 100 ] );
    $amenityGroupCollections = $api->getAmenityGroupCollections( [ 'size' => 100 ] );
    
    $customField            = $api->getCustomField( 1 );
    $customFields           = $api->getCustomFields( [ 'size' => 100 ] );
    $customFieldCollections = $api->getCustomFieldCollections( [ 'size' => 100 ] );
	
    $maintenanceWorkOrder            = $api->getMaintenanceWorkOrder( 3 );
    $maintenanceWorkOrders           = $api->getMaintenanceWorkOrders( [ 'size' => 100 ] );
    $maintenanceWorkOrderCollections = $api->getMaintenanceWorkOrderCollections( [ 'size' => 100 ] );
    
    $owner            = $api->getOwner( 1000 );
    $owners           = $api->getOwners( [ 'size' => 100 ] );
    $ownerCollections = $api->getOwnerCollections( [ 'size' => 100 ] );
    $ownerUnits       = $api->getOwnerUnits( 1000 );
    
    $contract            = $api->getContract( 1 );
    $contracts           = $api->getContracts( [ 'size' => 100 ] );
    $contractCollections = $api->getContractCollections( [ 'size' => 100 ] );
    
    $unitRole            = $api->getUnitRole( 1000 );
    $unitRoles           = $api->getUnitRoles( [ 'size' => 100 ] );
    $unitRoleCollections = $api->getUnitRoleCollections( [ 'size' => 100 ] );
    
    $user            = $api->getUser( 1000 );
    $users           = $api->getUsers( [ 'size' => 100 ] );
    $userCollections = $api->getUserCollections( [ 'size' => 100 ] );
    
    
    $role            = $api->getRole( 1000 );
    $roles           = $api->getRoles( [ 'size' => 100 ] );
    $roleCollections = $api->getRoleCollections( [ 'size' => 100 ] );
}
catch( \elite42\trackpms\trackException $e ) {
    throw new controllerException( 'Error while running API command: '.$e->getMessage(), 400, $e);
}

Methods

Units

See available query params for $queryParams at https://developer.trackhs.com/reference/getunits

Unit Pricing

See available query params for $queryParams at https://developer.trackhs.com/reference/getunitpricing

Reservations

See available query params for $queryParams at https://developer.trackhs.com/reference/getreservations

Reservation Fees

See available query params for $queryParams at https://developer.trackhs.com/reference/getreservationnotes

Reservation Notes

See available query params for $queryParams at https://developer.trackhs.com/reference/getreservationfees

Reservation Rates

See https://developer.trackhs.com/reference/getratesreservation

Reservation Types

Not documented by Track API

Unit Blocks

See https://developer.trackhs.com/reference/getunitblock

Amenities

See available query params for $queryParams at https://developer.trackhs.com/reference/getunitamenities

Amenity Groups

See available query params for $queryParams at https://developer.trackhs.com/reference/getunitamenitygroups

Custom Fields

See available query params for $queryParams at https://developer.trackhs.com/reference/getcustomfields

Maintenance Work Orders

See available query params for $queryParams at https://developer.trackhs.com/reference/getmaintworkorders

Housekeeping Work Orders

See available query params for $queryParams at https://developer.trackhs.com/reference/getworkorders

Owners

See available query params for $queryParams at https://developer.trackhs.com/reference/getownercollection

Companies (Vendors)

See available query params for $queryParams at https://developer.trackhs.com/reference/getcompany

Company (and Owners) Attachments

See available query params for $queryParams at https://developer.trackhs.com/reference/getcompanyattachments

Company (and Owners) Contacts

See available query params for $queryParams at https://developer.trackhs.com/reference/getcompanycontacts

Contracts

See available query params for $queryParams at https://developer.trackhs.com/reference/getownercontractcollection

Users

Not documented at Track. See some available $queryParams in an example in this discussion https://developer.trackhs.com/discuss/61fd3729f5da3f029bb47f4c

Roles

Not documented by Track API

Unit Roles

See available query params for $queryParams at https://developer.trackhs.com/reference/getunitrolescollection

Accounting

Items

See available query params for $queryParams at https://developer.trackhs.com/reference/getitemscollection

Item Categories

See available query params for $queryParams at https://developer.trackhs.com/reference/getitemcateogires

Accounts

See available query params for $queryParams at https://developer.trackhs.com/reference/getledgeraccounts

Transactions

See available query params for $queryParams at https://developer.trackhs.com/reference/getowneridtransactionscollection

Owner Transactions

See available query params for $queryParams at https://developer.trackhs.com/reference/getowneridtransactionscollection-1

Manual Calls to Track API for methods not implemented

See available API URLs at https://developer.trackhs.com/reference/ Note that manual calls will not be parsed into models. The function will return the default output of json_decode( $responseBody, false, 512, JSON_THROW_ON_ERROR )**