Resources

AddressTypes

This controller provides access the different types of addresses in the system.

APIDescription
GET api/AddressTypes

Gets the codes and names of each available address type in the system.

Agency

Controller for Agencies

APIDescription
GET api/agencies?agencyIds[0]={agencyIds[0]}&agencyIds[1]={agencyIds[1]}

Gets all the available agencies for the current tenant. Results will be filtered based on provided agency Ids.

BookingPurposes

This controller provides access the different types of Booking Purposes that a client may choose from when booking their trip.

APIDescription
GET api/BookingPurposes?serviceTypeId={serviceTypeId}

Gets the list of different predefined reasons that a client may be booking a trip for.

BookingSubtypes

This controller provides access the different types of Booking Subtypes that are available in the system.

APIDescription
GET api/BookingSubtypes

Gets the list of different possible booking subtypes.

CancelCode

This controller provides access the different types of cancellation codes (system codes as well as user defined codes) in the system.

APIDescription
GET api/cancelcodes

Gets the available system and user defined cancellation codes.

ClientDefaults

This controller is used to get the default additional passengers and mobility aids for a client.

APIDescription
GET api/clients/{clientID}/defaultPassengers

Gets the list of the client's default passengers when booking a new trip.

GET api/clients/{clientID}/defaultMobilityAids

Gets the list of the default mobility aids that a client will bring with them on their trip.

Clients

This controller provides access to get, modify or delete a client from the system.

APIDescription
GET api/clients/{clientID}/statuses

Gets information about the client's eligibilty status.

POST api/clients/{clientID}/ChangePassword

Changes a client's password. Requires the client's current password.

POST api/clients/{clientId}/AnonymousChangePassword

Changes a user's password without requiring their old password, or requiring them to be logged in.

GET api/clients/{clientId}/attachments?fileIds[0]={fileIds[0]}&fileIds[1]={fileIds[1]}&includeContent={includeContent}

Gets attachments for client

GET api/clients/{clientId}/contacts

Gets the contacts for a client. This includes contacts that don't have an address

GET api/clients/{clientId}/contacts/preferred

Gets the details of a client's preferred contact.

PUT api/clients/{clientId}/contacts/preferred

Updates the perferred contact details for a client.

GET api/clients/{clientId}/passengertypes

Gets the list of different types of passengers that may be part of the client's trips. However, this list will account for any passenger types that the client has been denied from bringing. Clients are always denied from bringing other clients.

GET api/clients/{clientId}/servicetypes?includeAllAvailable={includeAllAvailable}

Gets the list of different service types that a client can select for their trips.

GET api/clients/{clientId}/passengertype

Gets the client's passenger type code.

POST api/clientSearch

Searches for a client using multiple pieces of information.

GET api/clients/{clientId}/serviceTypesLimits

Gets the list of service limits for the client.

GET api/clients/latestfeedbackmodifieddate?clientIds[0]={clientIds[0]}&clientIds[1]={clientIds[1]}

Gets the most recent feedback modified date againt provided clientId(s)

GET api/clients/{clientId}/fundingPrograms?tripDate={tripDate}

Gets funding programs for client

PUT api/clients/{clientId}/address

Creates or updates an address for a client.

DELETE api/clients/{clientId}/address/delete/{addressTypeCode}

Deletes an address for a client.

GET api/Clients?firstName={firstName}&lastName={lastName}&clientCode={clientCode}&clientId={clientId}&identificationNumber={identificationNumber}&birthDate={birthDate}&offset={offset}&count={count}

Retrieves the details about clients in the system that match the specified search parameters. (Paging support to be added in the future)

GET api/Clients/{id}

Retrieves the details of a single client.

PUT api/Clients/{id}

Saves the details of an existing client. Note that the client's status information and funding sources cannot currently be saved.

DELETE api/Clients/{id}

Deletes the client.

POST api/Clients

Creates a new client with the given first name, last name, and date of birth

ContactTypes

Gets the list of contact types.

APIDescription
GET api/contacttypes

Gets the list of all available contact types in the paratransit application.

DelegateClients

