NAV
Release 1.9

Helm CONNECT API Documentation


API Overview

Helm CONNECT exposes a public API for end users so they can access their data and extend application functionality. The API is a RESTful architecture, which has web resources identified by Uniform Resource Identifiers (URIs). The API endpoints are accessed with standard HTTP communication and verbs. Data returned from the API is in JSON format.

API Authorization

All API HTTP requests must have the following headers attached

API-Key: <key>,
Content-Type: application/json

The key comes from the API key management section of the Users App.

User Defined Fields

Purpose

Data Model

User Defined Field Types

—————Endpoints—————

Assets

Update Asset

URI

api/v1/core/assets/CreateOrUpdateAsset

Supported Verbs

Required Parameters

Data Model

Asset Model

  {
    "Id": <GUID>,
    "Name": <string>,
    "ShortName": <string>,
    "AccountingCode": <string>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Asset Object Fields

Return Value

Action Accepted

  {
    "Data":
    {
      "ActionType": <string>,
      "Id": <Guid>
    }
  }

Find Assets

URI

api/v1/core/assets/FindAssets

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "ShortName": <string>,
          "AccountingCode": <string>,
          "VesselTypeNames": <string>,
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
        }
        ...
      ]
    }
  }

Company

Create/Update Company

URI

api/v1/jobs/companies/CreateOrUpdateCompany

Supported Verbs

Required Parameters

Data Model

Company Model

[
  {
    "Id": <GUID>,
    "Name": <string>,
    "ShortName": <string>,
    "ExternalSystemCode": <string>,
    "IsMyCompany": <boolean>,
    "IsActive": <boolean>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  },
  ....
]

Company Object Fields

Return Value

With errors

  {
    "Data": 
    [
      {
        "Name": <string>,
        "Errors":
        [
          {
            "Message": <string>,
            "Entity": <string>
          },
          ....
        ]
      }
    ]
  }

Without errors

  {
    "Data": 
    {
      "Created": <Integer>,
      "Updated": <Integer>
    }
  }

Create/Update Account

URI

api/v1/jobs/companies/CreateOrUpdateCompanyAccount

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Account Model

  [
    {
      "Id": <GUID>,
      "Name": <string>,
      "Company":
      {
        "Id": <GUID>,
        "Name": <string>,
        "ShortName": <string>,
        "ExternalSystemCode": <string>,
        "IsMyCompany": <boolean>,
        "IsActive": <boolean>,
        "UserDefined":User Defined Data Model (see User Defined Fields section for more details)
      },
      "Division":
      {
        "Id": <GUID>,
        "Name": <string>,
        "ExternalSystemCode": <string>
      },
      "AccountNumber": <string>,
      "AccountType": <string>,
      "IsAR": <boolean>,
      "IsAP": <boolean>,
      "IsBlocked": <boolean>,
      "IsActive": <boolean>
    },
    ....
  ]

Account Object Fields

Return Value

With errors

  {
    "Data":
    [
      {
        "Name": <Array>,
        "Errors":
        [
          {
            "Entity": <string>
          },
          ....
        ]
      }
    ]
  }

Without errors

  {
    "Data":
    {
      "Created": <Integer>,
      "Updated": <Integer>,
      "CompanyCreated": <Integer>
    }
  }

Create/Update Account Address

URI

api/v1/jobs/companies/CreateOrUpdateAccountAddress

Supported Verbs

Required Parameters

Data Model

Account Address Model

  [
    {
      "Id": <GUID>,
      "Account":
      {
        "Id": <GUID>,
        "Name": <string>,
        "AccountNumber": <string>
      },
      "Name": <string>,
      "Address": <string>,
      "City": <string>,
      "Zipcode": <string>,
      "State": <string>,
      "Country": <string>,
      "Email": <string>,
      "Areas":
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "ExternalSystemCode": <string>
        },
        ....
      ]
    },
    ....
  ]

Account Address Object Fields

Return Value

With errors

  {
    "Data":
    [
      {
        "Name": <Array>,
        "Errors":
        [
          {
            "Entity": <string>
          },
          ....
        ]
      }
    ]
  }

Without errors

  {
    "Data":
    {
      "Created": <Integer>,
      "Updated": <Integer>
    }
  }

Find Companies

URI

