Event Objects

12 minute read

Each time an event happens, we create an event object and send it to the target URL that you have configured either via the API or UI.

There are five object types:

The structure of each event depends on the object type. Also, depending on the event, some fields of the event object can be null or absent.

Use the object examples and tables below to interpret the webhook events.

WorkOrder

A work order is a task for a provider to perform some services.

Example object

{
   "Object": {
      "Id": 96335566,
      "Number": "WO123456",
      "PurchaseNumber": "PO654321",
      "SubscriberId": 2014917243,
      "ProviderId": 2000090505,
      "LocationId": 2006071467,
      "Status": {
         "Primary": "COMPLETED",
         "Extended": "CONFIRMED"
      },
      "Caller": "test-username",
      "CreatedBy": "test-username",
      "CallDate": "2018-03-27T11:00:00",
      "ReassignDate": null,
      "Priority": "P2 - 8 Hours",
      "Trade": "GLASS",
      "ScheduledDate": "2018-03-27T19:00:00",
      "CompletedDate": "2018-03-28T08:20:03",
      "ExpirationDate": "2018-03-27T19:00:00",
      "Description": "The glass of the main door is broken",
      "Category": "CAPEX",
      "Nte": 1000,
      "CurrencyAlphabeticalCode": "USD",
      "ProblemCode": "",
      "Resolution": "The glass of the main door was replaced.",
      "AssetId": 1339628,
      "Source": "WEB API Client",
      "RecallWorkOrder": 96335565,
      "Notes": [
         {
            "Id": 582601417,
            "Number": 7,
            "NoteData": "Status has been changed from '<b>OPEN<\/b>' to '<b>COMPLETED / CONFIRMED<\/b>' with the following comment 'Great job!'",
            "DateCreated": "2018-03-28T08:20:00",
            "ScheduledDate": "2018-03-27T19:00:00",
            "FollowUpDate": null,
            "ActionRequired": false,
            "MailedTo": null,
            "CreatedBy": "Test user’s full name"
         }
      ]
   },
   "EventType": "WorkOrderNoteAdded"
}

Field descriptions

Attribute Data type Description
Id integer The unique work order ID, also known as Tracking Number. Generated automatically and cannot be modified.
Number string The work order number. Can be modified by providers and subscribers.
PurchaseNumber string The purchase number. Can be modified only by subscribers.
SubscriberId integer The unique subscriber’s ID.
ProviderId integer The unique provider’s ID.
LocationId integer The unique ID of the subscriber’s property.
Status object The stage the work order (WO) is in.
Status.Primary string The primary stage the WO is in, for example, OPEN or IN PROGRESS.
Status.Extended string The detailed stage the WO is in, for example, PARTS ON ORDER or ON SITE.
Caller string The username or full name of the person who created the WO.
CreatedBy string The username or full name of the person who created the WO.
CallDate string (date-time) The date and time when the WO was created.
ReassignDate string (date-time) The date and time when the WO was reassigned to another provider.
Priority string The importance of the WO in relation to other WOs, for example, Normal or Emergency, or the period during which a provider should complete the work, for example, P1 - 4 Hours or P2 - 8 Hours.
Trade string The type of work a provider should perform, for example, CARPENTRY or PLUMBING.
Has a narrower definition than Category.
ScheduledDate string (date-time) The scheduled date and time when a provider is expected to be on site. May differ from ExpirationDate if a provider or subscriber adjusts the scheduled date and time.
CompletedDate string (date-time) The date and time when the WO was completed.
ExpirationDate string (date-time) The originally set date and time when the provider was expected to be on site.
Description string The detailed description of the problem, for example, The coffee machine is broken so I can’t start working. May contain automatically generated data, such as info on the Issuelist or original WO ID in case of a recall.
Category string (date-time) The overall classification of the WO, for example, MAINTENANCE or REPAIR.
Nte number The maximum monetary amount that a provider may charge for the service. Stands for not-to-exceed.
CurrencyAlphabeticalCode string The WO currency three-letter alphabetic code.
ProblemCode string The short problem description, for example, Freight Elevator not working or Interior door not opening. Unlike Description, ProblemCode has predefined values.
Resolution string The description of how a provider solved the problem.
AssetId integer The ID of the asset that should be inspected, repaired, or installed.
Source string The source from where the WO was submitted, for example, Web API Client or Dashboard 1.
RecallWorkOrder integer The Id of the original WO. Means that the WO is marked as a recall. Used when a subscriber is not satisfied with work done or when the problem reoccurs.
Notes array of objects The latest WO note details.
Notes.Id integer The unique ID of the note.
Notes.Number integer The note order number.
Notes.NoteData string The note text and automatically generated description of what was changed.
Notes.DateCreated string (date-time) The date and time when the note was created.
Notes.ScheduledDate string (date-time) The scheduled date and time when a provider is expected to be on site.
Notes.FollowUpDate string (date-time) The date and time by which the recipients of the note should respond.
Notes.ActionRequired boolean Determines if further action should be taken on the WO.
Notes.MailedTo string The emails of the people to notify of the WO update.
Notes.CreatedBy string The full name of the person who created the note.

