Fork me on GitHub

Template car-rental-tr@0.5.0

Contract Ergo ^0.9.1 27a289b376ce93e8e3af914b2aa9097e6f37e0a7b7cabb633f1389967760947b

a Simple Car Rental Contract in Turkish Language

Download Archive Open in Template Studio

Accord Protocol Template: car-rental-tr

This is a Simple Car Rental Contract in Turkish Language.

Parse

Use the cicero parse command to load a template from a directory on disk and then use it to parse input text, echoing the result of parsing. If the input text is valid the parsing result will be a JSON serialized instance of the Template Mode:

Sample template.tem:

    1.1 Kiraya Veren Şirket, Şahıs, Kurum [{lessorName}]
    1.2 Adresi [{lessorAddress}]
    1.3 Telefon [{lessorPhone}]

    1.4 Kiralayanın Adı Soyadı [{lesseeName}]
    1.5 Adresi [{lesseeAddress}]
    1.6 Telefon [{lesseePhone}]

    2.1 Plaka No [{plateID}]
    2.2 Marka [{carBrand}]
    2.3 Model [{model}]
    2.4 Trafiğe Çıkış Yılı [{modelYear}]
    2.5 Renk [{color}]
    2.6 Şase No [{vechileID}]

    3.1 [{#paymentClause}][{amountText}] ([{amount}]) [{paymentProcedure}].[{/paymentClause}]
    3.2 Kiralama Başlangıç Tarihi [{startDate}]
    3.3 Kiralama Bitiş Tarihi [{endDate}]
    3.4 Teslimat Noktası [{deliveryStation}]

    1. SÖZLEŞMENİN KONUSU [{plateID}] Plaka numaralı [{carBrand}] marka otomobilin KİRALAYAN'a kiraya verilmesi.

    İş bu sözleşmeden doğacak herhangi bir anlaşmazlık durumunda [{authorizedCourt}] mahkemelerinin yetkili olduğunu taraflar kabul etmişlerdir.

Sample.txt:

1. TARAFLAR

    1.1 Kiraya Veren Şirket, Şahıs, Kurum "Acme Car Rental"
    1.2 Adresi "Dikmen Caddesi No:48/15 Dikmen Ankara"
    1.3 Telefon "+901231231234"

    1.4 Kiralayanın Adı Soyadı "Can Doğan"
    1.5 Adresi "John F. Kennedy Sokak No:23/12 Kavaklıdere Ankara"
    1.6 Telefon "+901234567890"

    2.1 Plaka No "06 MX 7817"
    2.2 Marka "Volkswagen"
    2.3 Model "Golf 1.6 TDI Comfortline"
    2.4 Trafiğe Çıkış Yılı "2017"
    2.5 Renk "Kırmızı"
    2.6 Şase No "WVWZZZ3CZXW000001"

    3.1 "İki Yüz On Yedi Amerikan Doları" (217.99 USD) "bank transfer".
    3.2 Kiralama Başlangıç Tarihi "13.07.2018"
    3.3 Kiralama Bitiş Tarihi "17.07.2018"
    3.4 Teslimat Noktası "Acme Car Rental Merkez Ofis"

    1. SÖZLEŞMENİN KONUSU "PlakaNo" Plaka numaralı "marka" marka otomobilin KİRALAYAN'a kiraya verilmesi.

    İş bu sözleşmeden doğacak herhangi bir anlaşmazlık durumunda "Ankara" mahkemelerinin yetkili olduğunu taraflar kabul etmişlerdir.
cicero parse --template ./car-rental-tr/ --dsl ./car-rental-tr/sample.txt
Setting clause data: {"$class": "org.accordtr.carrental.PaymentRequest"}

Execute

Use the cicero execute command to load a template from a directory on disk, instantiate a clause based on input text, and then invoke the clause using an incoming JSON payload.

data.json:
{
   "$class": "org.accordtr.carrental.PaymentRequest",
}
cicero execute --template ./car-rental-tr/ --dsl ./car-rental-tr/sample.txt --data ./car-rental-tr/data.json 

The results of execution (a JSON serialized object) are displayed. They include:

  • Details of the clause executed (name, version, SHA256 hash of clause data)
  • The incoming request object
  • The output response object
{
  "clause": "car-rental-tr@0.0.0-f1e436961c6c450c1d0cc21bb89446f78c45d0789ef3dfbe0c0b94ae4ee02cfd",
  "request": {
    "$class": "org.accordtr.carrental.PaymentRequest"
  },
  "response": {
    "$class": "org.accordtr.carrental.PayOut",
    "amount": {
      "$class": "org.accordproject.money.MonetaryAmount",
      "doubleValue": 217,
      "currencyCode": "USD"
    },
    "transactionId": "d1385e00-e0f1-4a3b-8d15-5e26c04dc888",
    "timestamp": "2018-07-31T07:45:32.890Z"
  },
  "state": {
    "$class": "org.accordproject.cicero.contract.AccordContractState",
    "stateId": "org.accordproject.cicero.contract.AccordContractState#1"
  },
  "emit": []
}

Sample

OTO KİRALAMA SÖZLEŞMESİ
1. TARAFLAR

    1.1 Kiraya Veren Şirket, Şahıs, Kurum "Acme Car Rental"
    1.2 Adresi "Dikmen Caddesi No:48/15 Dikmen Ankara"
    1.3 Telefon "+901231231234"

Bundan böyle KİRAYA VEREN olarak anılacaktır.

    1.4 Kiralayanın Adı Soyadı "Can Doğan"
    1.5 Adresi "John F. Kennedy Sokak No:23/12 Kavaklıdere Ankara"
    1.6 Telefon "+901234567890"

Bundan böyle KİRALAYAN olarak anılacaktır.

2. ARAÇ DETAYLARI

    2.1 Plaka No "06 MX 7817"
    2.2 Marka "Volkswagen"
    2.3 Model "Golf 1.6 TDI Comfortline"
    2.4 Trafiğe Çıkış Yılı "2017"
    2.5 Renk "Kırmızı"
    2.6 Şase No "WVWZZZ3CZXW000001"

3. KİRALAMA DETAYLARI

    3.1 "İki Yüz On Yedi Amerikan Doları" (217.99 USD) "bank transfer".
    3.2 Kiralama Başlangıç Tarihi "13.07.2018"
    3.3 Kiralama Bitiş Tarihi "17.07.2018"
    3.4 Teslimat Noktası "Acme Car Rental Merkez Ofis"

1. SÖZLEŞMENİN KONUSU "PlakaNo" Plaka numaralı "marka" marka otomobilin KİRALAYAN'a kiraya verilmesi.

2. SÖZLEŞMENİN İÇERİĞİ : Bu sözleşme tarafların taahhütlerine ve aracın kiralanması şartlarını kapsar.

3. TAAHHÜTNAME : Sözleşmenin akidi olarak hareket eden KİRAYA VEREN ve KİRALAYAN aşağıda belirtiliği üzere yükümlülüklerini karşılıklı birbirlerine taahhüt edip kabul ile imzalamışlardır.

4. SÖZLEŞME ŞARTLARI :

    a) KİRAYA VEREN, aracı tüm fonksiyonları çalışır vaziyette KİRALAYAN'a teslim etmiştir. 
    b) Sözleşme tarihinden itibaren araçta meydana gelebilecek her türlü arıza, bakım, onarım ve yakıt giderleri KİRALAYAN'a aittir. Hiç bir surette giderlerle ilgili olarak KİRAYA VEREN'den ücret talebinde bulunulmayacaktır. KİRALAYAN aracın en iyi şekilde korunması için gereken önlemleri alacak ve her türlü bakımını süresi içerisinde yaptıracaktır.