APIDescription
GET api/delegategroups/{delegateGroupId}/clients?includeExpired={includeExpired}&offset={offset}&count={count}&searchTerm={searchTerm}&searchColumns[0]={searchColumns[0]}&searchColumns[1]={searchColumns[1]}&userDefinedFields[0]={userDefinedFields[0]}&userDefinedFields[1]={userDefinedFields[1]}

Gets the clients that are associated with a delegate group.

GET api/delegategroups/{delegateGroupId}/clientsgroup?includeExpired={includeExpired}&offset={offset}&count={count}&searchTerm={searchTerm}&searchColumns[0]={searchColumns[0]}&searchColumns[1]={searchColumns[1]}&userDefinedFields[0]={userDefinedFields[0]}&userDefinedFields[1]={userDefinedFields[1]}

Gets the delegate client group information

GET api/delegategroups/{delegateGroupId}/clients/count?includeExpired={includeExpired}&searchTerm={searchTerm}

Gets the clients that are associated with a delegate group.

DELETE api/delegategroups/{delegateGroupId}/clients/{clientId}

Removes a client from a delegate group.

POST api/delegategroups/{delegateGroupId}/clients

Adds a client to a delegate group, or updates an existing association with a new expiry date.

POST api/delegategroups/{delegateGroupId}/clientrule

Adds or updates a ruleset for a delegate group which defines which clients are dynamically added to the group

GET api/delegategroups/{delegateGroupId}/clients/{clientId}

No documentation available.

GET api/delegategroups/{delegateGroupId}/clientrule

Gets the set of rules that define which clients are dynamically added to a delegate group

DELETE api/delegategroups/{delegateGroupId}/clientrule

Deletes a dynamic client ruleset for a delegate group.

GET api/delegategroups/{delegateGroupId}/dynamicclients?offset={offset}&count={count}&searchTerm={searchTerm}

Gets the clients that are dynamically associated with a delegate group via a

POST api/dynamicclients/preview?offset={offset}&count={count}&searchTerm={searchTerm}

Gets the clients that match the conditions of a given ruleset that has not been persisted to the database.

POST api/dynamicclients/preview/count?searchTerm={searchTerm}

Gets the clients that match the conditions of a given ruleset that has not been persisted to the database.

GET api/DynamicClientFilterTypes

Gets a list of the supported DynamicClientFilters used for setting up dynamic client rules for delegate groups

DelegateGroups

This controller provides access to get, modify or delete a delegate group from the system.

APIDescription
GET api/delegategroups/{id}?includeDeleted={includeDeleted}&includeClientCount={includeClientCount}

Gets a delegate group by id.

DELETE api/delegategroups/{id}

Deletes a delegate group.

PUT api/delegategroups/{id}

Updates the values of a delegate group.

GET api/delegategroups/search?query={query}&groupType={groupType}&includeMatchedObjects={includeMatchedObjects}

Searches through delegate groups for a name, client or delegate that matches the specified search string. If a group type is provided, then only delegate groups matching the filter criteria will be included.

GET api/DelegateGroups?groupType={groupType}

Gets all delegate groups. If a group type is provided, then only delegate groups matching the filter criteria will be included.

POST api/DelegateGroups

Saves a new delegate group.

Delegates

This controller provides access to get, modify or delete a delegate from the system. Also allows delegates to change their passwords.

APIDescription
POST api/delegates/{delegateId}/ChangePassword

Changes a delegate user's password. Requires the user's current password.

POST api/delegates/{delegateId}/AnonymousChangePassword

Changes a delegate user's password without requiring their old password, or requiring them to be logged in.

GET api/delegates/{delegateId}?includeDeleted={includeDeleted}

Gets a delegate by id.

GET api/delegates/find?username={username}

Finds a delegate using their username.

GET api/delegategroups/{delegateGroupId}/delegates

Gets all delegates in a delegate group by id.

DELETE api/delegates/{delegateId}

Deletes a delegate by id.

PUT api/delegates/{delegateId}

Updates a delegate.

POST api/delegates

Creates a new delegate.

DelegateSecurity

APIDescription
GET api/delegates/{delegateId}/security

Gets the final resolved security settings for a delegate, combining the delegate's individual and group security settings (if the delegate inherits from the group)

Diagnostics

Provides access to the logs files generated by log4net.

APIDescription
GET api/Diagnostics/logs/{fileCount}

No documentation available.

Echo