CheckInAndOut

Check-in is when technicians report that they have arrived at the location and started working. Check-out is when technicians report that they have departed from the location or finished working.

Example object

{
   "Object": {
      "SubscriberId": 2000001305,
      "ProviderId": 2000058408,
      "LocationId": 2005742246,
      "WorkOrderId": 94204218,
      "Date": "2018-02-08T06:40:06",
      "User": {
         "Id": 17491
      },
      "CallerId": "GPS(53.956219000, 27.619931000)",
      "Action": "CheckIn",
      "WorkorderStatus": {
         "Primary": "IN PROGRESS",
         "Extended": "ON SITE"
      },
      "ProviderName": "Fixxbook Team",
      "Trade": "CLEANING",
      "Category": "REPAIR"
   },
   "EventType": "WorkOrderCheckIn"
}

Field descriptions

Attribute Data type Description
SubscriberId integer The unique subscriber’s ID.
ProviderId integer The unique provider’s ID.
LocationId integer The unique ID of the subscriber’s property.
WorkOrderId integer The work order (WO) identifier, also known as Tracking Number.
Date string (date-time) The date and time of the check-in/out.
User object The information on the technician that reported the check-in/out.
User.Id integer The technician’s user ID.
CallerId string The telephone number for check-in/out via IVR or GPS coordinates for check-in/out via GPS Mobile app.
Action string Determines if a check-in or check-out was reported.
Possible values: CheckIn, CheckOut.
WorkorderStatus object The stage the WO was in during check-in/out.
WorkorderStatus.Primary string The primary stage the WO was in, for example, OPEN or IN PROGRESS.
WorkorderStatus.Extended string The detailed stage the WO was in, for example, PARTS ON ORDER or ON SITE.
ProviderName string The provider’s company name.
Trade string The type of work a provider performs, for example, CARPENTRY or PLUMBING.
Category string The overall classification of the WO, for example, MAINTENANCE or REPAIR.

Invoice

An invoice is a financial document specifying labor, material, and other charges as well as the tax and invoice total amounts.

Example object

{
   "Object": {
      "Id": 46848182,
      "Number": "N-987654321",
      "BatchNumber": "",
      "InvoiceTax": 130,
      "PostedTaxRate": null,
      "VendorPayeeId": 523710,
      "InvoiceTotal": 790,
      "CurrencyAlphabeticalCode": "USD",
      "ApprovedDate": null,
      "ApprovalCode": 123456,
      "PostedDate": "2018-04-02T05:10:00",
      "Subtotal": 660,
      "Status": "OPEN",
      "Trade": "HVAC",
      "StarredBy": null,
      "IsStarred": false,
      "StarredDate": "0001-01-01T00:00:00",
      "Description": "Cut grass, cleared weeds in flower bed and trimmed shrubs",
      "InvoiceDate": "2018-04-02T05:10:28.027",
      "LaborTaxIncluded": false,
      "TravelTaxIncluded": false,
      "MaterialsTaxIncluded": false,
      "FreightTaxIncluded": false,
      "OtherTaxIncluded": false,
      "StatusChangeDate": "2018-04-02T05:10:28.027",
      "StatusChangeUser": "test-username",
      "StatusChangeUserid": "",
      "WoTrackingNumber": 96563798,
      "Terms": null,
      "Comments": null,
      "PaidDate": null,
      "TransferredDate": null,
      "LastActionDate": "2018-04-02T05:10:28.947",
      "UpdatedDate": "2018-04-02T09:10:28.947Z",
      "ProviderId": 2000090505,
      "SubscriberId": 2014917243,
      "LocationId": 2006071467,
      "ProviderName": "LF INCORPORATED LLC",
      "Labors": [
         {
            "SkillLevel": 2,
            "LaborType": 1,
            "NumOfTech": 1,
            "HourlyRate": 10,
            "Hours": 10,
            "Amount": 100
         }
      ],
      "Materials": [
         {
            "Description": "Wall tiles",
            "PartNum": "4585D",
            "UnitType": 0,
            "UnitPrice": 10,
            "Quantity": 30,
            "Amount": 300
         }
      ],
      "Category": "CAPEX"
   },
   "EventType": "InvoiceCreated"
}