api/v1/jobs/companies/FindCompanies

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "ShortName": <string>,
          "ExternalSystemCode": <string>,
          "IsMyCompany": <boolean>,
          "IsActive": <boolean>,
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
          "AccountingTerm":
          {
            "Name": <string>,
            "NumberOfDays", <integer>,
            "ExternalSystemCode", <string>
          },
          "Accounts": <Array>
          [
            {
              "Id": <GUID>,
              "Name": <string>,
              "Division":
              {
                "Id": <GUID>,
                "Name": <string>,
                "ExternalSystemCode": <string>
              },
              "AccountNumber": <string>,
              "AccountType": <string>,
              "IsAR": <boolean>,
              "IsAP": <boolean>,
              "IsBlocked": <boolean>,
              "IsActive": <boolean>,
              "IsRequested": <boolean>,
              "AccountingTerm":
              {
                "Name": <string>,
                "NumberOfDays", <integer>,
                "ExternalSystemCode", <string>
              },
              "Addresses": <Array>
              [
                {
                  "Id": <GUID>,
                  "Name": <string>,
                  "Address": <string>,
                  "City": <string>,
                  "Zipcode": <string>,
                  "State": <string>,
                  "Country": <string>,
                  "Email": <string>,
                  "Areas":
                  [
                    {
                      "Id": <GUID>,
                      "Name": <string>,
                      "ExternalSystemCode": <string>
                    },
                    ....
                  ]
                },
                ....
              ]
            },
            ....
          ]
        },
        ....
      ]
    }
  }

Earning Code

Create/Update Earning Code

URI

api/v1/Personnel/EarningCodes/CreateOrUpdateEarningCode

Supported Verbs

Required Parameters

Data Model

Earning Code Model

  {
    "Id": <GUID>,
    "Name": <string>,
    "AccountingCode": <string>,
    "QuantityType": <string>,
    "DoArchive": <boolean>
  }

Earning Code Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>
    "Id": <Guid>
    "ErrorMsgs":
    [
      {
        "Entity": <string>
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Find Earning Code

URI

api/v1/Personnel/EarningCodes/FindEarningCodes

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountingCode": <string>,
          "QuantityType": <string>
        },
        ....
      ]
    }
  }

Action Rejected

  "Data": <Array>

Order

Create Order

URI

api/v1/jobs/orders/CreateOrder

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Order Model

  {
    "Division":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "Area":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "Ship":
    {
      "Id": <GUID>,
      "ShipTypeId": <GUID>,
      "Name": <string>,
      "IMONumber": <string>,
      "MMSI": <string>,
      "Nation": <string>,
      "CallSign": <string>,
      "Height": <decimal>,
      "Deadweight": <decimal>,
      "GT": <decimal>,
      "LOA": <decimal>,
      "Beam": <decimal>,
      "TEU": <decimal>,
      "NT": <decimal>,
      "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
    },
    "CustomerAccount":
    {
      "Id": <GUID>,
      "Name": <string>,
      "AccountNumber": <string>
    },
    "AgentAccount":
    {
      "Id": <GUID>,
      "Name": <string>,
      "AccountNumber": <string>
    },
    "AwardedToAccount":
    {
      "Id": <GUID>,
      "Name": <string>,
      "AccountNumber": <string>
    },
    "OrderDate": <date>,
    "CustomerPONumber": <string>,
    "VoyageNumber": <string>,
    "IsBillable": <boolean>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "Trips": <Array>
    [
      <TripModel>,
      ....
    ]
  }

Trip Model

  {
    "TripType":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "FromLocation":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "ToLocation":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "Status": <string>,
    "RequestedDate": <date>,
    "StartDate": <date>,
    "EndDate": <date>,
    "IsRequestedDateFirm": <boolean>,
    "EstimatedDuration": <decimal>,
    "NumberRequiredResources": <integer>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "Jobs": <Array>
    [
      <JobModel>,
      ....
    ]
  }