Allows a client to ping the server and verify that it is still authorized correctly. Returns the original posted content.

APIDescription
POST api/Echo

Allows a client to ping the server and verify that it is still authorized correctly.

FareTypes

Provides access to the different fare types that are available in the system.

APIDescription
GET api/FareTypes

Gets the list of the different available fare types.

Features

Gets which features the paratransit app supports

APIDescription
GET api/Features

Gets which features are available

Feedback

APIDescription
GET api/feedbacktypes

Returns feedback types from server

GET api/feedback/{feedbackTypeId}/categories

Returns feedback categories from server against provided feedback type Id

GET api/feedback/{referenceNo}/history

Return feedback history against provided reference no.

POST api/feedback/{referenceNo}/attachments

Saves attachment against reference no provided in attachment request

GET api/feedback/{clientId}?startDate={startDate}&endDate={endDate}

Returns feedback list against provided client id

GET api/feedback/{referenceNo}/attachments?fileIds[0]={fileIds[0]}&fileIds[1]={fileIds[1]}&includeContent={includeContent}

Gets attachments for feedback

DELETE api/feedback/{referenceNo}/attachments?fileIds[0]={fileIds[0]}&fileIds[1]={fileIds[1]}

Removes attachment for client

POST api/Feedback

Returns saved feedback object with mandatory filled in details from server

Funding

Controller for FundingPrograms and FundingSources

APIDescription
GET api/fundingprograms

Gets all the available funding programs that are accessible for the current tenant.

GET api/fundingprograms/{programId}

Gets a funding program by id.

GET api/fundingsources

Gets all the available funding sources for the current tenant.

GET api/fundingsources/{fundingSourceId}

Gets a funding source by id.

History

Gets audit history information

APIDescription
GET api/history?bookingId={bookingId}&clientId={clientId}&delegateId={delegateId}&delegateGroupId={delegateGroupId}&tenantId={tenantId}&action[0]={action[0]}&action[1]={action[1]}

Gets audit history entries

IVRContactInfo

APIDescription
GET api/IVRContactInfo?clientId={clientId}

Gets the contact information for each device type for a client.

IVRStatus

Determines the current status of the IVR system.

APIDescription
GET api/IVRStatus

Gets the current status and configuration of the IVR system.

Locations

Gets information about registered locations in the system.

APIDescription
GET api/Locations/SuggestLocation?search={search}&maxLocations={maxLocations}&groupResultsByCategory={groupResultsByCategory}&excludeNonGeocoded={excludeNonGeocoded}

Searches through the list of locations that have been registered with the system for a location that best matches a search string.

GET api/Locations/SuggestClient?clientId={clientId}&search={search}&maxRecent={maxRecent}&maxRegistered={maxRegistered}&excludeNonGeocoded={excludeNonGeocoded}

Searches through a client's frequent and registered addresses to provide a location that best matches a search string.

GET api/Locations/SuggestStop?search={search}&maxStops={maxStops}&excludeNonGeocoded={excludeNonGeocoded}

Searches through the list of locations that have been registered with the system for a location that best matches a search string.

GET api/Locations/Suggest?search={search}&clientId={clientId}&includeRegistered={includeRegistered}&includeLocations={includeLocations}&includeStops={includeStops}&includeAddresses={includeAddresses}&maxRecent={maxRecent}&maxRegistered={maxRegistered}&maxLocations={maxLocations}&maxStops={maxStops}&groupLocationsByCategory={groupLocationsByCategory}&excludeNonGeocoded={excludeNonGeocoded}

Suggests locations, including both standard locations and client-specific locations.

GET api/Locations/FindLocation?streetNumber={streetNumber}&onStreet={onStreet}&unit={unit}&zip={zip}&city={city}&siteName={siteName}

No documentation available.

POST api/Locations

Adds a new location

PUT api/Locations/{locationId}

Adds a new location

GET api/Locations?categories[0]={categories[0]}&categories[1]={categories[1]}

Gets locations

GET api/Locations/{locationId}

Gets a location by ID

GET api/Locations/Stops?polygonId={polygonId}&stopNameFilter={stopNameFilter}

Gets bus stops

LocationTypes

Gets the list of location types.

APIDescription
GET api/LocationTypes