Field descriptions

Attribute Data type Description
Id integer The unique invoice ID. Generated automatically and cannot be modified.
Number string The invoice number.
BatchNumber string The invoice batch number.
InvoiceTax number The monetary amount of the tax.
PostedTaxRate number The percent of the tax.
VendorPayeeId integer The provider’s payee ID assigned by the subscriber for invoicing purposes.
InvoiceTotal number The total monetary amount of the invoice.
CurrencyAlphabeticalCode string The invoice currency three-letter alphabetic code.
ApprovedDate string (date-time) The date and time when the invoice was approved.
ApprovalCode string The invoice approval code.
PostedDate string (date-time) The automatically generated date and time when the invoice was posted into the system.
Subtotal number The monetary amount of the invoice excluding the tax.
Status string The status the invoice is currently in.
Trade string The type of work a provider performed, for example, CARPENTRY or PLUMBING.
StarredBy string The username of the person who marked the invoice with a star.
IsStarred boolean Defines if the invoice was marked with a star.
StarredDate string (date-time) The date and time when the invoice was marked with a star.
Description string The detailed description of the work done by the provider.
InvoiceDate string (date-time) The date and time when the invoice was issued. May differ from PostedDate.
LaborTaxIncluded boolean Defines if the labor tax is included.
TravelTaxIncluded boolean Defines if the travel tax is included.
MaterialsTaxIncluded boolean Defines if the materials tax is included.
FreightTaxIncluded boolean Defines if the freight tax is included.
OtherTaxIncluded boolean Defines if the other tax is included.
StatusChangeDate string (date-time) The date and time of the invoice latest status update.
StatusChangeUser string The username or full name of the person who updated the invoice status.
StatusChangeUserid string The user ID of the person who updated the invoice status.
WoTrackingNumber integer The unique ID of the work order associated with the invoice.
Terms string The source that created the invoice. Empty when created manually or InvoiceAgent when created by the background process.
Comments string The comment added to the invoice.
PaidDate string (date-time) The date and time when the invoice was paid.
TransferredDate string (date-time) The invoice transferred date and time.
LastActionDate string (date-time) The date and time of the last action performed on the invoice.
UpdatedDate string (date-time) The date and time of the last invoice update.
ProviderId integer The unique provider’s ID.
SubscriberId integer The unique subscriber’s ID.
LocationId integer The unique ID of the subscriber’s property.
ProviderName string The provider’s company name.
Labors array of objects The information on labor.
Labors.SkillLevel integer The skill level of a worker.
Possible values: 1 — Supervisor; 2 — Technician; 3 — Helper.
Labors.LaborType integer The type of the pay rate.
Possible values: 1 — Regular; 2 — Overtime; 3 — Double time.
Labors.NumOfTech integer The number of workers.
Labors.HourlyRate number The worker hourly rate.
Labors.Hours number Total hours the worker spent to complete the work order.
Labors.Amount number The monetary amount of the labor charge.
Materials array of objects The information on the materials used.
Materials.Description string The name or description of the material.
Materials.PartNum string The part, serial, or manufacturer number of the material.
Materials.UnitType integer A unit of measurement.
Possible values: 1 — Each; 2 — Box; 3 — Feet; 4 — Sqft; 5 — Lbs; 6 — Gal; 7 — Oz
Materials.UnitPrice number The price per unit.
Materials.Quantity number The quantity of the material.
Materials.Amount number The monetary amount of the material cost.
Category string The overall classification of the WO, for example, MAINTENANCE or REPAIR.

Proposal

A proposal is an offer from a provider to a subscriber detailing costs required to complete a job.

Example object

