{{ lease() ? 'Brouillon' : 'Nouveau bail' }}

{{ lease() ? 'Modifier le brouillon' : 'Créer un brouillon de bail' }}

Associez le bien, les locataires et les éventuels garants.

@if (showSaveError()) { }

{{ saving() ? 'Enregistrement en cours.' : '' }}

01

Parties du bail

Choisissez le logement et les locataires.

{{ partiesComplete() ? 'Complet' : 'À compléter' }}
Appartement Sélectionnez un appartement @for (apartment of apartments(); track apartment.id) { {{ apartment.name }} } @if (fieldError('apartmentId')) { }
Locataires @for (tenant of tenants(); track tenant.id) { {{ tenantDisplayLabel(tenant) }} @if (tenant.contractProfileComplete === false) { — profil à compléter } } @if (fieldError('tenantIds')) { }
02

Conditions

Choisissez le type, la date d'entrée et les montants mensuels.

{{ sectionComplete('CONDITIONS') ? 'Complet' : 'À compléter' }}
Type de bail Location meublée classique Location meublée étudiante @if (fieldError('leaseType')) { }
Date d'entrée @if (fieldError('startDate')) { }
Date de fin calculée {{ leaseDuration().endDateLabel }} {{ leaseDuration().renewalLabel }}
@if (overlapWarning()) {

{{ overlapWarning() }}

}
Loyer mensuel€ @if (fieldError('monthlyRent')) { }
Charges mensuelles€ @if (fieldError('monthlyCharges')) { }
Dépôt de garantie€ @if (fieldError('securityDeposit')) { }
Mode de récupération des charges Forfait de charges Provision avec régularisation annuelle
Jour d’échéanceEntre le 1er et le 28 du mois @if (fieldError('dueDay')) { }
@if (leaseModel().chargeMethod === 'FLAT_RATE') { Indexer le forfait de charges avec le loyer }

Clauses particulières · {{ sectionComplete('CLAUSES') ? 'Complet' : 'À compléter' }}

05

Garanties du bail

Chaque garantie concerne un locataire précis du bail.

{{ sectionComplete('GUARANTEES') ? 'Complet' : 'À compléter' }}
@if (proposalCandidates().length > 0) {

Propositions de garantie

Ces informations servent uniquement à préparer le bail. Aucune garantie ni décision Visale n’est acceptée automatiquement.

    @for ( candidate of proposalCandidates(); track candidate.tenantId + ':' + candidate.guarantee.id ) {
  • {{ proposedGuaranteeLabel(candidate.guarantee) }} · {{ guaranteeTenantName(candidate.tenantId) }}
  • }
} @for (guarantee of guarantees(); track guarantee.id ?? $index) {
@if (editingGuaranteeIndex() === $index) { } @else { @if (guaranteeName(guarantee); as name) { {{ name }} garantit {{ guaranteeTenantName(guarantee.tenantId) }} · {{ guarantee.email }} } @else { Garantie protégée — déverrouillez le coffre pour l’afficher. }
}
} @if (addingGuarantee()) { } @else if (editingGuaranteeIndex() === null) { }