Gets the list of all available contact types in the paratransit application.

MobilityAids

This controller provides access the different types of Mobility Aids that can be assigned to a client.

APIDescription
GET api/MobilityAids

Gets the list of mobility aids that a client can bring on a trip.

NoShowCodes

This controller provides access the different types of no show codes (system codes as well as user defined codes) in the system.

APIDescription
GET api/noshowcodes

Gets the available system and user defined no show codes.

NotificationTypes

Provides information about the available notification types in the connected IVR system.

APIDescription
GET api/NotificationTypes

Gets the list of Notfication Types that are available in the IVR System, if configured.

PassengerTypes

This controller provides access the different types of passengers that can be brought in a trip.

APIDescription
GET api/passengertypes

Gets the list of different types of passengers in the system, including the client passenger type.

Password

Responsible for finding scheduling solutions for trips, applying them, and dropping unused solutions.

APIDescription
POST api/password/ValidatePasswordRules

Validates a password with the password rules

POST api/password/CheckPasswordExpiry

Checks to see if a password for a given user has expired. Note that this method assumes the password passed into the request has been authenticated successfully.

Polygons

This controller provides Polygon Types and Polygons for Map rendering

APIDescription
GET api/polygontypes?includePolygonIds={includePolygonIds}

Fetches Polygon Types from Database

GET api/polygons?typeId={typeId}&polyIds[0]={polyIds[0]}&polyIds[1]={polyIds[1]}&includeVertexInfo={includeVertexInfo}

Fetches Polygon data against provided polygonTypeId

GET api/polygonsByStop?stopId={stopId}&typeId={typeId}&includeVertexInfo={includeVertexInfo}

Fetches all the polygons of a given type that a stop is contained in

PrePaidFaring

This controller provides access pre-paid faring related calls

APIDescription
GET api/clients/{clientId}/Faring/AccountInfo

Gets client's pre-paid fare information.

GET api/clients/{clientId}/Faring/TransactionHistory?startDate={startDate}&endDate={endDate}&transactionType={transactionType}

Gets client's account transaction history.

POST api/clients/{clientId}/Faring/TopUp

Adds funds to a client's account

POST api/clients/{clientId}/Faring/Adjustment

Adjusts a client's account balance

Provider

Controller for Providers

APIDescription
GET api/providers

Gets all the available providers for the current tenant.

Registration

Gets which registration fields are required for this paratransit app

APIDescription
GET api/Registration/requiredFields

Gets which user registration fields are required

Run

Responsible for finding scheduling solutions for trips, applying them, and dropping unused solutions.

APIDescription
GET api/runs?serviceTypeId={serviceTypeId}&date={date}

Gets runs

ScheduleTrips

Responsible for finding scheduling solutions for trips, applying them, and dropping unused solutions.

APIDescription
POST api/clients/{clientId}/solutionsets

Tries to find solutions for scheduling one or more trips.

POST api/schedules/{scheduleId}/tripsolutions?failOnWarnings={failOnWarnings}

Schedules one or more trips using a scheduling solution that was previously found.

DELETE api/clients/{clientId}/solutionsets/{solutionSetId}?scheduleId={scheduleId}

Removes one or more previously found solution sets for scheduling an itinerary or trip.

Security

Controller for security information (users, groups)

APIDescription
GET api/security/groups

Gets the security groups for the paratransit application

GET api/security/users

Gets the users for the paratransit application

GET api/security/users/{username}/groups

Gets the groups that a user is a member of

ServiceTypes

Provides access to the different service types that are available in the system.

APIDescription
GET api/ServiceTypes?includeHidden={includeHidden}

Gets the list of different service types that are available.

Settings

APIDescription
POST api/tenants/{tenantId}/settings

Gets the list of different possible booking subtypes.

GET api/tenants/{tenantId}/settings

Gets the list of different possible booking subtypes.

GET api/tenants/{tenantId}/settingsjs

Gets the list of different possible booking subtypes.

SpaceTypes

Provides access to the different space types that are available in the system.

APIDescription
GET api/SpaceTypes

Gets the list of different type of space requirements that a client may reserve for their trip.

SystemStatus

APIDescription
POST api/SystemStatus

No documentation available.

TenantHosts