Job Model

  {
    "RequiredResourceType":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "StartDate": <date>,
    "EndDate": <date>,
    "PlannedStartDate": <date>,
    "PlannedEndDate": <date>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Order Object Fields

Trip Object Fields

Job Object Fields

Return Value

With no results

  {
    "Data":
    {
      "LogMessages": <Array>
      [
        {
          "Message": <string>,
          "Entity": <string>
        },
        ....
      ]
    }
  }

With results

  {
    "Data":
    {
      "OrderId": <GUID>,
      "NewShipId": <GUID>,
      "LogMessages": <Array>
      [
        {
           "Message": <string>,
           "Entity": <string>
        },
        ....
      ]
    }
  }

Update Order

URI

api/v1/jobs/orders/UpdateOrder

Supported Verbs

Note

Required Parameters

Optional Parameters

Data Model

In the above model, the Order is being updated (Id is supplied). The first Trip is being updated (Id is supplied). The second Trip (which has no Id given), is being inserted for this Order.

Return Value

Find Orders

URI

api/v1/jobs/orders/FindOrders

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
  "Data":
  {
    "TotalCount": <integer>,
    "Page": <Array>
    [
      {
        "Id": <GUID>
        "OrderNumber": <string>
        "CustomerPONumber": <string>,
        "VoyageNumber": <string>,
        "OrderDate": <date>,
        "IsRequest": <boolean>,
        "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
        "Division":
        {
          "Id": <GUID>,
          "Name": <string>,
          "ExternalSystemCode": <string>
        },
        "Ship":
        {
          "Id": <GUID>,
          "Name": <string>,
          "IMONumber": <string>,  
        },
        "CustomerAccount":
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountNumber": <string>
        },
        "AgentAccount":
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountNumber": <string>,
        },
        "AwardedToAccount":
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountNumber": <string>,
        },
        "Trips": <Array>
        [
          {
            "Id": <GUID>,
            "OrderId": <GUID>,
            "TripNumber": <string>,
            "StartDate": <date>,
            "EndDate": <date>,
            "RequestedDate": <date>,
            "EstimatedDuration": <decimal>,
            "Status": <string>,
            "IsRequest": <boolean>,
            "OriginalTripId": <GUID>,
            "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
            "TripType":
            {
              "Id": <GUID>,
              "Name": <string>
            },
            "FromLocation":
            {
              "Id": <GUID>,
              "Name": <string>,
              "ExternalSystemCode": <string>,
            },
            "ToLocation":
            {
              "Id": <GUID>,
              "Name": <string>
              "ExternalSystemCode": <string>,
            }
          },
          ....
        ]
      },
      ....
    ]
  }

Payroll

Find Payroll

URI

api/v1/Personnel/Payroll/FindPayroll

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "PersonId": <GUID>,
          "PayrollPeriodId": <GUID>,
          "DivisionId": <GUID>,
          "TransactionLines":
          [
            "Id": <GUID>,
            "Rate": <decimal>,
            "Quantity": <decimal>,
            "Factor": <decimal>,
            "Amount": <decimal>,
            "StartDate": <date>,
            "EndDate": <date>,
            "AccountingCodes":
            {
              <string(ReferenceType)>:
              {
                "Id": <GUID>,
                "AccountingCode": <string>,
                "EntityName": <string>,
                "ReferenceType": <string>
              },
              ....
            }
          ],
          "PersonBankRecords":
          [
            {
              "Id": <GUID>,
              "Rate": <decimal>,
              "Quantity": <decimal>,
              "Factor": <decimal>,
              "Amount": <decimal>,
              "Date": <date>,
              "IsWithdrawal": <boolean>,
              "AccountingCodes":
              {
                <string(ReferenceType)>:
                {
                  "Id": <GUID>,
                  "AccountingCode": <string>,
                  "EntityName": <string>,
                  "ReferenceType": <string>
                },
                ....
              }
            }
          ]
        }
      ]
    }
  }

Bank Balance

URI

api/v1/Personnel/Payroll/BankBalance

Supported Verbs

Required Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "BankId": <GUID>,
          "BankName": <string>,
          "BankAccountingCode": <string>,
          "PersonId": <GUID>,
          "Balances": <Array>
          [
            {
              "PayrollClassId": <GUID>,
              "EarningCodeId": <GUID>,
              "AssetId": <GUID>,
              "CostCenterId": <GUID>,
              "Rate": <decimal>,
              "Factor": <decimal>,
              "DivisionId": <GUID>,
              "OpeningBalance": <decimal>,
              "OpeningQuantity": <decimal>,
              "ClosingBalance": <decimal>,
              "ClosingQuantity": <decimal>
            },
            ...
          ]
        }
      ]
    }
  }

Find Payroll Periods

URI

api/v1/Personnel/PayrollPeriods/FindPayrollPeriods

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "StartDate": <date>,
          "EndDate": <date>
        }
      ]
    }
  }

Set Payroll Period Exported

URI

api/v1/Personnel/PayrollPeriods/SetPayrollPeriodExported

Supported Verbs

Required Parameters

Data Model

Payroll Class Model

  {
    "Id": <GUID>,
    "ExportDate": <date>,
    "ResetExportDate": <boolean>
  }

Payroll Class Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>,
    "Id": <Guid>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Payroll Class

Create/Update Payroll Class

