ClientFeeContract Data Type

An agreement between the TMC and client that explains when debts are accrued by the client to the TMC. Created by nick on 4/16/14.

Properties
name data type constraints description
hidden boolean required boolean True / false if this contract can be copied as a template for new clients.
name string   A descriptive name for this contract.
startDate number   A date that the contract begins.
endDate number   A date that the contract expires.
client Client   The client that this contract applies to.
accountant User   The accountant who has taken responsibility for upholding this contract.
active boolean required boolean Active means that the fee contract is currently active. This means that it might come into effect on a PNR.
lowerLimit number   The lower limit when this contract will be applied.
upperLimit number   The upper limit when this contract will be applied.
serviceFees array of ClientServiceFee   A set of service fees that will be applied when this contract is active.
flatFees array of ClientFlatFee  
waiveVoids boolean required boolean True / False on whether we waive the charges for voided tickets.
pending boolean required boolean True / False on whether this contract is awaiting approval by accounting. We keep this split from the active status because we may use it in the future to keep track of the AM to Accountant communication.
timestamp number   The last edited time of this service fee contract.
Properties inherited from BaseHibernateEntity
id number   The unique internal ID of the object.
version number   For internal use only. This is the serialization recorder for optimistic locking of several objects between sessions.
Properties inherited from BaseEntity
violations array of SimpleViolation   A list of constraint violations, if any, that this object has.

Example

{
  "hidden" : true,
  "name" : "...",
  "startDate" : 12345,
  "endDate" : 12345,
  "client" : {
    "status" : {
      "name" : "...",
      "active" : true,
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "parentClient" : { },
    "accountNumber" : "...",
    "name" : "...",
    "type" : {
      "name" : "...",
      "hide" : true,
      "level" : 12345,
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "id" : 12345,
    "version" : 12345,
    "violations" : [ {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    }, {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    } ]
  },
  "accountant" : {
    "answer" : "...",
    "emailed" : true,
    "newUser" : true,
    "temporaryPassword" : "...",
    "question" : "...",
    "obeUserName" : "...",
    "obePassword" : "...",
    "obeSyncId" : "...",
    "created" : 12345,
    "modifiedDate" : 12345,
    "emailedWhen" : 12345,
    "travelgpaLogin" : "...",
    "groups" : [ {
      "name" : "...",
      "permissions" : [ { }, { } ],
      "description" : "...",
      "role" : { },
      "type" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    }, {
      "name" : "...",
      "permissions" : [ { }, { } ],
      "description" : "...",
      "role" : { },
      "type" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    } ],
    "active" : true,
    "prefix" : "...",
    "firstName" : "...",
    "lastName" : "...",
    "middleName" : "...",
    "suffix" : "...",
    "email" : "...",
    "tripitAuthorized" : true,
    "supportTitle" : "...",
    "automatedNotifications" : true,
    "enableHotelAttachment" : true,
    "atHomeNotificationMethod" : {
      "name" : "...",
      "code" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "inTravelNotificationMethod" : {
      "name" : "...",
      "code" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "cellPhoneNumber" : "...",
    "userCurrentClient" : {
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "defaultClient" : {
      "status" : { },
      "parentClient" : { },
      "accountNumber" : "...",
      "name" : "...",
      "type" : { },
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "defaultPlannerGroup" : {
      "status" : { },
      "parentClient" : { },
      "accountNumber" : "...",
      "name" : "...",
      "type" : { },
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "showWelcomeDialog" : true,
    "siteTour" : true,
    "unusedTicketEmail" : true,
    "surveyEmail" : true,
    "wt0EmailEnabled" : true,
    "wt0EmailDaily" : true,
    "wt0EmailDay" : 12345,
    "wt0EmailHour" : 12345,
    "marketingSubscribed" : true,
    "responsive" : true,
    "businessPhoneNumber" : "...",
    "homePhoneNumber" : "...",
    "id" : 12345,
    "version" : 12345,
    "violations" : [ {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    }, {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    } ]
  },
  "active" : true,
  "lowerLimit" : 12345.0,
  "upperLimit" : 12345.0,
  "serviceFees" : [ {
    "amount" : 12345.0,
    "order" : 12345,
    "laborer" : {
      "code" : "...",
      "name" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "product" : {
      "code" : "...",
      "name" : "...",
      "accuracy" : 12345,
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "accrualFrequency" : {
      "code" : "...",
      "name" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "payType" : {
      "code" : "...",
      "name" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "payFrequency" : {
      "code" : "...",
      "name" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "paymentForm" : {
      "client" : { },
      "payType" : { },
      "maskedNumber" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "surcharge" : true,
    "onAirline" : {
      "airlineNumber" : 12345,
      "checkinLink" : "...",
      "baggageLink" : "...",
      "alliance" : { },
      "lowCostCarrier" : true,
      "longCode" : "...",
      "manualTicketingOnly" : true,
      "airTicketsUseOrigIssueDate" : true,
      "mcoTicketsUseOrigIssueDate" : true,
      "minDomesticValue" : 12345,
      "minIntlValue" : 12345,
      "position" : 12345,
      "imageUrl" : "...",
      "code" : "...",
      "name" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "id" : 12345,
    "version" : 12345,
    "violations" : [ {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    }, {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    } ]
  }, {
    "amount" : 12345.0,
    "order" : 12345,
    "laborer" : {
      "code" : "...",
      "name" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "product" : {
      "code" : "...",
      "name" : "...",
      "accuracy" : 12345,
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "accrualFrequency" : {
      "code" : "...",
      "name" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "payType" : {
      "code" : "...",
      "name" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "payFrequency" : {
      "code" : "...",
      "name" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "paymentForm" : {
      "client" : { },
      "payType" : { },
      "maskedNumber" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "surcharge" : true,
    "onAirline" : {
      "airlineNumber" : 12345,
      "checkinLink" : "...",
      "baggageLink" : "...",
      "alliance" : { },
      "lowCostCarrier" : true,
      "longCode" : "...",
      "manualTicketingOnly" : true,
      "airTicketsUseOrigIssueDate" : true,
      "mcoTicketsUseOrigIssueDate" : true,
      "minDomesticValue" : 12345,
      "minIntlValue" : 12345,
      "position" : 12345,
      "imageUrl" : "...",
      "code" : "...",
      "name" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "id" : 12345,
    "version" : 12345,
    "violations" : [ {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    }, {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    } ]
  } ],
  "flatFees" : [ {
    "payFrequency" : {
      "code" : "...",
      "name" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "amount" : "...",
    "description" : "...",
    "id" : 12345,
    "version" : 12345,
    "violations" : [ {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    }, {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    } ]
  }, {
    "payFrequency" : {
      "code" : "...",
      "name" : "...",
      "id" : 12345,
      "version" : 12345,
      "violations" : [ { }, { } ]
    },
    "amount" : "...",
    "description" : "...",
    "id" : 12345,
    "version" : 12345,
    "violations" : [ {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    }, {
      "propertyName" : "...",
      "failureMessage" : "...",
      "stackTrace" : "..."
    } ]
  } ],
  "waiveVoids" : true,
  "pending" : true,
  "timestamp" : 12345,
  "id" : 12345,
  "version" : 12345,
  "violations" : [ {
    "propertyName" : "...",
    "failureMessage" : "...",
    "stackTrace" : "..."
  }, {
    "propertyName" : "...",
    "failureMessage" : "...",
    "stackTrace" : "..."
  } ]
}