@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <https://schema.org/> .
@prefix dpp: <https://ns.verisav.fr/dpp#> .
@prefix rma: <https://ns.verisav.fr/rma#> .
@prefix wty: <https://ns.verisav.fr/wty#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dcterms: <http://purl.org/dc/terms/> .

# ============================================================================
# Example: Maintenance Contract with Payment Rules
# This example demonstrates a maintenance contract with specific payment rules
# Product: Industrial equipment
# ============================================================================

<https://verisav.fr/data/wty-examples/maintenance-contract#contract>
    a wty:Contract, schema:Contract ;
    dcterms:title "Maintenance Contract - Industrial Equipment"@en, "Contrat de Maintenance - Équipement Industriel"@fr ;
    schema:name "Annual Maintenance Contract" ;
    wty:contractType "maintenance" ;
    wty:contractNumber "CNT-2025-00123" ;
    wty:contractStartDate "2025-01-01"^^xsd:date ;
    wty:contractEndDate "2025-12-31"^^xsd:date ;
    wty:contractStatus "active" ;
    wty:autoRenewal true ;
    
    # Product covered
    schema:item <https://verisav.fr/data/wty-examples/maintenance-contract#product> ;
    
    # Coverage
    wty:definesCoverage <https://verisav.fr/data/wty-examples/maintenance-contract#coverage> ;
    
    # Payment rules
    wty:definesPaymentRule <https://verisav.fr/data/wty-examples/maintenance-contract#payment-rule> ;
    
    # Limits
    wty:definesLimits <https://verisav.fr/data/wty-examples/maintenance-contract#limit> ;
    
    # Conditions
    wty:definesConditions <https://verisav.fr/data/wty-examples/maintenance-contract#condition1> .

<https://verisav.fr/data/wty-examples/maintenance-contract#product>
    a dpp:ProductPassport, schema:Product ;
    schema:name "Industrial Printer Pro" ;
    schema:sku "IP-PRO-2024" ;
    dpp:serialNumber "IP-PRO-2024-78901" .

<https://verisav.fr/data/wty-examples/maintenance-contract#coverage>
    a wty:Coverage ;
    wty:coveragePeriod "12_months" ;
    wty:coverageStartDate "2025-01-01"^^xsd:date ;
    wty:coverageEndDate "2025-12-31"^^xsd:date ;
    wty:coversRepairType <https://verisav.fr/data/wty-examples/maintenance-contract#preventive-maintenance> ;
    wty:coversRepairType <https://verisav.fr/data/wty-examples/maintenance-contract#corrective-maintenance> .

<https://verisav.fr/data/wty-examples/maintenance-contract#preventive-maintenance>
    a dpp:Intervention ;
    schema:name "Preventive Maintenance" .

<https://verisav.fr/data/wty-examples/maintenance-contract#corrective-maintenance>
    a dpp:Intervention ;
    schema:name "Corrective Maintenance" .

<https://verisav.fr/data/wty-examples/maintenance-contract#payment-rule>
    a wty:PaymentRule ;
    wty:paymentPercentage "100"^^xsd:decimal ;
    wty:hasPaymentLimit true ;
    wty:paysFor <https://verisav.fr/data/wty-examples/maintenance-contract#maintenance-service> ;
    wty:firstParty <https://verisav.fr/data/wty-examples/maintenance-contract#contract-provider> .

<https://verisav.fr/data/wty-examples/maintenance-contract#maintenance-service>
    a dpp:Intervention ;
    schema:name "Maintenance Service" .

<https://verisav.fr/data/wty-examples/maintenance-contract#contract-provider>
    a schema:Organization ;
    schema:name "MaintenancePro" ;
    schema:url "https://www.maintenancepro.example" .

<https://verisav.fr/data/wty-examples/maintenance-contract#limit>
    a wty:Limit ;
    wty:limitType "number_of_interventions" ;
    wty:limitQuantity 12 ;
    wty:limitPeriod "per_year" .

<https://verisav.fr/data/wty-examples/maintenance-contract#condition1>
    a wty:Condition ;
    wty:conditionType "proper_installation" ;
    wty:conditionDescription "Equipment must be installed by certified technician."@en, "L'équipement doit être installé par un technicien certifié."@fr ;
    wty:requiresDocumentation true ;
    wty:requiresProof true ;
    wty:validityPeriod "lifetime" .