URI

api/v1/Personnel/PayrollClasses/CreateOrUpdatePayrollClass

Supported Verbs

Required Parameters

Data Model

Payroll Class Model

  {
    "Id": <GUID>,
    "Name": <string>,
    "AccountingCode": <string>,
    "DoArchive": <boolean>
  }

Payroll Class Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>
    "Id": <Guid>
    "ErrorMsgs":
    [
      {
        "Entity": <string>
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Create/Update Payroll Class Earning Code

URI

api/v1/Personnel/PayrollClasses/CreateOrUpdatePayrollClassEarningCode

Supported Verbs

Required Parameters

Data Model

Payroll Class Earning Code Model

  {
    "Id": <GUID>,
    "PayrollClassId": <GUID>,
    "QuantityType": <string>,
    "EarningCode": {
        "Id": <GUID>,
        "Name": <string>
    },
    "Factor": <decimal>,
    "Rate": <decimal>,
    "AccrualFactor": <decimal>,
    "EffectiveDate": <date>,
    "DoArchive": <boolean>
  }

Payroll Class Earning Code Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>
    "Id": <Guid>
    "ErrorMsgs":
    [
      {
        "Entity": <string>
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Find Payroll Class

URI

api/v1/Personnel/PayrollClasses/FindPayrollClasses

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "AccountingCode": <string>,
          "EarningCodes" [
              {
                  "Id": <GUID>,
                  "PayrollClassId": <GUID>,
                  "QuantityType": <string>,
                  "EarningCode": {
                      "Id": <GUID>,
                      "Name": <string>
                  },
                  "Factor": <decimal>,
                  "Rate": <decimal>,
                  "AccrualFactor": <decimal>,
                  "EffectiveDate": <date>
              }, ...
          ]
        },
        ...
      ]
    }
  }

Ship

Create/Update Ship

URI

api/v1/jobs/ships/CreateOrUpdateShip

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Ship Model

  {
    "Name": <string>,
    "MMSI": <string>,
    "IMONumber": <string>,
    "CallSign": <string>,
    "Nation": <string>,
    "ShipType": <string>,
    "Beam": <decimal>,
    "Deadweight": <decimal>,
    "GT": <decimal>,
    "Height": <decimal>,
    "NT": <decimal>,
    "Length": <decimal>,
    "LOA": <decimal>,
    "TEU": <decimal>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Ship Object Fields

Return Value

Action Accepted

  "Data":
  {
    "ActionType": <string>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Note: ImoNumber, MMSI, CallSign are not required fields when updating. However, one of them needs to be present when inserting.


Transaction

Transaction Counts by Division

URI

api/v1/jobs/transactions/TransactionCountsByDivision

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "DivisionCounts": []
    }
  }

With results

  {
    "Data":
    {
      "DivisionCounts": <Array>
      [
        {
          "DivisionId": <GUID>,
          "TransactionCount": <integer>
        }
      ]
    }
  }

Set Posted

URI

api/v1/jobs/Transactions/SetPosted

Supported Verbs

Required Parameters

Data Model

model

  {
    "Assignments": <Array>
    [
      {
        "TransactionId": <GUID>,
        "PostedDate": <date>,
        "ExternalTransactionNumber": <string>
      },
      ....
    ]
  }

Example

  api/v1/Jobs/Transactions/SetPosted
  {
    "Assignments":
    [
      {
        "TransactionId":"e0adc10c-e0d6-11e5-829b-b8ca3ad26410",
        "PostedDate": "2016-03-10T12:39:31-08:00"
      },
      {
        "TransactionId":"e0adc10d-e0d6-11e5-829b-b8ca3ad26410",
        "PostedDate": "2016-03-10T12:39:31-08:00"
      },
      ....
    ]
  }

Return Value

Details

URI

api/v1/jobs/Transactions/Details

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": [ ]
    }
  }

