Formule de tarification pour vol après 11:00
Envoyé par: DrPiquouze ()
Date: mercredi 5 janvier 2011 15:46:28

Salut,

J'ai besoin de vos lumières pour la formule de tarification. Le CA du club a décidé d'un tarif différent pour un avion après 11:00 locale, soit 07:00 Zulu.
Notre formule actuelle est :

roundCeil((((getBalance(%PILOT)>$S ? ($C2-$R) : $C2)*%DURATION/600)-0.5),1)

avec :

$C2 Cessna 172
$R Réduction si solde > seuil
$S Seuil solde des comptes pour réduction

Je sèche !

Est-ce qu'il vaut mieux créer une (autre) réduction ($R2) lorsque le vol débute à ou après 07:00, ou deux tarifs, chacun applicable dans une fourchette horaire exclusive de l'autre ?
Et surtout comment le traduire en formule ?

Merci d'avance.

Cordialement

Cordialement

Denis Rousseaux, FMEP - Pierrefonds La Réunion
http://aeroclubdusud.org/
http://aeroclubdusud.openflyers.fr/

Options: RépondreCiter
Re: Formule de tarification pour vol après 11:00
Envoyé par: claratte ()
Date: vendredi 7 janvier 2011 11:15:46

Bonjour,

Comptablement, je serais tenté de dire qu'il vaut mieux créer une nouvelle ligne de tarification qui fait une nouvelle réduction. Comme cela vous pourrez mesurer son coût.

Pour la recherche de formule, on peut vous faire cette recherche (compter 30' à prendre sur le bonus développement).

Cordialement,

Christophe LARATTE
OpenFlyers manager

Options: RépondreCiter
Re: Formule de tarification pour vol après 11:00
Envoyé par: DrPiquouze ()
Date: lundi 10 janvier 2011 13:29:29

Ok pour la recherche de formule, ça dépasse mes capacités.

Cordialement

Cordialement

Denis Rousseaux, FMEP - Pierrefonds La Réunion
http://aeroclubdusud.org/
http://aeroclubdusud.openflyers.fr/

Options: RépondreCiter
Re: Formule de tarification pour vol après 11:00
Envoyé par: jcheng ()
Date: mercredi 12 janvier 2011 14:55:36

La formule de base qui fera appliquer, ce sera :
( (formatDate('hmm',%START_DATE) > 659) ? $1 : $2 )

Après, je ne sais pas ce que vous voulez coller comme tarification dans $1 et $2.
Donc pour $1 ou $2, ça pourrait être :
roundCeil((((getBalance(%PILOT)>$S ? ($C2-$R) : $C2)*%DURATION/600)-0.5),1)

Qu'est-ce que fait la formule de base que j'ai créé :
- Je prend la date de début du vol (%START_DATE) qui est en UTC
- Je la formate en utilisant la fonction formatDate pour n'avoir que les heures et les minutes (pattern 'hmm') donc pour 13:05, j'aurais
1305 et pour 5:17, j'aurais 517. La date après formatage ne peut qu'être dans l'intervalle de valeurs 0 - 2359.
- Je fais un test IF de supériorité+égalité pour traduire "après telle heure ou à telle heure" donc là, je compare avec 7:00 UTC. J'ai utilisé 659 et non 700 pour 7:00 UTC parce que nos opérateurs de comparaison autorisés sont seulement : égalité, supériorité, infériorité. Ca se traduit en gros par "après 7:00 (7:00 inclus)".

On peut toujours faire une conversion de la date de début de vol en heure locale. Ca nous donnerait comme formule "après ou à 11:00 française" :
( (formatDate( 'hmm',convertTimezone(%START_DATE, 'UTC', 'Europe/Paris') ) > 1100) ? $1 : $2 )

Si vous utilisez l'UTC dans la formule, alors il n'y a pas de décalage horaire à faire donc la toute première formule (tout en haut) suffit.



Modifié 1 fois. Dernière modification le 12/01/11 17:18 par claratte.

Options: RépondreCiter
Re: Formule de tarification pour vol après 11:00
Envoyé par: claratte ()
Date: mercredi 12 janvier 2011 17:20:00

Bonjour,

Au niveau du fuseau : il peut être intéressant d'utiliser le fuseau local (donc faire convertTimezone) s'il y a un DST (=changement d'heure hiver/été) et que l'on veut dans le même temps conserver la règle à un horaire fixe du fuseau.

Christophe LARATTE
OpenFlyers manager

Options: RépondreCiter
Re: Formule de tarification pour vol après 11:00
Envoyé par: jtremblet ()
Date: vendredi 14 janvier 2011 19:57:57

Bonjour

Je pense que l'utilisation de l'heure locale doit etre systématique afin que les comparaison puisse ce faire entre 0000 et 2359
Sinon avec un fuseau horaire de -12h les heures stockées en base vont de 1200 à 2359 puis de 0000 à 1159, faire des conditions de supériorité ou d'infériorité deviens un casse tête

Options: RépondreCiter
Re: Formule de tarification pour vol après 11:00
Envoyé par: DrPiquouze ()
Date: mardi 25 janvier 2011 17:45:54

Merci à tous pour votre collaboration, j'utilise donc la formule suivante :

roundCeil(((((formatDate('hmm',%START_DATE)>659)?$C2R:$C2)*%DURATION/600)-0.5),1)

avec $C2R pour le tarif réduit après 0700 zulu, et $C2 le tarif normal avant 0700 zulu.

Nous n'avons pas d'heure d'été à La Réunion, donc la question ne se pose pas, et nous n'avons que 4 heures de décalage horaire toute l'année avec UTC.
Je n'ai donc pas cherché à prendre en compte des décalages horaires de 12 h. Mais j'imagine qu'en Nouvelle-Calédonie ou à Tahiti, ça pourrait être utile.

Cordialement

Cordialement

Denis Rousseaux, FMEP - Pierrefonds La Réunion
http://aeroclubdusud.org/
http://aeroclubdusud.openflyers.fr/

Options: RépondreCiter


Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.
This forum powered by Phorum.