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)
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)
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)