With Results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "ParentTransactionId": <GUID>,
          "ReversedTransactionId": <GUID>,
          "OriginalTransactionId": <GUID>,
          "GroupId": <GUID>,
          "TransactionNumber": <string>,
          "TransactionDate": <date>,
          "DueDate": <date>,
          "DivisionName": <string>,
          "DivisionShortName": <string>,
          "DivisionAccountingCode": <string>,
          "AccountName": <string>,
          "AccountNumber": <string>,
          "CompanyName": <string>,
          "CompanyShortName": <string>,
          "Note": <string>,
          "IsAR": <boolean>,
          "IsAP": <boolean>,
          "IsInvoice": <boolean>,
          "AccountingTerm":
          {
            "Name": <string>,
            "NumberOfDays", <integer>,
            "ExternalSystemCode", <string>
          },
          "Area":
          {
            "Name": <string>,
            "ShortName": <string>,
            "ExternalSystemCode": <string>
          },
          "Order":
          {
              "OrderNumber": <string>,
              "ShipName": <string>,
              "CustomerAccount": <string>,
              "CustomerPONumber": <string>,
              "VoyageNumber": <string>,
              "AgentAccountName": <string>,
              "AgentAccountNumber": <string>,
              "Trips": <Array>
              [
                {
                  "StartDate": <date>,
                  "EndDate": <date>                        
                }
              ]
          },
          "TransactionType":
          {
              "Id": <GUID>,
              "Name": <string>
          },
          "TransactionLines": <Array>
          [
            {
              "Id": <GUID>,
              "Rate": <decimal>,
              "Quantity": <decimal>,
              "Amount": <decimal>,
              "DetailDescription": <string>,
              "RevenueAllocations": <Array>
              [
                {
                  "Id": <GUID>,
                  "ReferenceTransactionLineId": <GUID>,
                  "Debit": <decimal>,
                  "Credit": <decimal>,
                  "DivisionId": <GUID>,
                  "AccountingCodes": <Array>
                  [
                    {
                      "Id": <GUID>,
                      "AccountingCode": <string>,
                      "EntityName": <string>,
                      "ReferenceType": <string>
                    }
                  ]
                }
              ]   
            }
          ]
        }
      ]
    }
  }

Trip

Create Trip

URI

api/v1/jobs/trips/CreateTrip

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Trip Model

  {
    "Order":
    {
      "Id": <GUID>,
      "OrderNumber": <string>,
    },
    "TripType":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "FromLocation":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "ToLocation":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "Status": <string>,
    "RequestedDate": <date>,
    "StartDate": <date>,
    "EndDate": <date>,
    "IsRequestedDateFirm": <boolean>,
    "EstimatedDuration": <decimal>,
    "NumberRequiredResources": <int>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "Jobs": <Array>
    [
      <JobModel>,
      ....
    ]
  }

Job Model

  {
    "RequiredResourceType":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "StartDate": <date>,
    "EndDate": <date>,
    "PlannedStartDate": <date>,
    "PlannedEndDate": <date>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Trip Object Fields

Job Object Fields

Return Value

With no results

  {
    "Data":
    {
      "LogMessages": <Array>
      [
        {
          "Message": <string>,
          "Entity": <string>
        },
        ....
      ]
    }
  }

With results

  {
    "Data":
    {
      "TripId": <GUID>,
      "LogMessages": <Array>
      [
        {
          "Message": <string>,
          "Entity": <string>
        },
        ....
      ]
    }
  }

Update Trip

URI

api/v1/jobs/trips/UpdateTrip

Supported Verbs

Required Parameters

Optional Parameters

Data Model

Trip Model

  {
    "Id": <GUID>,
    "TripType":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "FromLocation":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "ToLocation":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "Status": <string>,
    "RequestedDate": <date>,
    "StartDate": <date>,
    "EndDate": <date>,
    "IsRequestedDateFirm": <boolean>,
    "EstimatedDuration": <decimal>,
    "NumberRequiredResources": <int>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "Jobs": <Array>
    [
      <JobModel>,
      ....
    ]
  }

Job Model

  {
    "Id": <GUID>,
    "RequiredResourceType":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "StartDate": <date>,
    "EndDate": <date>,
    "PlannedStartDate": <date>,
    "PlannedEndDate": <date>,
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details)
  }

Trip Object Fields

Job Object Fields

Return Value

With no results

  {
    "Data":
    {
      "LogMessages": <Array>
      [
        {
          "Message": <string>,
          "Entity": <string>
        },
        ....
      ]
    }
  }

With results

  {
    "Data":
    {
      "TripId": <GUID>,
      "LogMessages": <Array>
      [
        {
          "Message": <string>,
          "Entity": <string>
        },
        ....
      ]
    }
  }

User

Create/Update User

URI

api/v1/jobs/users/CreateOrUpdateUser

Supported Verbs

Required Parameters

Data Model

