APIs to configure company travel policies.
Policy to inherit the values of linked rules. If empty, consider the company default policy.
True if agent can override the PREVENT_BOOKING action. If enabled, outOfPolicyAgentApprovalInfos for all travel types should be provided.
A list of general policy rules for all travel types air, hotel, car and rail.
Out of policy reason code question to be asked to user for air booking.
Out of policy reason code question to be asked to user for hotel booking.
Out of policy reason code question to be asked to user for car booking.
Out of policy reason code question to be asked to user for rail booking.
curl -i -X POST \
https://apis.spotnana.com/v2/companies/4974a66b-7493-4f41-908c-58ba81093947/policies \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"type": "GROUP",
"parentPolicyId": "f7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b",
"currency": {
"currencyCode": "USD"
},
"inPolicyApprovalInfo": {
"approvalProcessType": "NONE",
"designatedApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"isManagerApprover": false,
"isEmployeeLevelDesignatedApprover": false,
"shouldNotifyManager": false,
"travelTypes": [
"AIR"
],
"approvalConditions": [
{
"rules": [
{
"travelRegionRule": {
"travelRegionType": "DOMESTIC"
}
}
]
}
],
"defaultApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]
},
"outOfPolicyApprovalInfo": {
"approvalProcessType": "NONE",
"designatedApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"isManagerApprover": false,
"isEmployeeLevelDesignatedApprover": false,
"shouldNotifyManager": false,
"travelTypes": [
"AIR"
],
"approvalConditions": [
{
"rules": [
{
"travelRegionRule": {
"travelRegionType": "DOMESTIC"
}
}
]
}
],
"defaultApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]
},
"inPolicyApprovalInfos": [
{
"approvalProcessType": "NONE",
"designatedApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"isManagerApprover": false,
"isEmployeeLevelDesignatedApprover": false,
"shouldNotifyManager": false,
"travelTypes": [
"AIR"
],
"approvalConditions": [
{
"rules": [
{
"travelRegionRule": {}
}
]
}
],
"defaultApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]
}
],
"outOfPolicyApprovalInfos": [
{
"approvalProcessType": "NONE",
"designatedApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"isManagerApprover": false,
"isEmployeeLevelDesignatedApprover": false,
"shouldNotifyManager": false,
"travelTypes": [
"AIR"
],
"approvalConditions": [
{
"rules": [
{
"travelRegionRule": {}
}
]
}
],
"defaultApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]
}
],
"outOfPolicyAgentApprovalInfos": [
{
"approvalProcessType": "NONE",
"designatedApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"isManagerApprover": false,
"isEmployeeLevelDesignatedApprover": false,
"shouldNotifyManager": false,
"travelTypes": [
"AIR"
],
"approvalConditions": [
{
"rules": [
{
"travelRegionRule": {}
}
]
}
],
"defaultApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]
}
],
"enableAgentActionOverride": true,
"userGroups": [
{
"userIds": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"legalEntityIds": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"officeIds": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"departments": [
"string"
],
"costCenters": [
"string"
],
"grades": [
"string"
],
"positionTitles": [
"string"
],
"personas": [
"EMPLOYEE"
],
"customFieldIds": [
{
"type": "QUESTION",
"externalId": "string"
}
],
"countryCodes": [
"GB"
],
"workerTypes": [
"EMPLOYEE"
],
"accountingCodes": [
"string"
]
}
],
"commonPolicyRules": {
"restrictedContinents": {
"isLinked": true
},
"restrictedCountries": {
"isLinked": true
}
},
"carPolicyRules": {
"maxCarPricePerNumberOfDays": {
"isLinked": true
},
"allowedCarTypes": {
"isLinked": true
}
},
"hotelPolicyRules": {
"restrictedHotels": {
"isLinked": true
},
"maxHotelPriceByLocation": {
"isLinked": true
},
"hotelAdvanceBookingWindow": {
"isLinked": true
},
"hotelCancellation": {
"isLinked": true
},
"hotelChainCodes": {
"isLinked": true
},
"hotelStarRating": {
"isLinked": true
},
"hotelMedianRateNightly": {
"isLinked": true
}
},
"airPolicyRules": {
"restrictedAirlines": {
"isLinked": true
},
"restrictedAirCrafts": {
"isLinked": true
},
"maxFlightBookingPriceByDuration": {
"isLinked": true
},
"flightCabinUpgrade": {
"isLinked": true
},
"flightAdvanceBookingWindow": {
"isLinked": true
},
"flightTicketsRefundable": {
"isLinked": true
},
"flightTicketsChangeable": {
"isLinked": true
},
"highestFlightCabinByDurationDomestic": {
"isLinked": true
},
"highestFlightCabinByDurationInternational": {
"isLinked": true
},
"highestFlightCabinOvernight": {
"isLinked": true
},
"differenceBetweenFlightFareAndMedianFare": {
"isLinked": true
},
"co2EmissionPerPassengerPerKm": {
"isLinked": true
},
"maxFlightBookingPriceInternational": {
"isLinked": true
},
"maxFlightBookingPriceDomestic": {
"isLinked": true
},
"lowestLogicalFare": {
"isLinked": true
}
},
"isRestrictive": true,
"rules": [
{
"ruleType": "CAR_TYPES_NOT_ALLOWED",
"action": {
"preventBooking": {
"prevent": false,
"reason": "string"
}
},
"policyValue": {
"isLinked": true
}
}
],
"airOopReasonCodes": {
"props": {
"reasonCodes": [
{
"entityId": "string",
"displayInfo": "string",
"questionFormat": "CHECKBOX",
"options": [
{
"displayCode": "string",
"displayValue": "string"
}
],
"isRequired": true,
"isDisabled": true
}
]
}
},
"hotelOopReasonCodes": {
"props": {
"reasonCodes": [
{
"entityId": "string",
"displayInfo": "string",
"questionFormat": "CHECKBOX",
"options": [
{
"displayCode": "string",
"displayValue": "string"
}
],
"isRequired": true,
"isDisabled": true
}
]
}
},
"carOopReasonCodes": {
"props": {
"reasonCodes": [
{
"entityId": "string",
"displayInfo": "string",
"questionFormat": "CHECKBOX",
"options": [
{
"displayCode": "string",
"displayValue": "string"
}
],
"isRequired": true,
"isDisabled": true
}
]
}
},
"railOopReasonCodes": {
"props": {
"reasonCodes": [
{
"entityId": "string",
"displayInfo": "string",
"questionFormat": "CHECKBOX",
"options": [
{
"displayCode": "string",
"displayValue": "string"
}
],
"isRequired": true,
"isDisabled": true
}
]
}
},
"category": "EMPLOYEE"
}'
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }
curl -i -X GET \
'https://apis.spotnana.com/v2/companies/4974a66b-7493-4f41-908c-58ba81093947/policies?categories=EMPLOYEE' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "length": 0, "elements": [ { … } ] }
curl -i -X GET \
https://apis.spotnana.com/v2/companies/4974a66b-7493-4f41-908c-58ba81093947/policies/4974a66b-7493-4f41-908c-58ba81093947 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
OK
User group details if membership is via HR feed. Read-only.
Policy to inherit the values of linked rules. If empty, consider the company default policy.
True if agent can override the PREVENT_BOOKING action. If enabled, outOfPolicyAgentApprovalInfos for all travel types should be provided.
A list of general policy rules for all travel types air, hotel, car and rail.
Out of policy reason code question to be asked to user for air booking.
Out of policy reason code question to be asked to user for hotel booking.
Out of policy reason code question to be asked to user for car booking.
Out of policy reason code question to be asked to user for rail booking.
{ "id": "4974a66b-7493-4f41-908c-58ba81093947", "version": 0, "updatedAt": { "iso8601": "2017-07-21T17:32Z" }, "isMembershipViaHrFeed": true, "hrFeedPolicyDetails": { "totalMemberCount": 0 }, "name": "string", "type": "GROUP", "parentPolicyId": "f7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b", "currency": { "currencyCode": "USD" }, "inPolicyApprovalInfo": { "approvalProcessType": "NONE", "designatedApprovers": [ … ], "isManagerApprover": false, "isEmployeeLevelDesignatedApprover": false, "shouldNotifyManager": false, "travelTypes": [ … ], "approvalConditions": [ … ], "defaultApprovers": [ … ] }, "outOfPolicyApprovalInfo": { "approvalProcessType": "NONE", "designatedApprovers": [ … ], "isManagerApprover": false, "isEmployeeLevelDesignatedApprover": false, "shouldNotifyManager": false, "travelTypes": [ … ], "approvalConditions": [ … ], "defaultApprovers": [ … ] }, "inPolicyApprovalInfos": [ { … } ], "outOfPolicyApprovalInfos": [ { … } ], "outOfPolicyAgentApprovalInfos": [ { … } ], "enableAgentActionOverride": true, "userGroups": [ { … } ], "commonPolicyRules": { "restrictedContinents": { … }, "restrictedCountries": { … } }, "carPolicyRules": { "maxCarPricePerNumberOfDays": { … }, "allowedCarTypes": { … } }, "hotelPolicyRules": { "restrictedHotels": { … }, "maxHotelPriceByLocation": { … }, "hotelAdvanceBookingWindow": { … }, "hotelCancellation": { … }, "hotelChainCodes": { … }, "hotelStarRating": { … }, "hotelMedianRateNightly": { … } }, "airPolicyRules": { "restrictedAirlines": { … }, "restrictedAirCrafts": { … }, "maxFlightBookingPriceByDuration": { … }, "flightCabinUpgrade": { … }, "flightAdvanceBookingWindow": { … }, "flightTicketsRefundable": { … }, "flightTicketsChangeable": { … }, "highestFlightCabinByDurationDomestic": { … }, "highestFlightCabinByDurationInternational": { … }, "highestFlightCabinOvernight": { … }, "differenceBetweenFlightFareAndMedianFare": { … }, "co2EmissionPerPassengerPerKm": { … }, "maxFlightBookingPriceInternational": { … }, "maxFlightBookingPriceDomestic": { … }, "lowestLogicalFare": { … } }, "isRestrictive": true, "rules": [ { … } ], "airOopReasonCodes": { "props": { … } }, "hotelOopReasonCodes": { "props": { … } }, "carOopReasonCodes": { "props": { … } }, "railOopReasonCodes": { "props": { … } }, "category": "EMPLOYEE" }
User group details if membership is via HR feed. Read-only.
Policy to inherit the values of linked rules. If empty, consider the company default policy.
True if agent can override the PREVENT_BOOKING action. If enabled, outOfPolicyAgentApprovalInfos for all travel types should be provided.
A list of general policy rules for all travel types air, hotel, car and rail.
Out of policy reason code question to be asked to user for air booking.
Out of policy reason code question to be asked to user for hotel booking.
Out of policy reason code question to be asked to user for car booking.
Out of policy reason code question to be asked to user for rail booking.
curl -i -X PUT \
https://apis.spotnana.com/v2/companies/4974a66b-7493-4f41-908c-58ba81093947/policies/4974a66b-7493-4f41-908c-58ba81093947 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"id": "4974a66b-7493-4f41-908c-58ba81093947",
"version": 0,
"updatedAt": {
"iso8601": "2017-07-21T17:32Z"
},
"isMembershipViaHrFeed": true,
"hrFeedPolicyDetails": {
"totalMemberCount": 0
},
"name": "string",
"type": "GROUP",
"parentPolicyId": "f7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b",
"currency": {
"currencyCode": "USD"
},
"inPolicyApprovalInfo": {
"approvalProcessType": "NONE",
"designatedApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"isManagerApprover": false,
"isEmployeeLevelDesignatedApprover": false,
"shouldNotifyManager": false,
"travelTypes": [
"AIR"
],
"approvalConditions": [
{
"rules": [
{
"travelRegionRule": {
"travelRegionType": "DOMESTIC"
}
}
]
}
],
"defaultApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]
},
"outOfPolicyApprovalInfo": {
"approvalProcessType": "NONE",
"designatedApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"isManagerApprover": false,
"isEmployeeLevelDesignatedApprover": false,
"shouldNotifyManager": false,
"travelTypes": [
"AIR"
],
"approvalConditions": [
{
"rules": [
{
"travelRegionRule": {
"travelRegionType": "DOMESTIC"
}
}
]
}
],
"defaultApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]
},
"inPolicyApprovalInfos": [
{
"approvalProcessType": "NONE",
"designatedApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"isManagerApprover": false,
"isEmployeeLevelDesignatedApprover": false,
"shouldNotifyManager": false,
"travelTypes": [
"AIR"
],
"approvalConditions": [
{
"rules": [
{
"travelRegionRule": {}
}
]
}
],
"defaultApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]
}
],
"outOfPolicyApprovalInfos": [
{
"approvalProcessType": "NONE",
"designatedApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"isManagerApprover": false,
"isEmployeeLevelDesignatedApprover": false,
"shouldNotifyManager": false,
"travelTypes": [
"AIR"
],
"approvalConditions": [
{
"rules": [
{
"travelRegionRule": {}
}
]
}
],
"defaultApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]
}
],
"outOfPolicyAgentApprovalInfos": [
{
"approvalProcessType": "NONE",
"designatedApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"isManagerApprover": false,
"isEmployeeLevelDesignatedApprover": false,
"shouldNotifyManager": false,
"travelTypes": [
"AIR"
],
"approvalConditions": [
{
"rules": [
{
"travelRegionRule": {}
}
]
}
],
"defaultApprovers": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]
}
],
"enableAgentActionOverride": true,
"userGroups": [
{
"userIds": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"legalEntityIds": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"officeIds": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
],
"departments": [
"string"
],
"costCenters": [
"string"
],
"grades": [
"string"
],
"positionTitles": [
"string"
],
"personas": [
"EMPLOYEE"
],
"customFieldIds": [
{
"type": "QUESTION",
"externalId": "string"
}
],
"countryCodes": [
"GB"
],
"workerTypes": [
"EMPLOYEE"
],
"accountingCodes": [
"string"
]
}
],
"commonPolicyRules": {
"restrictedContinents": {
"isLinked": true
},
"restrictedCountries": {
"isLinked": true
}
},
"carPolicyRules": {
"maxCarPricePerNumberOfDays": {
"isLinked": true
},
"allowedCarTypes": {
"isLinked": true
}
},
"hotelPolicyRules": {
"restrictedHotels": {
"isLinked": true
},
"maxHotelPriceByLocation": {
"isLinked": true
},
"hotelAdvanceBookingWindow": {
"isLinked": true
},
"hotelCancellation": {
"isLinked": true
},
"hotelChainCodes": {
"isLinked": true
},
"hotelStarRating": {
"isLinked": true
},
"hotelMedianRateNightly": {
"isLinked": true
}
},
"airPolicyRules": {
"restrictedAirlines": {
"isLinked": true
},
"restrictedAirCrafts": {
"isLinked": true
},
"maxFlightBookingPriceByDuration": {
"isLinked": true
},
"flightCabinUpgrade": {
"isLinked": true
},
"flightAdvanceBookingWindow": {
"isLinked": true
},
"flightTicketsRefundable": {
"isLinked": true
},
"flightTicketsChangeable": {
"isLinked": true
},
"highestFlightCabinByDurationDomestic": {
"isLinked": true
},
"highestFlightCabinByDurationInternational": {
"isLinked": true
},
"highestFlightCabinOvernight": {
"isLinked": true
},
"differenceBetweenFlightFareAndMedianFare": {
"isLinked": true
},
"co2EmissionPerPassengerPerKm": {
"isLinked": true
},
"maxFlightBookingPriceInternational": {
"isLinked": true
},
"maxFlightBookingPriceDomestic": {
"isLinked": true
},
"lowestLogicalFare": {
"isLinked": true
}
},
"isRestrictive": true,
"rules": [
{
"ruleType": "CAR_TYPES_NOT_ALLOWED",
"action": {
"preventBooking": {
"prevent": false,
"reason": "string"
}
},
"policyValue": {
"isLinked": true
}
}
],
"airOopReasonCodes": {
"props": {
"reasonCodes": [
{
"entityId": "string",
"displayInfo": "string",
"questionFormat": "CHECKBOX",
"options": [
{
"displayCode": "string",
"displayValue": "string"
}
],
"isRequired": true,
"isDisabled": true
}
]
}
},
"hotelOopReasonCodes": {
"props": {
"reasonCodes": [
{
"entityId": "string",
"displayInfo": "string",
"questionFormat": "CHECKBOX",
"options": [
{
"displayCode": "string",
"displayValue": "string"
}
],
"isRequired": true,
"isDisabled": true
}
]
}
},
"carOopReasonCodes": {
"props": {
"reasonCodes": [
{
"entityId": "string",
"displayInfo": "string",
"questionFormat": "CHECKBOX",
"options": [
{
"displayCode": "string",
"displayValue": "string"
}
],
"isRequired": true,
"isDisabled": true
}
]
}
},
"railOopReasonCodes": {
"props": {
"reasonCodes": [
{
"entityId": "string",
"displayInfo": "string",
"questionFormat": "CHECKBOX",
"options": [
{
"displayCode": "string",
"displayValue": "string"
}
],
"isRequired": true,
"isDisabled": true
}
]
}
},
"category": "EMPLOYEE"
}'
curl -i -X DELETE \
https://apis.spotnana.com/v2/companies/4974a66b-7493-4f41-908c-58ba81093947/policies/4974a66b-7493-4f41-908c-58ba81093947 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'