İş bu sözleşmeden doğacak herhangi bir anlaşmazlık durumunda "Ankara" mahkemelerinin yetkili olduğunu taraflar kabul etmişlerdir.
                

Model Dependencies

Technical Integration

Please refer to the Cicero documentation for details and examples of how to integrate a call to a Cicero template into your application.

View the Latest code for this template on on GitHub.

Sample Instance

{
    "$class": "org.accordtr.carrental.CarRentalContract",
    "contractId": "7b4765bf-abc7-47ca-80ce-1acf30f78605",
    "lessorName": "Acme Car Rental",
    "lessorAddress": "Dikmen Caddesi No:48/15 Dikmen Ankara",
    "lessorPhone": "+901231231234",
    "lesseeName": "Can Doğan",
    "lesseeAddress": "John F. Kennedy Sokak No:23/12 Kavaklıdere Ankara",
    "lesseePhone": "+901234567890",
    "authorizedCourt": "Ankara",
    "plateID": "06 MX 7817",
    "carBrand": "Volkswagen",
    "model": "Golf 1.6 TDI Comfortline",
    "modelYear": "2017",
    "color": "Kırmızı",
    "vechileID": "WVWZZZ3CZXW000001",
    "startDate": "13.07.2018",
    "endDate": "17.07.2018",
    "deliveryStation": "Acme Car Rental Merkez Ofis",
    "paymentClause": {
        "$class": "org.accordtr.carrental.PaymentClause",
        "clauseId": "192ec46d-f8fe-44f3-8461-93a3b894d757",
        "amountText": "İki Yüz On Yedi Amerikan Doları",
        "amount": {
            "$class": "org.accordproject.money.MonetaryAmount",
            "doubleValue": 217.99,
            "currencyCode": "USD"
        },
        "paymentProcedure": "bank transfer"
    }
}

State Types

Type Sample JSON
org.accordproject.cicero.contract.AccordContractState
{
    "$class": "org.accordproject.cicero.contract.AccordContractState",
    "stateId": "5a71b681-dd3f-11e8-a95c-95b9dbcf241c"
}

Request Types

Type Sample JSON
org.accordtr.carrental.PaymentRequest
{
    "$class": "org.accordtr.carrental.PaymentRequest",
    "transactionId": "5a718f70-dd3f-11e8-a95c-95b9dbcf241c",
    "timestamp": "2018-10-31T19:01:20.487Z"
}

Response Types

Type Sample JSON
org.accordtr.carrental.PayOut
{
    "$class": "org.accordtr.carrental.PayOut",
    "amount": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 134.996,
        "currencyCode": "TRY"
    },
    "transactionId": "5a71b680-dd3f-11e8-a95c-95b9dbcf241c",
    "timestamp": "2018-10-31T19:01:20.488Z"
}

Events Types

Type Sample JSON
org.accordproject.base.Event
{
    "abstract": "this is an abstract type"
}