APIs to configure company travel policies.
Policy to inherit the values of linked rules. If empty, consider the company default policy.
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://developer.spotnana.com/_mock/openapi/policyapi/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" } ] } ], "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://developer.spotnana.com/_mock/openapi/policyapi/v2/companies/{companyId}/policies?categories=EMPLOYEE' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "length": 0, "elements": [ { … } ] }
curl -i -X GET \ 'https://developer.spotnana.com/_mock/openapi/policyapi/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.
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": [ { … } ], "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.
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://developer.spotnana.com/_mock/openapi/policyapi/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" } ] } ], "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://developer.spotnana.com/_mock/openapi/policyapi/v2/companies/{companyId}/policies/{policyId}' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "debugIdentifier": "string", "errorMessages": [ { … } ] }