Used to map host headers with a respective tenant. This is used for multi-tenant applications to determine which tenant their site is currently being accessed for.

APIDescription
GET api/TenantHosts

Gets the list of all configured host headers for each tenant that is in the system.

TenantInfo

Provides basic information about the configuration of a tenant.

APIDescription
GET api/tenantinfo

Gets information about the current tenant.

GET api/tenantinfo/utcoffset

Gets the offset from the current time to UTC.

Tenants

Allows tenants to be added, modified, or deleted.

APIDescription
GET api/tenants/{id}

Gets information about a tenant with a specific name.

GET api/tenants?name={name}&includeDisabled={includeDisabled}

Gets information about all tenants.

PUT api/tenants/{id}

Saves an existing tenant.

POST api/tenants

Saves a new tenant.

DELETE api/tenants/{id}

Deletes an existing tenant.

GET api/tenants/isDemo?name={name}

Gets whether a tenant is a demo tenant or not.

PUT api/tenants/{id}/status

Update's a tenant's status between enabled/disabled

Trips

Provides the ability to view and book trips for a client, as well as monitoring a vehicle's current location for a trip.

APIDescription
GET api/clients/{clientID}/trips?tripIds[0]={tripIds[0]}&tripIds[1]={tripIds[1]}&startDate={startDate}&endDate={endDate}

Gets the trips for a client within a specific date range.

POST api/trips/search

Searches for a trip using multiple pieces of information.

GET api/clients/{clientID}/subscription?startDate={startDate}&endDate={endDate}

Gets the trips for a client within a specific date range.

GET api/clients/{clientId}/trip/{tripId}

Gets information about a booked trip.

POST api/trips/fundingprograms

Get funding programs available for booking based on Itinerary data.

PUT api/clients/{clientID}/edittrip?failOnWarnings={failOnWarnings}

Edits trip(s) for a client.

PUT api/clients/{clientID}/editsubscription?failOnWarnings={failOnWarnings}

Books a recurring trip for a client.

POST api/clients/{clientID}/trip?failOnWarnings={failOnWarnings}&additionalPassengerMode={additionalPassengerMode}&setRequestedLateDropoffFromOBT={setRequestedLateDropoffFromOBT}&forceAllowImmediateBooking={forceAllowImmediateBooking}

Books a trip for a client.

POST api/clients/{clientId}/subscription?failOnWarnings={failOnWarnings}

Books a recurring trip for a client.

GET api/clients/{clientId}/trips/daterange

Returns the date of the first and last trips that the client has in the system.

GET api/clients/{clientID}/recenttrips

Gets the list of trips that a client has recently created or completed.

GET api/clients/{clientID}/upcomingtrips?maxResults={maxResults}&includePastMinutes={includePastMinutes}&scheduleStatuses[0]={scheduleStatuses[0]}&scheduleStatuses[1]={scheduleStatuses[1]}&bookingSubtypes[0]={bookingSubtypes[0]}&bookingSubtypes[1]={bookingSubtypes[1]}

Gets the list of upcoming trips for a client.

GET api/clients/{clientId}/trips/{bookingId}/vehicleInfo

Gets location information about a vehicle that has been assigned to handle a trip.

PATCH api/clients/{clientId}/trips/{bookingId}

Updates an existing trip.

PUT api/clients/{clientId}/trips/{bookingId}/subtype

Updates the booking subtype of an existing trip.

POST api/clients/{clientId}/trips/fareEstimate

Calculate the fare for a client's trip.

DELETE api/clients/{clientId}/trips/{bookingId}/droptrip?isNew={isNew}

Removes trip from system

POST api/clients/{clientId}/trips/unschedule

Unshedules provided bookingIds against client

TripStatus

Gets or updates a trip's current status.

APIDescription
GET api/clients/{clientID}/trips/{bookingId}/status

Gets the current status of a trip.

GET api/trips/status?startDate={startDate}&endDate={endDate}&serviceTypeId={serviceTypeId}

No documentation available.

PUT api/clients/{clientId}/trips/{bookingId}/status

Updates the current status of the trip.

UserDefinedFields

This controller provides information about the user defined fields that are in the system.

APIDescription
GET api/UserDefinedFields/{table}

Gets the list of all user defined fields that have been defined for a specific type of object.