def formula(individu, period):
     etudiant = individu('etudiant', period)
     boursier = individu('boursier', period)
     bourse_criteres_sociaux_echelon = individu(
         'bourse_criteres_sociaux_echelon', period)
     return etudiant * select([boursier], [
         select([
             5 <= bourse_criteres_sociaux_echelon,
             3 <= bourse_criteres_sociaux_echelon,
             1 <= bourse_criteres_sociaux_echelon,
         ], [355, 560, 765],
                default=765)
     ],
                              default=765)
 def formula(individu, period):
     geo = individu.menage(
         'eurometropole_strasbourg_tarification_solidaire_transport_eligibilite_geographique',
         period)
     reduit = individu(
         'eurometropole_strasbourg_tarification_solidaire_transport_eligible_tarif_reduit',
         period)
     qf = individu(
         'eurometropole_strasbourg_tarification_solidaire_transport_quotient_familial',
         period)
     return geo * select([qf <= 356, qf <= 560, qf < 765], [
         5.8 + reduit * (3.4 - 5.8),
         13.4 + reduit * (7.3 - 13.4),
         25.7 + reduit * (13.6 - 25.7),
     ],
                         default=select([reduit], [27.6], default=0))
 def formula(menage, period):
     aah = menage.sum(menage.members('aah', period))
     qf = menage.personne_de_reference.foyer_fiscal(
         'nantes_metropole_tarification_solidaire_transport_quotient_familial',
         period.n_2)
     return select([(qf <= 350) + (aah > 0), qf <= 500, qf <= 600],
                   [100, 90, 70],
                   default=0)
 def formula(individu, period):
     etudiant = individu('etudiant', period)
     qf_etudiant = individu(
         'eurometropole_strasbourg_tarification_solidaire_transport_quotient_familial_etudiant',
         period)
     base = individu(
         'eurometropole_strasbourg_tarification_solidaire_transport_quotient_familial_de_base',
         period)
     return select([etudiant], [qf_etudiant], default=base)
Example #5
0
    def formula(individu, period, parameters):
        chomage_net = individu('chomage_net', period.last_month)
        indemnise = chomage_net > 0
        smic_net = individu('tisseo_transport_reduction_plafond_smic_net', period)

        cmu_c_plafond = individu.famille('cmu_c_plafond', period) / 12
        return indemnise * select([
            chomage_net <= cmu_c_plafond,
            chomage_net <= smic_net
            ], [100, 80], default=70)
Example #6
0
    def formula(individu, period, parameters):
        retraite = individu('activite', period) == TypesActivite.retraite
        age = individu('age', period)

        ressources = individu.foyer_fiscal(
            'tisseo_transport_reduction_ressources_fiscales', period.n_2)

        aah = parameters(period).prestations.minima_sociaux.aah.montant
        smic_net_mensuel = individu(
            'tisseo_transport_reduction_plafond_smic_net', period)
        return (retraite + (65 <= age)) * select(
            [ressources <= aah, ressources <= smic_net_mensuel], [100, 80],
            default=70)
    def formula(individu, period, parameters):
        taux_incapacite = individu('taux_incapacite', period)
        ressources = individu.foyer_fiscal(
            'tisseo_transport_reduction_ressources_fiscales', period.n_2)

        aah = parameters(
            period
        ).prestations_sociales.prestations_etat_de_sante.invalidite.aah.montant
        smic_net_mensuel = individu(
            'tisseo_transport_reduction_plafond_smic_net', period)

        reduction_50_80 = select(
            [ressources <= aah, ressources <= smic_net_mensuel], [100, 80],
            default=70)
        return select([
            taux_incapacite < 0.50,
            taux_incapacite < 0.80,
        ], [
            0,
            reduction_50_80,
        ],
                      default=100)