{
   "Object": {
      "Id": 6973063,
      "Number": "987654321",
      "Description": "New air conditioner",
      "Comments": null,
      "Trade": "HVAC",
      "LocationId": 2006071467,
      "SubscriberId": 2014917243,
      "ProviderId": 2000090505,
      "WorkOrderId": null,
      "WorkOrderNumber": null,
      "RfpId": null,
      "CurrencyAlphabeticalCode": "USD",
      "CreatedBy": {
         "Id": 1388819
      },
      "UpdatedBy": null,
      "AssignedTo": null,
      "ScheduledDate": null,
      "Status": "open",
      "Attachments": null,
      "Amount": 644,
      "AmountCategories": [
         {
            "Id": 6012,
            "Name": "Materials",
            "TotalCost": 45
         },
         {
            "Id": 6013,
            "Name": "Installation Labor",
            "TotalCost": 26
         },
         {
            "Id": 6014,
            "Name": "Non-Installation Expenses",
            "TotalCost": 7.5
         },
         {
            "Id": 6015,
            "Name": "Freight",
            "TotalCost": 5
         },
         {
            "Id": 6016,
            "Name": "Tax",
            "TotalCost": 10.5
         },
         {
            "Id": 6017,
            "Name": "Costs incurred to date",
            "TotalCost": 550
         }
      ],
      "Asset": [
         {
            "Id": "125468",
            "Action": "REPLACE",
            "Area": "BACK DOOR",
            "BrandId": "560",
            "TypeId": "7524",
            "IsNew": false,
            "Attributes": [
               {
                  "Name": "Tag ID",
                  "Value": "111"
               }
            ]
         },
         {
            "Id": "433854",
            "Action": "REPLACE",
            "Area": "FRONT DOOR",
            "BrandId": "1878",
            "TypeId": "7524",
            "IsNew": true,
            "Attributes": [
               {
                  "Name": "Tag ID",
                  "Value": "222"
               }
            ]
         }
      ],
      "Category": null
   },
   "EventType": "ProposalCreated"
}

Field descriptions

Attribute Data type Description
Id integer The proposal unique ID. Generated automatically and cannot be modified.
Number string The proposal number.
Description string The proposal detailed description.
Comments string The comment added to the proposal.
Trade string The type of work a provider performs, for example, CARPENTRY or PLUMBING.
LocationId integer The unique ID of the subscriber’s property.
SubscriberId integer The unique subscriber’s ID.
ProviderId integer The unique provider’s ID.
WorkOrderId integer The unique ID of the work order connected to the proposal.
WorkOrderNumber string The number of the work order connected to the proposal.
RfpId integer The unique ID of the request for proposal (RFP) associated with the proposal.
CurrencyAlphabeticalCode string The proposal currency three-letter alphabetic code.
CreatedBy object The information on the user that created the proposal.
CreatedBy.Id integer The user ID of the person that created the proposal.
UpdatedBy object The information on the user that updated the proposal.
AssignedTo object The information on the person the proposal was assigned to.
ScheduledDate string The scheduled date and time when a provider is expected to be on site.
Status string The stage the proposal is currently in.
Attachments object The information on the proposal attachments.
Attachments.Id integer The unique ID of the proposal attachment.
Attachments.Description string The description of the proposal attachment.
Attachments.Name string The file name of the proposal attachment.
Attachments.Date string (date-time) The date and time when the attachment was added to the proposal.
Attachments.Uri string The URI to the proposal attachment.
Amount number The total monetary amount of the proposal.
AmountCategories array of objects The information on the proposal items.
AmountCategories.Id integer The unique ID of the proposal item.
AmountCategories.Name sting The name of the proposal item.
AmountCategories.TotalCost number The total cost of the proposal item.
Asset array of objects The information on the asset or assets.
Asset.Id string The ID of the asset.
Asset.Action string The action performed on the asset.
Possible values: REPAIR, REPLACE, NEW, REMOVE.
Asset.Area string The exact place within one location the asset belongs to.
Asset.BrandId string The ID of the asset brand.
Asset.TypeId string The ID of the asset type.
Asset.IsNew boolean Defines if the asset is new or existing.
Asset.Attributes array of objects Additional fields that describe the asset.
Asset.Attributes.Name string The name of the field.
Asset.Attributes.Value string The value of the field.
Category string The overall classification of the WO, for example, MAINTENANCE or REPAIR.

FbInvitation

A Fixxbook invitation is an invitation sent to a provider to join a subscriber’s Private Network.

Example object

{
   "Object": {
      "ClientId": 28011,
      "ContractorId": 57037,
      "ScProviderId": 2000075120,
      "ScSubscriberId": 2014916762,
      "Status": "Accepted"
   },
   "EventType": "FbInvitationAccepted"
}

Field descriptions

Attribute Data type Description
ClientId integer The unique subscriber’s company ID in Fixxbook.
ContractorId integer The unique provider’s company ID in Fixxbook.
ScProviderId integer The unique provider’s ID in the SC system.
ScSubscriberId integer The unique subscriber’s ID in the SC system.
Status string The status of the invitation. Always Accepted for the FbInvitationAccepted event.