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.
OOP reason codes value. Either linked to default policy or actual values.
OOP reason codes value. Either linked to default policy or actual values.
OOP reason codes value. Either linked to default policy or actual values.
OOP reason codes value. Either linked to default policy or actual values.
curl -i -X POST \ 'https://apis.spotnana.com/v2/companies/{companyId}/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/{companyId}/policies?categories=EMPLOYEE' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "length": 0, "elements": [ { … } ] }
curl -i -X GET \ 'https://apis.spotnana.com/v2/companies/{companyId}/policies/{policyId}' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
OK
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.
OOP reason codes value. Either linked to default policy or actual values.
OOP reason codes value. Either linked to default policy or actual values.
OOP reason codes value. Either linked to default policy or actual values.
OOP reason codes value. Either linked to default policy or actual values.
{ "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" }
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.
OOP reason codes value. Either linked to default policy or actual values.
OOP reason codes value. Either linked to default policy or actual values.
OOP reason codes value. Either linked to default policy or actual values.
OOP reason codes value. Either linked to default policy or actual values.
curl -i -X PUT \ 'https://apis.spotnana.com/v2/companies/{companyId}/policies/{policyId}' \ -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" }'
{ "debugIdentifier": "string", "errorMessages": [ { … } ] }
curl -i -X DELETE \ 'https://apis.spotnana.com/v2/companies/{companyId}/policies/{policyId}' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "debugIdentifier": "string", "errorMessages": [ { … } ] }