Validation humaine des voyages et des frais

Les voyages courants se réservent seuls. Les exceptions demandent un accord.

Votre agent réserve ce qui respecte la politique et envoie les exceptions au téléphone du responsable du budget.

Comment laisser un agent de voyages réserver seul et demander un accord pour les exceptions ?

Pushary permet à votre agent de voyages de réserver automatiquement dans les limites de votre politique et de demander un accord pour les exceptions. Votre code vérifie le tarif. Un prix hors plafond, un surclassement ou des frais excessifs déclenchent une demande sur le téléphone du responsable du budget. Il accepte, refuse ou saisit une consigne, comme « cherchez moins cher ». Sans réponse avant l’expiration du tarif, aucune réservation ni aucun débit n’a lieu.

Ce qui demande un accord

Les actions à ne pas laisser partir seules

bookFlight(itinerary, fareClass)
Un tarif au-dessus du plafond peut ne rester disponible que quelques minutes. Quand l’e-mail est enfin lu, le prix a déjà changé.
upgradeCabin(bookingRef, cabin)
La classe autorisée dépend parfois de la durée du vol, du voyageur ou du client qui paie. Ces règles ne sont pas toujours écrites. Une personne tranche le cas particulier.
approveExpense(reportId, amount)
Rembourser des frais au-delà du plafond fait sortir de l’argent sans retour simple. Lors d’un contrôle, l’identité de la personne qui a autorisé compte autant que la réponse.
rebookDisruption(bookingRef, newItinerary)
Un vol annulé à six heures du matin est un cas où l’agent aide beaucoup. Un billet plus cher peut être nécessaire, mais doit rester une décision explicite.
issueTravelAdvance(employeeId, amount)
Une avance verse de l’argent avant qu’un justificatif existe. Les contrôles habituels après le voyage ne s’appliquent pas encore. La validation est alors le contrôle essentiel.

Le code

Un appel dans votre étape existante

Encadrez l’action concernée, pas l’agent entier. Les tâches sans risque continuent sans demander d’intervention.

bash
npm i @pushary/server
un appel
import { createPusharyServer } from "@pushary/server"

const px = createPusharyServer({ apiKey: process.env.PUSHARY_API_KEY! })

async function book(trip: TripRequest, fare: Fare) {
  // In policy and under the ceiling: the agent just books it.
  if (fare.total <= POLICY.ceilingFor(trip.route) && fare.cabin === "economy") {
    return bookFlight(trip.itinerary, fare.cabin)
  }

  const decision = await px.decisions.ask({
    externalId: trip.budgetOwnerId,
    type: "confirm",
    question: `Approve ${fare.currency}${fare.total} for ${trip.traveller}? Policy ceiling is ${POLICY.ceilingFor(trip.route)}.`,
    timeoutMs: 9 * 60 * 1000,
  })

  if (!decision.approved) return holdForCheaperFare(trip)
  return bookFlight(trip.itinerary, fare.cabin)
}

Qui décide

Décider sans être devant son ordinateur

La décision revient à la personne qui porte le budget : généralement le responsable hiérarchique ou du centre de coûts. L’équipe voyages gère les règles, mais pas toujours la dépense. Une boîte partagée peut donc recevoir des demandes que personne ne peut autoriser. Pushary joint le responsable sur son téléphone et conserve sa réponse sous son nom.

Notre outil de réservation prévoit déjà une validation. Pourquoi en ajouter une ?

Cette validation prend souvent la forme d’un e-mail qui renvoie vers un portail rarement ouvert. Cela convient à un voyage prévu dans trois semaines. Beaucoup moins à un tarif qui expire dans neuf minutes ou à un vol annulé tôt le matin. Pushary ne remplace ni votre politique ni votre outil de réservation. Il envoie l’exception sur le téléphone de la personne compétente, avec un délai. Sans réponse, la réservation reste bloquée. Chaque décision est enregistrée avec son auteur et sa date, puis exportable. Si votre validation actuelle obtient déjà une réponse avant l’expiration du tarif, vous n’avez pas besoin d’une étape supplémentaire.

Pour approfondir : Publication 463 de l’IRS sur les justificatifs de frais de voyage, Barèmes journaliers de la GSA, utilisés par de nombreuses politiques de voyage américaines.

$99/ mois, offre Partner

Intégrez-le à votre produit. Vos utilisateurs ne créent pas de compte Pushary et ne nous paient rien.

What the Partner plan covers

Questions fréquentes

Les réponses à vos questions

L’agent peut-il réserver seul dans les limites et ne demander que les exceptions ?
Oui. Comparez le tarif à votre plafond dans le code, puis réservez s’il le respecte. Pour une exception, indiquez la limite et le dépassement dans la question. Si les exceptions restent rares, la majorité des réservations ne demande aucune intervention.
Que se passe-t-il si personne ne répond avant l’expiration du tarif ?
La réservation n’a pas lieu. Fixez un délai inférieur à la durée de maintien du tarif. Ensuite, votre agent peut chercher moins cher, relancer la recherche ou demander à une autre personne. La demande expirée reste enregistrée ; elle ne devient jamais un débit non autorisé.
Qui doit valider : l’équipe voyages ou le responsable hiérarchique ?
La personne responsable du budget, généralement le manager. L’équipe voyages gère la politique, mais une autre personne répond de la dépense. Utilisez son identifiant dans votre système. La réponse reste associée à son nom.
Cela fonctionne-t-il aussi pour les notes de frais ?
Oui. Remboursez automatiquement les montants sous le plafond avec justificatif conforme. Demandez un accord pour les dépassements, les justificatifs manquants et les catégories concernées par vos règles. Une note de frais peut attendre plus longtemps qu’un billet. Conservez-la et reprenez son traitement quand la réponse arrive sur votre serveur.

Faites intervenir une personne là où sa décision compte.

Connectez chaque utilisateur une fois. Posez la question par un appel et exécutez l’action seulement après un oui. Chaque réponse est conservée.

Start free