User Model

  {
    "Id": <GUID>,
    "FirstName": <string>,
    "MiddleName": <string>,
    "LastName": <string>,
    "Suffix": <string>,
    "PreferredName": <string>,
    "LdapName": <string>,
    "Email": <string>,
    "EmployeeNumber": <string>,
    "HomePhoneNumber": <string>,
    "CellPhoneNumber": <string>,
    "Birthday": <date>,
    "CanLogIn": <boolean>,
    "CanLogInToBoat": <boolean>,
    "IsActiveEmployee": <boolean>,
    "Division":
    {
      "Id": <GUID>,
      "Name": <string>,
      "ExternalSystemCode": <string>
    },
    "SecondaryDivisions":    
    [
      {
        "Id": <GUID>,
        "Name": <string>,
        "ExternalSystemCode": <string>
      },
      ....
    ]    
    "Roles":
    [
      {
        "Id": <GUID>,
        "Name": <string>
      },
      ....
    ]    
    "Positions":
    [
      {
        "Id": <GUID>,
        "Name": <string>,
        "EffectivePositions":
        [
         {
           "Id": <GUID>,
           "HireDate": <date>,
           "TerminateDate": <date>
         },    
         ....
        ]
      },
      ....
    ]    
    "Department":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "RotationType":
    {
      "Id": <GUID>,
      "Name": <string>
    },
    "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
    "PayrollClassHistory": 
    {
      "Upsert":
      [
        {
            "Id": <GUID>,
            "PayrollClass": {
                "Id": <GUID>,
                "Name": <string>
            },
            "EffectiveDate": <date>
        },
        ...
      ],
      "Delete": [
          <GUID>,
          ...
      ]
    }
  }

User Object Fields

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>,
    "Id": <Guid>,
    "ErrorMsgs":
    [
      {
        "Entity": <string>,
        "Message": <string>
      },
      ....
    ]
  }

Action Rejected

  "Data": <Array>

Create/Update User Image

URI

api/v1/jobs/users/CreateOrUpdateUserImage

Supported Verbs

Required Parameters

Return Value

Action Accepted

  Data:
  {
    "ActionType": <string>
  }

Action Rejected

  "Data": <Array>

Find Users

URI

api/v1/jobs/users/FindUsers

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "FirstName": <string>,
          "PreferredName": <string>,
          "MiddleName": <string>,
          "LastName": <string>,
          "Suffix": <string>,
          "LdapName": <string>,
          "Email": <string>,
          "EmployeeNumber": <string>,
          "HomePhoneNumber": <string>,
          "CellPhoneNumber": <string>,
          "Birthday": <date>,
          "CanLogIn": <boolean>,
          "CanLogInToBoat": <boolean>,
          "IsActiveEmployee": <boolean>,
          "UserDefined": User Defined Data Model (see User Defined Fields section for more details),
          "PayrollClassHistory": <Array>
          [
            {
              "Id": <GUID>,
              "PayrollClass":
              {
                  "Id": <GUID>,
                  "Name": <string>  
              },
              "EffectiveDate": <data>
            },
            ....
          ],
          "RotationType":
          {
            "Id": <GUID>,
            "Name": <string>  
          },
          "Division":
          {
            "Id": <GUID>,
            "Name": <string>,
            "ExternalSystemCode": <string>
          },
          "SecondaryDivisions":    
          [
            {
              "Id": <GUID>,
              "Name": <string>,
              "ExternalSystemCode": <string>
            },
            ....
          ],
          "AssignedAsset":
          {
            "Id": <GUID>,
            "Name": <string>
          },
          "Roles":
          [
            {
              "Id": <GUID>,
              "Name": <string>
            },
            ....
          ],
          "Positions":
          [
            {
              "Id": <GUID>,
              "Name": <string>,
              "EffectivePositions":
              [
               {
                 "Id": <GUID>,
                 "HireDate": <date>,
                 "TerminateDate": <date>
               },    
               ....
              ]
            },
            ....
          ],
          "Department":
          {
            "Id": <GUID>,
            "Name": <string>
          }
        },
        ....
      ]
    }
  }

Divisions

Find Divisions

URI

api/v1/jobs/Divisions/FindDivisions

Supported Verbs

Required Parameters

Optional Parameters

Return Value

With no results

  {
    "Data":
    {
      "TotalCount": 0,
      "Page": []
    }
  }

With results

  {
    "Data":
    {
      "TotalCount": <integer>,
      "Page": <Array>
      [
        {
          "Id": <GUID>,
          "Name": <string>,
          "ShortName": <string>,
          "ExternalSystemCode": <string>,
          "AccountingCode": <string>,
          "DivisionType":
          {
            "Id": <GUID>,
            "Name": <string>  
          },
        },
        ...
      ]
    }
  }