{"info":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","description":"<html><head></head><body><h3 id=\"february-15-2024\">February 15, 2024</h3>\n<ul>\n<li><strong>User Service Updated:</strong> branch_description alanı eklendi.!</li>\n</ul>\n<hr>\n<p>November 7, 2024</p>\n<ul>\n<li><strong>Leave Service Updated:</strong> user_hourly_leave key'i <strong>is_hourly_leave</strong> olarak değiştirildi.</li>\n</ul>\n<hr>\n<h3 id=\"august-23-2024\">August 23, 2024</h3>\n<ul>\n<li><p><strong>User Shift Service Added:</strong> Yeni bir User Shift servisi eklendi.</p>\n</li>\n<li><p><strong>User Patch Response Structure Updated:</strong> User Patch Response yapısı güncellendi.</p>\n</li>\n<li><p><strong>User Service Response Update:</strong> User servisi response yapısına <code>user_zone_ids</code> alanı eklendi.</p>\n</li>\n</ul>\n<h3 id=\"august-20-2024\">August 20, 2024</h3>\n<ul>\n<li><strong>Slacks Service Added:</strong> Yeni bir Slacks servisi eklendi.</li>\n</ul>\n<h3 id=\"august-19-2024\">August 19, 2024</h3>\n<ul>\n<li><strong>Night Works Service Added:</strong> Yeni bir Night Works servisi eklendi.</li>\n</ul>\n<h3 id=\"august-6-2024\">August 6, 2024</h3>\n<ul>\n<li><p><strong>User Endpoint Response Update:</strong> User endpoint response yapısına <code>user_device_ids</code> alanı eklendi.</p>\n<ul>\n<li><code>\"user_device_ids\": [\"700dd47c-4f4f-4644-ad61\"]</code></li>\n</ul>\n</li>\n</ul>\n<hr>\n<h1 id=\"passgage-api-kullanimi\">Passgage API Kullanımı</h1>\n<p>Passgage API'yi kullanarak verilere ulaşabilir ve kendi uygulamalarınızla entegre edebilirsiniz. Ayrıca, Passgage Web arayüzündeki işlemleri API aracılığıyla gerçekleştirebilirsiniz.</p>\n<h2 id=\"temel-bilgiler\">Temel Bilgiler</h2>\n<ul>\n<li><p><strong>BASE_URL:</strong> <a href=\"https://api.passgage.com\">https://api.passgage.com</a></p>\n</li>\n<li><p><strong>API Anahtarı (API_KEY):</strong> API hizmetimize erişmek için bir API anahtarına ihtiyacınız vardır. Anahtarınızı almak için <a href=\"https://mailto:deneyim@passgage.com\">deneyim@passgage.com</a> adresi üzerinden talep yapabilirsiniz.</p>\n</li>\n</ul>\n<hr>\n<h1 id=\"hatalar-error-reference\">Hatalar (Error Reference)</h1>\n<p>Passgage API, istek başarısını veya başarısızlığını göstermek için HTTP yanıt kodlarını kullanır:</p>\n<ul>\n<li><p><strong>2xx</strong> aralığı: Başarılı işlem</p>\n</li>\n<li><p><strong>4xx</strong> aralığı: İstemci hatası (eksik parametre, validasyon hatası, vb.)</p>\n</li>\n<li><p><strong>5xx</strong> aralığı: Sunucu hatası (nadir)</p>\n</li>\n</ul>\n<hr>\n<h2 id=\"hata-yanıt-formatı\">Hata Yanıt Formatı</h2>\n<p>Tüm hatalar aşağıdaki JSON formatında döner:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 422,\n  \"message\": \"Unprocessable entity\",\n  \"errors\": [\n    {\n      \"property\": \"field_name\",\n      \"constraints\": [\n        { \"error_type\": \"Hata mesajı\" }\n      ]\n    }\n  ]\n}\n\n</code></pre>\n<p><strong>Örnek:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 422,\n  \"message\": \"Unprocessable entity\",\n  \"errors\": [\n    {\n      \"property\": \"first_name\",\n      \"constraints\": [{ \"blank\": \"doldurulmalı\" }]\n    },\n    {\n      \"property\": \"email\",\n      \"constraints\": [{ \"taken\": \"hali hazırda kullanılmakta\" }]\n    }\n  ]\n}\n\n</code></pre>\n<hr>\n<h2 id=\"http-status-kodları\">HTTP Status Kodları</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Kod</th>\n<th>Mesaj</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>Bad request: Invalid parameters</code></td>\n<td>Geçersiz istek. Lütfen girdiğiniz bilgileri kontrol edin.</td>\n</tr>\n<tr>\n<td>401</td>\n<td><code>Access denied</code></td>\n<td>Oturum süreniz dolmuş. Lütfen tekrar giriş yapın.</td>\n</tr>\n<tr>\n<td>403</td>\n<td><code>You don't have permission to perform this action</code></td>\n<td>Bu işlem için yetkiniz bulunmamaktadır.</td>\n</tr>\n<tr>\n<td>404</td>\n<td><code>Record not found</code></td>\n<td>Aradığınız kayıt bulunamadı.</td>\n</tr>\n<tr>\n<td>422</td>\n<td><code>Unprocessable entity</code></td>\n<td>İşlem gerçekleştirilemedi. Lütfen hataları düzeltin.</td>\n</tr>\n<tr>\n<td>422</td>\n<td><code>Parameter missing: X</code></td>\n<td>Zorunlu alan eksik. Lütfen tüm alanları doldurun.</td>\n</tr>\n<tr>\n<td>429</td>\n<td><code>Rate limit exceeded</code></td>\n<td>Çok fazla istek gönderildi. Lütfen biraz bekleyin.</td>\n</tr>\n<tr>\n<td>500</td>\n<td><code>Internal server error</code></td>\n<td>Bir hata oluştu. Lütfen daha sonra tekrar deneyin.</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"standart-validasyon-hataları\">Standart Validasyon Hataları</h2>\n<p>Bu hatalar tüm endpoint'lerde geçerlidir:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Bu alan boş bırakılamaz</td>\n</tr>\n<tr>\n<td><code>taken</code></td>\n<td><code>hali hazırda kullanılmakta</code></td>\n<td>Bu değer zaten kullanılıyor</td>\n</tr>\n<tr>\n<td><code>invalid</code></td>\n<td><code>geçersiz</code></td>\n<td>Geçersiz format. Lütfen kontrol edin</td>\n</tr>\n<tr>\n<td><code>inclusion</code></td>\n<td><code>kabul edilen bir kelime değil</code></td>\n<td>Geçersiz seçim. Lütfen listeden seçin</td>\n</tr>\n<tr>\n<td><code>not_a_number</code></td>\n<td><code>geçerli bir sayı değil</code></td>\n<td>Lütfen geçerli bir sayı girin</td>\n</tr>\n<tr>\n<td><code>not_an_integer</code></td>\n<td><code>tam sayı olmalı</code></td>\n<td>Lütfen tam sayı girin</td>\n</tr>\n<tr>\n<td><code>greater_than</code></td>\n<td><code>X sayısından büyük olmalı</code></td>\n<td>Değer X'den büyük olmalıdır</td>\n</tr>\n<tr>\n<td><code>less_than</code></td>\n<td><code>X sayısından küçük olmalı</code></td>\n<td>Değer X'den küçük olmalıdır</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"users-kullanıcılar\">Users (Kullanıcılar)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>first_name</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Ad alanı boş bırakılamaz</td>\n</tr>\n<tr>\n<td><code>last_name</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Soyad alanı boş bırakılamaz</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><code>taken</code></td>\n<td><code>hali hazırda kullanılmakta</code></td>\n<td>Bu e-posta adresi zaten kayıtlı</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><code>invalid</code></td>\n<td><code>geçersiz</code></td>\n<td>Geçersiz e-posta formatı</td>\n</tr>\n<tr>\n<td><code>citizenship_number</code></td>\n<td><code>taken</code></td>\n<td><code>hali hazırda kullanılmakta</code></td>\n<td>Bu TC Kimlik numarası zaten kayıtlı</td>\n</tr>\n<tr>\n<td><code>client_id</code></td>\n<td><code>taken</code></td>\n<td><code>hali hazırda kullanılmakta</code></td>\n<td>Bu sicil numarası zaten kullanılıyor</td>\n</tr>\n<tr>\n<td><code>employee_id</code></td>\n<td><code>taken</code></td>\n<td><code>hali hazırda kullanılmakta</code></td>\n<td>Bu personel numarası zaten kullanılıyor</td>\n</tr>\n<tr>\n<td><code>gender</code></td>\n<td><code>inclusion</code></td>\n<td><code>kabul edilen bir kelime değil</code></td>\n<td>Geçersiz cinsiyet değeri. (male/female)</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"leaves-i̇zinler\">Leaves (İzinler)</h2>\n<h3 id=\"zorunlu-alan-hataları\">Zorunlu Alan Hataları</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Şirket bilgisi eksik</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Kullanıcı seçilmedi</td>\n</tr>\n<tr>\n<td><code>leave_type_id</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>İzin tipi seçilmedi</td>\n</tr>\n<tr>\n<td><code>start_date</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Başlangıç tarihi seçilmedi</td>\n</tr>\n<tr>\n<td><code>end_date</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Bitiş tarihi seçilmedi</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"tarih-ve-kısıtlama-hataları\">Tarih ve Kısıtlama Hataları</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>end_date</code></td>\n<td><code>must_be_after_the_start_date</code></td>\n<td><code>başlangıç tarihinden sonrası olmalıdır</code></td>\n<td>Bitiş tarihi başlangıç tarihinden sonra olmalıdır</td>\n</tr>\n<tr>\n<td><code>base</code></td>\n<td><code>must_be_include_segmentation</code></td>\n<td><code>Bu izin türünü kullanma yetkiniz bulunmamaktadır.</code></td>\n<td>Bu izin türünü kullanma yetkiniz bulunmamaktadır</td>\n</tr>\n<tr>\n<td><code>base</code></td>\n<td><code>gender_type</code></td>\n<td><code>Cinsiyetle uyumsuz bir izin türü seçtiniz</code></td>\n<td>Bu izin türü cinsiyetiniz ile uyumlu değil</td>\n</tr>\n<tr>\n<td><code>base</code></td>\n<td><code>banned_dates</code></td>\n<td><code>Yasaklı tarihler için izin giremezsiniz.</code></td>\n<td>Seçilen tarihler için izin talebi oluşturulamaz</td>\n</tr>\n<tr>\n<td><code>leave_type</code></td>\n<td><code>type_of_permit_is_mandatory</code></td>\n<td><code>bu izin tipinde belge zorunludur</code></td>\n<td>Bu izin türü için belge yüklemeniz gerekmektedir</td>\n</tr>\n<tr>\n<td><code>days_off_count</code></td>\n<td><code>must_be_standby_time_available</code></td>\n<td><code>bekleme süresi mevcut olmalıdır</code></td>\n<td>Henüz bu izin türünü kullanmak için yeterli süre çalışmadınız</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"çakışma-hataları\">Çakışma Hataları</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Mevcut tarihlerde izin talebi bulunmaktadır</code></td>\n<td>Seçilen tarihlerde zaten bir izin talebiniz bulunmaktadır</td>\n</tr>\n<tr>\n<td><code>Aynı gün içerisinde farklı izin türünden saatlik izin kullanılamaz</code></td>\n<td>Aynı gün içinde farklı türde saatlik izin kullanamazsınız</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"bakiye-hataları\">Bakiye Hataları</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Mevcut bakiye hesaplanamadı.</code></td>\n<td>İzin bakiyeniz hesaplanamadı. Lütfen İK ile iletişime geçin</td>\n</tr>\n<tr>\n<td><code>İzin talebiniz mevcut bakiyenizi aşıyor. Mevcut bakiye: X gün Y saat</code></td>\n<td>Yetersiz izin bakiyesi. Kalan bakiyeniz: X gün Y saat</td>\n</tr>\n<tr>\n<td><code>Serbest zaman bakiyeniz bulunmamaktadır.</code></td>\n<td>Serbest zaman bakiyeniz bulunmamaktadır</td>\n</tr>\n<tr>\n<td><code>İzin talebiniz mevcut serbest zaman bakiyenizi aşıyor. Mevcut bakiye: X saat, Talep edilen: Y saat</code></td>\n<td>Yetersiz serbest zaman bakiyesi. Kalan: X saat, Talep edilen: Y saat</td>\n</tr>\n<tr>\n<td><code>Saatlik izin talep edilemez!</code></td>\n<td>Bu izin türü için saatlik izin talep edilemez</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"user-shifts-kullanıcı-vardiyaları\">User Shifts (Kullanıcı Vardiyaları)</h2>\n<h3 id=\"zorunlu-alan-hataları-1\">Zorunlu Alan Hataları</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user_id</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Kullanıcı seçilmedi</td>\n</tr>\n<tr>\n<td><code>shift_id</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Vardiya seçilmedi</td>\n</tr>\n<tr>\n<td><code>date_of_shift</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Vardiya tarihi seçilmedi</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"i̇ş-kuralı-hataları\">İş Kuralı Hataları</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Aynı güne yalnızca bir vardiya ekleyebilirsiniz</code></td>\n<td>Bu tarihte zaten bir vardiya bulunmaktadır</td>\n</tr>\n<tr>\n<td><code>İşe giriş tarihinden önce vardiya giriş yapılamaz.</code></td>\n<td>İşe giriş tarihinden öncesine vardiya atanamaz</td>\n</tr>\n<tr>\n<td><code>Günlük izin alınan güne vardiya eklenemez.</code></td>\n<td>İzinli olduğunuz güne vardiya atanamaz</td>\n</tr>\n<tr>\n<td><code>İzin ve tatil vardiyasının mevcut olduğu bir güne eklenemez.</code></td>\n<td>Bu tarihte izin veya tatil bulunduğundan vardiya atanamaz</td>\n</tr>\n<tr>\n<td><code>X günden eski tarihli düzenleme yapılamaz.</code></td>\n<td>X günden eski tarihlerde değişiklik yapılamaz</td>\n</tr>\n<tr>\n<td><code>X günden eski tarihli vardiya silinemez.</code></td>\n<td>X günden eski vardiyalar silinemez</td>\n</tr>\n<tr>\n<td><code>Bu hafta için atanmış vardiyalar ve izinler, tam zamanlı çalışanlar için belirlenen maksimum X saatlik çalışma süresini aşıyor.</code></td>\n<td>Haftalık maksimum çalışma süresi aşıldı (Max: X saat)</td>\n</tr>\n<tr>\n<td><code>Haftada maksimum X tatil vardiyası eklenebilir</code></td>\n<td>Haftada en fazla X gün tatil kullanılabilir</td>\n</tr>\n<tr>\n<td><code>Bu hafta için en az X tatil vardiyası olmalı. Kalan tatil vardiyası sayısı: Y</code></td>\n<td>Bu hafta en az X gün tatil kullanmalısınız</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"shifts-vardiyalar\">Shifts (Vardiyalar)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Vardiya adı boş bırakılamaz</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><code>taken</code></td>\n<td><code>Vardiya ismi kullanımda</code></td>\n<td>Bu vardiya adı zaten kullanılıyor</td>\n</tr>\n<tr>\n<td><code>check_in_time</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Giriş saati seçilmedi</td>\n</tr>\n<tr>\n<td><code>check_out_time</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Çıkış saati seçilmedi</td>\n</tr>\n<tr>\n<td><code>code</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Vardiya kodu boş bırakılamaz</td>\n</tr>\n<tr>\n<td><code>color_code</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Renk kodu seçilmedi</td>\n</tr>\n<tr>\n<td><code>shift_type</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Vardiya tipi seçilmedi</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"departments-departmanlar\">Departments (Departmanlar)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Departman adı boş bırakılamaz</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><code>taken</code></td>\n<td><code>hali hazırda kullanılmakta</code></td>\n<td>Bu departman adı zaten kullanılıyor</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"branches-lokasyonlar\">Branches (Lokasyonlar)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>title</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Lokasyon adı boş bırakılamaz</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"entrances-girişçıkışlar\">Entrances (Giriş/Çıkışlar)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>entry_time</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Giriş/çıkış zamanı seçilmedi</td>\n</tr>\n<tr>\n<td><code>entry_type</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Giriş/çıkış tipi seçilmedi</td>\n</tr>\n<tr>\n<td><code>entry_type</code></td>\n<td><code>inclusion</code></td>\n<td><code>kabul edilen bir kelime değil</code></td>\n<td>Geçersiz giriş tipi. (in/out)</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Geçerli entry_type değerleri:</strong> <code>in</code> (Giriş), <code>out</code> (Çıkış)</p>\n<hr>\n<h2 id=\"cards-kartlar\">Cards (Kartlar)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>card_no</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Kart numarası boş bırakılamaz</td>\n</tr>\n<tr>\n<td><code>card_no</code></td>\n<td><code>taken</code></td>\n<td><code>hali hazırda kullanılmakta</code></td>\n<td>Bu kart numarası zaten kayıtlı</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"leave-balance-imports-i̇zin-bakiye-aktarımı\">Leave Balance Imports (İzin Bakiye Aktarımı)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Kullanıcı seçilmedi</td>\n</tr>\n<tr>\n<td><code>leave_type</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>İzin tipi seçilmedi</td>\n</tr>\n<tr>\n<td><code>company</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Şirket bilgisi eksik</td>\n</tr>\n<tr>\n<td><code>balance</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Bakiye değeri girilmedi</td>\n</tr>\n<tr>\n<td><code>balance</code></td>\n<td><code>not_an_integer</code></td>\n<td><code>tam sayı olmalı</code></td>\n<td>Bakiye tam sayı olmalıdır</td>\n</tr>\n<tr>\n<td><code>balanced_at</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Bakiye tarihi seçilmedi</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td><code>taken</code></td>\n<td><code>hali hazırda kullanılmakta</code></td>\n<td>Bu kullanıcı için bu izin tipinde zaten bakiye kaydı var</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"assignment-requests-rotasyon-talepleri\">Assignment Requests (Rotasyon Talepleri)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_date</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Başlangıç tarihi seçilmedi</td>\n</tr>\n<tr>\n<td><code>end_date</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Bitiş tarihi seçilmedi</td>\n</tr>\n<tr>\n<td><code>branch_id</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Hedef lokasyon seçilmedi</td>\n</tr>\n<tr>\n<td><code>job_position_id</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Hedef pozisyon seçilmedi</td>\n</tr>\n<tr>\n<td><code>end_date</code></td>\n<td><code>must_be_lower_than_thirty_days</code></td>\n<td><code>30 günden az olmalıdır.</code></td>\n<td>Rotasyon süresi 30 günü geçemez</td>\n</tr>\n<tr>\n<td><code>selected_user_id</code></td>\n<td>-</td>\n<td><code>Rotasyon onayında kullanıcı seçilmeli</code></td>\n<td>Rotasyon onayı için kullanıcı seçmelisiniz</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"titles-unvanlar\">Titles (Unvanlar)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Unvan adı boş bırakılamaz</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><code>taken</code></td>\n<td><code>hali hazırda kullanılmakta</code></td>\n<td>Bu unvan adı zaten kullanılıyor</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"job-positions-pozisyonlar\">Job Positions (Pozisyonlar)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Pozisyon adı boş bırakılamaz</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><code>taken</code></td>\n<td><code>hali hazırda kullanılmakta</code></td>\n<td>Bu pozisyon adı zaten kullanılıyor</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"sub-companies-alt-şirketler\">Sub Companies (Alt Şirketler)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Alt şirket adı boş bırakılamaz</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><code>taken</code></td>\n<td><code>should be unique per company</code></td>\n<td>Bu alt şirket adı zaten kullanılıyor</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"organization-units-organizasyon-birimleri\">Organization Units (Organizasyon Birimleri)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Birim adı boş bırakılamaz</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"zones-bölgeler\">Zones (Bölgeler)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Bölge adı boş bırakılamaz</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"devices-cihazlar\">Devices (Cihazlar)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Cihaz adı boş bırakılamaz</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"user-extra-works-fazla-mesailer\">User Extra Works (Fazla Mesailer)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user_id</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Kullanıcı seçilmedi</td>\n</tr>\n<tr>\n<td><code>date_of_extra_work</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Mesai tarihi seçilmedi</td>\n</tr>\n<tr>\n<td><code>extra_work_type_id</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Mesai tipi seçilmedi</td>\n</tr>\n<tr>\n<td><code>start_time</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Başlangıç saati seçilmedi</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Bitiş saati seçilmedi</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"temporary-assignments-geçici-görevlendirmeler\">Temporary Assignments (Geçici Görevlendirmeler)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Error Type</th>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user_id</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Kullanıcı seçilmedi</td>\n</tr>\n<tr>\n<td><code>start_date</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Başlangıç tarihi seçilmedi</td>\n</tr>\n<tr>\n<td><code>end_date</code></td>\n<td><code>blank</code></td>\n<td><code>doldurulmalı</code></td>\n<td>Bitiş tarihi seçilmedi</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"kilitli-kayıt-hatası\">Kilitli Kayıt Hatası</h2>\n<p>Tüm modellerde bordro kilidi aktifse:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>API Mesajı</th>\n<th>Kullanıcıya Gösterilecek Mesaj</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Bu kayıt kilitli olduğu için düzenlenemez</code></td>\n<td>Bu kayıt bordro hesaplaması nedeniyle kilitlenmiştir ve düzenlenemez</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"hata-yakalama-örneği\">Hata Yakalama Örneği</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">// JavaScript/Node.js\nconst response = await fetch('/api/public/v1/users', { ... });\nconst data = await response.json();\nif (!data.success) {\n  data.errors.forEach(error =&gt; {\n    error.constraints.forEach(constraint =&gt; {\n      const [errorType, message] = Object.entries(constraint)[0];\n      // Kullanıcıya gösterilecek mesajları belirle\n      const userMessages = {\n        'blank': `${getFieldLabel(error.property)} boş bırakılamaz`,\n        'taken': `Bu ${getFieldLabel(error.property)} zaten kullanılıyor`,\n        'invalid': `Geçersiz ${getFieldLabel(error.property)} formatı`,\n      };\n      const userMessage = userMessages[errorType] || message;\n      showErrorToUser(userMessage);\n    });\n  });\n}\nfunction getFieldLabel(property) {\n  const labels = {\n    'first_name': 'Ad',\n    'last_name': 'Soyad',\n    'email': 'E-posta',\n    'client_id': 'Sicil numarası',\n    'citizenship_number': 'TC Kimlik numarası',\n    'employee_id': 'Personel numarası',\n    'card_no': 'Kart numarası',\n    'name': 'Ad',\n    'title': 'Başlık',\n    'start_date': 'Başlangıç tarihi',\n    'end_date': 'Bitiş tarihi',\n    'entry_time': 'Giriş zamanı',\n    'entry_type': 'Giriş tipi',\n    'balance': 'Bakiye',\n    'balanced_at': 'Bakiye tarihi'\n  };\n  return labels[property] || property;\n}\n\n</code></pre>\n<hr>\n<h2 id=\"tarih-formatları\">Tarih Formatları</h2>\n<ul>\n<li><p><strong>Günlük:</strong> <code>YYYY-MM-DD</code> (örn: <code>2024-01-15</code>)</p>\n</li>\n<li><p><strong>Saatlik:</strong> <code>YYYY-MM-DDTHH:MM:SS</code> (örn: <code>2024-01-15T09:00:00</code>)</p>\n</li>\n</ul>\n<h2 id=\"uuid-formatı\">UUID Formatı</h2>\n<p>Tüm ID'ler UUID formatındadır: <code>550e8400-e29b-41d4-a716-446655440000</code></p>\n<h2 id=\"geçerli-enum-değerleri\">Geçerli Enum Değerleri</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Geçerli Değerler</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>gender</code></td>\n<td><code>male</code>, <code>female</code></td>\n</tr>\n<tr>\n<td><code>entry_type</code></td>\n<td><code>in</code>, <code>out</code></td>\n</tr>\n<tr>\n<td><code>shift_type</code></td>\n<td><code>0</code> (still), <code>1</code> (flexible)</td>\n</tr>\n<tr>\n<td><code>status</code> (Leave)</td>\n<td><code>approaching</code>, <code>awaiting_approval</code>, <code>approved</code>, <code>rejected</code>, <code>document_delivery_awaiting</code>, <code>hr_rejection</code>, <code>hr_approval</code>, <code>cancellation_request_hr_approval</code>, <code>leave_canceled</code>, <code>on_administrator_approval</code>, <code>rejected_by_administrator</code>, <code>finished</code></td>\n</tr>\n<tr>\n<td><code>status</code> (UserShift)</td>\n<td><code>waiting_for_approval</code>, <code>approved</code>, <code>rejected</code>, <code>locked</code>, <code>ghost</code></td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h2 id=\"destek\">Destek</h2>\n<p>Dokümanda yer almayan hatalarla karşılaşırsanız:</p>\n<ol>\n<li><p>Response'daki tam hata mesajını kaydedin</p>\n</li>\n<li><p>Request body'yi JSON olarak saklayın</p>\n</li>\n<li><p><a href=\"https://mailto:deneyim@passgage.com\"><b>deneyim@passgage.com</b></a> adresinden bize ulaşın</p>\n</li>\n</ol>\n<h2 id=\"dökümantasyon\">Dökümantasyon</h2>\n<p>API hizmetimizin dökümantasyonunu OpenAPI-Swagger 2.0 standartlarına göre oluşturduk. Dökümantasyonu inceleyerek API'nin nasıl kullanılacağı hakkında detaylı bilgilere ulaşabilirsiniz.</p>\n<h1 id=\"sayfalama\">Sayfalama</h1>\n<p>Passgage API'de tüm listeleme isteklerinde sayfalama mekanizması <strong>varsayılan olarak uygulanır</strong>. Eğer <code>per_page</code> ve <code>page</code> parametrelerini belirtmezseniz, API otomatik olarak tanımlı varsayılan değerlerle yanıt verir.</p>\n<p>Bu nedenle <strong>özellikle çok sayıda kayıt içeren veri isteklerinde</strong>, istediğiniz sayfa ve kayıt sayısını açıkça belirtmeniz önerilir.</p>\n<blockquote>\n<p><strong>Not:</strong><br>Varsayılan <code>per_page</code> değeri sistem tarafından sınırlandırılmıştır.<br>Kullanıcı kontrolü sağlamak için bu parametreleri manuel olarak belirtmelidir.<br>Maksimum <code>per_page</code> değeri: <strong>50</strong> </p>\n</blockquote>\n<h4 id=\"örnek-i̇stek\">Örnek İstek</h4>\n<p>Aşağıdaki örnek, kullanıcı listesinin ikinci sayfasını çeker ve her sayfada 20 kullanıcı gösterecek şekilde yapılandırılmıştır:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl –location –globoff 'https://api.passgage.com/api/public/v1/users?page=2&amp;per_page=20'\n–header 'Authorization: Bearer API_KEY'\n\n</code></pre><hr>\n<h4 id=\"📦-yanıt-yapısı-ve-sayfalama-bilgisi\">📦 Yanıt Yapısı ve Sayfalama Bilgisi</h4>\n<p>Sayfalama yapılan isteklerde, yanıtta <code>meta</code> bloğu altında sayfa bilgileri aşağıdaki gibi döner</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">\"meta\": {\n\"current_page\": 1,\n\"total_pages\": 384,\n\"total_count\": 3837\n}\n\n</code></pre>\n<ul>\n<li><p>current_page: İlgili isteğin döndüğü sayfa numarasıdır.</p>\n</li>\n<li><p>total_pages: Elinizdeki kriterlere göre ulaşılabilecek toplam sayfa sayısıdır.</p>\n</li>\n<li><p>total_count: Filtrelenmiş veri kümesindeki toplam kayıt sayısını gösterir.</p>\n</li>\n</ul>\n<hr>\n<h1 id=\"cursor-pagination-ve-async-export\">Cursor Pagination ve Async Export</h1>\n<p>Büyük veri setleri (&gt;10,000 kayıt) için <strong>cursor-based pagination</strong> ve <strong>async export</strong> özelliklerini kullanabilirsiniz.</p>\n<h2 id=\"📋-hızlı-referans\">📋 Hızlı Referans</h2>\n<h3 id=\"endpoint-özeti\">Endpoint Özeti</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Endpoint</th>\n<th>Metod</th>\n<th>Kullanım Senaryosu</th>\n<th>Limit</th>\n<th>Auth</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Cursor Pagination (Stream)</strong></td>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td><code>/user_shifts/stream</code></td>\n<td>GET</td>\n<td>Büyük veri setleri (&gt;10K), sürekli streaming</td>\n<td>500</td>\n<td>API Key / JWT</td>\n</tr>\n<tr>\n<td><code>/payrolls/stream</code></td>\n<td>GET</td>\n<td>Büyük veri setleri (&gt;10K), sürekli streaming</td>\n<td>500</td>\n<td>API Key / JWT</td>\n</tr>\n<tr>\n<td><strong>Async Bulk Export</strong></td>\n<td></td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td><code>/user_shifts/export</code></td>\n<td>POST</td>\n<td>Toplu export (CSV/JSON)</td>\n<td>-</td>\n<td>API Key</td>\n</tr>\n<tr>\n<td><code>/user_shifts/export/{job_id}/status</code></td>\n<td>GET</td>\n<td>Export durumu sorgulama</td>\n<td>-</td>\n<td>API Key</td>\n</tr>\n<tr>\n<td><code>/user_shifts/export/{job_id}/download</code></td>\n<td>GET</td>\n<td>Export dosyası indirme</td>\n<td>-</td>\n<td>API Key</td>\n</tr>\n<tr>\n<td><code>/user_shifts/exports</code></td>\n<td>GET</td>\n<td>Export geçmişi listeleme</td>\n<td>20</td>\n<td>API Key</td>\n</tr>\n<tr>\n<td><code>/payrolls/export</code></td>\n<td>POST</td>\n<td>Toplu export (CSV/JSON)</td>\n<td>-</td>\n<td>API Key</td>\n</tr>\n<tr>\n<td><code>/payrolls/export/{job_id}/status</code></td>\n<td>GET</td>\n<td>Export durumu sorgulama</td>\n<td>-</td>\n<td>API Key</td>\n</tr>\n<tr>\n<td><code>/payrolls/export/{job_id}/download</code></td>\n<td>GET</td>\n<td>Export dosyası indirme</td>\n<td>-</td>\n<td>API Key</td>\n</tr>\n<tr>\n<td><code>/payrolls/exports</code></td>\n<td>GET</td>\n<td>Export geçmişi listeleme</td>\n<td>20</td>\n<td>API Key</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"hangi-yöntemi-kullanmalıyım\">Hangi Yöntemi Kullanmalıyım?</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>┌─────────────────────────────────────┐\n│ Kaç kayıt çekeceksiniz?             │\n└─────────────┬───────────────────────┘\n              │\n    ┌─────────┴─────────┐\n    │                   │\n  &lt; 10,000            &gt; 10,000\n    │                   │\n    ▼                   ▼\nStandart            ┌─────────────────────┐\nPagination          │ Tüm veriyi sırayla  │\n                    │ mı çekeceksiniz?     │\n                    └──────────┬──────────┘\n                               │\n                    ┌──────────┴──────────┐\n                    │                     │\n                  Evet                   Hayır\n                    │                     │\n                    ▼                     ▼\n            Stream Endpoint        Async Export\n            (/stream)             (/export)\n            • Gerçek zamanlı      • CSV/JSON dosya\n            • Sayfa sayfa         • 24 saat geçerli\n            • 500 kayıt/sayfa     • Polling gerekli\n\n</code></pre><h3 id=\"temel-kullanım-örnekleri\">Temel Kullanım Örnekleri</h3>\n<h4 id=\"🔄-stream-ile-veri-çekme\">🔄 Stream ile Veri Çekme</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\"># İlk sayfa\ncurl \"https://api.passgage.com/api/public/v1/user_shifts/stream?limit=500\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n# Sonraki sayfa (response'dan cursor alın)\ncurl \"https://api.passgage.com/api/public/v1/user_shifts/stream?limit=500&amp;after=CURSOR_VALUE\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n\n</code></pre>\n<h4 id=\"📦-export-ile-toplu-i̇ndirme\">📦 Export ile Toplu İndirme</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\"># 1. Export başlat\ncurl -X POST \"https://api.passgage.com/api/public/v1/payrolls/export\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -d '{\"format\":\"csv\",\"date_from\":\"2025-01-01\",\"date_to\":\"2025-01-31\"}'\n# 2. Durumu kontrol et (5-10 saniye aralıklarla)\ncurl \"https://api.passgage.com/api/public/v1/payrolls/export/JOB_ID/status\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n# 3. Dosyayı indir (status=completed olunca)\ncurl \"https://api.passgage.com/api/public/v1/payrolls/export/JOB_ID/download\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n\n</code></pre>\n<h3 id=\"⚠️-önemli-notlar\">⚠️ Önemli Notlar</h3>\n<ul>\n<li><p><strong>Export Endpoint'leri sadece API Key ile çalışır</strong> - User JWT token ile kullanılamaz</p>\n</li>\n<li><p><strong>Export dosyaları 24 saat sonra silinir</strong> - İndirmeyi unutmayın</p>\n</li>\n<li><p><strong>Stream için polling yapmayın</strong> - Cursor ile sayfa sayfa ilerleyin</p>\n</li>\n<li><p><strong>Büyük export'lar için</strong> - 5-10 saniye aralıklarla status kontrolü yapın</p>\n</li>\n</ul>\n<h3 id=\"📚-detaylı-dokümantasyon\">📚 Detaylı Dokümantasyon</h3>\n<p>Cursor pagination ve async export özellikleri hakkında detaylı bilgi için:</p>\n<ul>\n<li><strong>User Shift</strong> ve <strong>Payrolls</strong> folder'larındaki endpoint açıklamalarına bakın</li>\n</ul>\n<hr>\n<h1 id=\"filtreleme\">Filtreleme</h1>\n<p>API üzerinden verileri belirli kriterlere göre filtrelemek için <code>q</code> parametresini kullanabilirsiniz. Ransack altyapısı ile çalışan bu yapı sayesinde birçok farklı sorgu türü ile gelişmiş arama gerçekleştirebilirsiniz.</p>\n<p>Aşağıdaki tabloda, desteklenen filtreleme türlerini ve örnek kullanımlarını bulabilirsiniz.</p>\n<blockquote>\n<p><strong>İpucu:</strong> Birden fazla filtreyi aynı anda uygulayabilir ve ihtiyaçlarınıza göre karma sorgular oluşturabilirsiniz. </p>\n</blockquote>\n<h4 id=\"örnek-i̇stek-1\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl --location --globoff 'http://localhost:3000/api/public/v1/users?q[client_id_cont]=1-2-3&amp;q[id_eq]=c634175a-3d1d-4302-b5de-f550becb1e8e' \\\n--header 'Authorization: Bearer API_KEY'\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Sorgu Türü</th>\n<th>Açıklama</th>\n<th>Örnek Kullanım</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>*_eq</td>\n<td>Belirli bir değere eşitlik için kullanılır.</td>\n<td>name_eq</td>\n</tr>\n<tr>\n<td>*_not_eq</td>\n<td>Belirli bir değere eşit olmama durumu için kullanılır.</td>\n<td>name_not_eq</td>\n</tr>\n<tr>\n<td>*_lt</td>\n<td>Bir değerin başka bir değerden küçük olup olmadığını kontrol eder.</td>\n<td>age_lt</td>\n</tr>\n<tr>\n<td>*_lt_any</td>\n<td>Birden fazla değerin herhangi birinden küçük olup olmadığını kontrol eder.</td>\n<td>age_lt_any</td>\n</tr>\n<tr>\n<td>*_lt_all</td>\n<td>Birden fazla değerin hepsinden küçük olup olmadığını kontrol eder.</td>\n<td>age_lt_all</td>\n</tr>\n<tr>\n<td>*_lteq</td>\n<td>Eşit veya küçük olup olmadığını kontrol eder.</td>\n<td>age_lteq</td>\n</tr>\n<tr>\n<td>*_lteq_any</td>\n<td>Birden fazla değerin herhangi birine eşit veya küçük olup olmadığını kontrol eder.</td>\n<td>age_lteq_any</td>\n</tr>\n<tr>\n<td>*_lteq_all</td>\n<td>Birden fazla değerin hepsine eşit veya küçük olup olmadığını kontrol eder.</td>\n<td>age_lteq_all</td>\n</tr>\n<tr>\n<td>*_gt</td>\n<td>Büyük olup olmadığını kontrol eder.</td>\n<td>age_gt</td>\n</tr>\n<tr>\n<td>*_gt_any</td>\n<td>Birden fazla değerin herhangi birinden büyük olup olmadığını kontrol eder.</td>\n<td>age_gt_any</td>\n</tr>\n<tr>\n<td>*_gt_all</td>\n<td>Birden fazla değerin hepsinden büyük olup olmadığını kontrol eder.</td>\n<td>age_gt_all</td>\n</tr>\n<tr>\n<td>*_gteq</td>\n<td>Eşit veya büyük olup olmadığını kontrol eder.</td>\n<td>age_gteq</td>\n</tr>\n<tr>\n<td>*_gteq_any</td>\n<td>Birden fazla değerin herhangi birine eşit veya büyük olup olmadığını kontrol eder.</td>\n<td>age_gteq_any</td>\n</tr>\n<tr>\n<td>*_gteq_all</td>\n<td>Birden fazla değerin hepsine eşit veya büyük olup olmadığını kontrol eder.</td>\n<td>age_gteq_all</td>\n</tr>\n<tr>\n<td>*_in</td>\n<td>Belirli bir dizi içinde olup olmadığını kontrol eder.</td>\n<td>age_in</td>\n</tr>\n<tr>\n<td>*_not_in</td>\n<td>Belirli bir dizi içinde olmadığını kontrol eder.</td>\n<td>age_not_in</td>\n</tr>\n<tr>\n<td>*_matches</td>\n<td>Regex/pattern ile eşleşip eşleşmediğini kontrol eder.</td>\n<td>name_matches</td>\n</tr>\n<tr>\n<td>*_matches_any</td>\n<td>Birden fazla değerden biriyle eşleşip eşleşmediğini kontrol eder.</td>\n<td>name_matches_any</td>\n</tr>\n<tr>\n<td>*_matches_all</td>\n<td>Tüm değerlerle eşleşip eşleşmediğini kontrol eder.</td>\n<td>name_matches_all</td>\n</tr>\n<tr>\n<td>*_does_not_match</td>\n<td>Belirli bir pattern ile eşleşmediğini kontrol eder.</td>\n<td>name_does_not_match</td>\n</tr>\n<tr>\n<td>*_does_not_match_any</td>\n<td>Herhangi biriyle eşleşmeme durumu için kullanılır.</td>\n<td>name_does_not_match_any</td>\n</tr>\n<tr>\n<td>*_does_not_match_all</td>\n<td>Tüm değerlerle eşleşmeme durumu için kullanılır.</td>\n<td>name_does_not_match_all</td>\n</tr>\n<tr>\n<td>*_cont</td>\n<td>Belirli bir ifadeyi içerip içermediğini kontrol eder (case insensitive).</td>\n<td>name_cont</td>\n</tr>\n<tr>\n<td>*_present</td>\n<td>Alanın dolu (null olmayan) olup olmadığını kontrol eder.</td>\n<td>name_present</td>\n</tr>\n<tr>\n<td>*_blank</td>\n<td>Alanın boş olup olmadığını kontrol eder.</td>\n<td>name_blank=1 veya name_blank=0</td>\n</tr>\n<tr>\n<td>*_null</td>\n<td>Null olup olmadığını kontrol eder.</td>\n<td>name_null</td>\n</tr>\n<tr>\n<td>*_not_null</td>\n<td>Null olmadığını kontrol eder.</td>\n<td>name_not_null</td>\n</tr>\n<tr>\n<td>*_between</td>\n<td>Değerin belirli bir aralıkta olup olmadığını kontrol eder.</td>\n<td>created_at_between</td>\n</tr>\n<tr>\n<td>*_is_active_eq</td>\n<td>Aktiflik durumunu kontrol eder.</td>\n<td>user_is_active_eq=true</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h1 id=\"iletisim\">İletişim</h1>\n<p>Passgage API'yi kullanmak veya görüşlerinizi paylaşmak isterseniz, lütfen <a href=\"https://mailto:deneyim@passgage.com\">deneyim@passgage.com</a> adresi üzerinden bizimle iletişime geçiniz. Geri bildirimleriniz bizim için önemlidir.</p>\n<p>Teşekkür ederiz!</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Passgage API Kullanımı","slug":"passgage-api-kullanimi"},{"content":"Hatalar (Error Reference)","slug":"hatalar-error-reference"},{"content":"Sayfalama","slug":"sayfalama"},{"content":"Cursor Pagination ve Async Export","slug":"cursor-pagination-ve-async-export"},{"content":"Filtreleme","slug":"filtreleme"},{"content":"İletişim","slug":"iletisim"}],"owner":"25481311","collectionId":"59789240-5fd7-4067-8f9f-254fe7bf6598","publishedId":"2s93m8xKtP","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-03-06T20:25:02.000Z"},"item":[{"name":"User Authentication","item":[{"name":"User Login","event":[{"listen":"test","script":{"id":"93bffe92-37c8-4d91-8026-fd306b79be86","exec":["if (pm.response.code === 200) {","    const response = pm.response.json();","    if (response.token || response.data.token) {","        const token = response.token || response.data.token;","        pm.collectionVariables.set('user_jwt_token', token);","        console.log('JWT Token saved:', token);","    }","}"],"type":"text/javascript","packages":{}}}],"id":"02580bf9-5c13-4c3f-a6ed-e2c7452c3d5b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"email\": \"passgagetest+29@gmail.com\",\n  \"password\": \"{{user_password}}\"\n}"},"url":"https://api.passgage.com/api/public/auth/login","description":"<p>Login endpoint to get JWT token for user authentication</p>\n","urlObject":{"path":["api","public","auth","login"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"02580bf9-5c13-4c3f-a6ed-e2c7452c3d5b"},{"name":"User Logout","id":"4ba0eec5-6755-4673-87e1-3bc8ac60f404","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{base_url}}/api/public/auth/logout","description":"<p>Logout current user session</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","auth","logout"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"4ba0eec5-6755-4673-87e1-3bc8ac60f404"},{"name":"Refresh Token","event":[{"listen":"test","script":{"id":"43f37824-f0b9-4bec-a2d2-3617b7123d4c","exec":["if (pm.response.code === 200) {","    const response = pm.response.json();","    if (response.token || response.data.token) {","        const token = response.token || response.data.token;","        pm.collectionVariables.set('user_jwt_token', token);","        console.log('New JWT Token saved:', token);","    }","}"],"type":"text/javascript","packages":{}}}],"id":"e2a8d35d-c3cc-44d2-964d-c175091f26fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{base_url}}/api/public/auth/refresh","description":"<p>Refresh JWT token</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","auth","refresh"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e2a8d35d-c3cc-44d2-964d-c175091f26fd"}],"id":"003ab14d-b2cf-4816-a007-c3d6c128a3fc","description":"<h1 id=\"user-authentication-api-dokümantasyonu\">User Authentication API Dokümantasyonu</h1>\n<h2 id=\"genel-bakış\">Genel Bakış</h2>\n<p>Bu dokümantasyon, Passgage API'sinin kullanıcı authentication (kimlik doğrulama) akışını kapsamaktadır. Company bearer token sisteminden farklı olarak, bu akış normal kullanıcıların email/password ile giriş yaparak JWT token almasını sağlar.</p>\n<h2 id=\"authentication-endpoints\">Authentication Endpoints</h2>\n<h3 id=\"1-user-login\">1. User Login</h3>\n<p>Kullanıcıların email ve password ile giriş yaparak JWT token almalarını sağlar.</p>\n<p><strong>Endpoint:</strong> <code>POST /api/public/auth/login</code></p>\n<p><strong>Authentication:</strong> Bu endpoint authentication gerektirmez (noauth)</p>\n<p><strong>Headers:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Content-Type: application/json\n\n</code></pre><p><strong>Request Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"email\": \"kullanici@example.com\",\n  \"password\": \"kullanici_sifresi\"\n}\n\n</code></pre>\n<p><strong>Başarılı Response (200):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"Login successful\",\n  \"data\": {\n    \"token\": \"eyJhbGciOiJIUzI1NiJ9...\",\n    \"expires_at\": \"2025-08-01T10:00:00.000Z\",\n    \"user\": {\n      \"id\": \"user-uuid\",\n      \"email\": \"kullanici@example.com\",\n      \"first_name\": \"Kullanıcı\",\n      \"last_name\": \"Adı\",\n      \"full_name\": \"Kullanıcı Adı\",\n      \"company\": {\n        \"id\": \"company-uuid\",\n        \"name\": \"Şirket Adı\"\n      }\n    }\n  }\n}\n\n</code></pre>\n<p><strong>Hata Response (401 - Geçersiz Kimlik Bilgileri):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 401,\n  \"message\": \"Invalid email or password\",\n  \"errors\": []\n}\n\n</code></pre>\n<p><strong>Hata Response (401 - Hesap Deaktif):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 401,\n  \"message\": \"Account is inactive\",\n  \"errors\": []\n}\n\n</code></pre>\n<p><strong>Hata Response (422 - Eksik Parametreler):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 422,\n  \"message\": \"Email and password are required\",\n  \"errors\": [\"Email can't be blank\", \"Password can't be blank\"]\n}\n\n</code></pre>\n<p><strong>Postman Test Script:</strong><br />Login başarılı olduğunda, response'dan gelen token otomatik olarak <code>user_jwt_token</code> collection variable'ına kaydedilir:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">if (pm.response.code === 200) {\n    const response = pm.response.json();\n    if (response.token || response.data.token) {\n        const token = response.token || response.data.token;\n        pm.collectionVariables.set('user_jwt_token', token);\n        console.log('JWT Token saved:', token);\n    }\n}\n\n</code></pre>\n<h3 id=\"2-token-refresh\">2. Token Refresh</h3>\n<p>Mevcut JWT token'ın süresini uzatmak için kullanılır.</p>\n<p><strong>Endpoint:</strong> <code>POST /api/public/auth/refresh</code></p>\n<p><strong>Authentication:</strong> Bearer Token gereklidir</p>\n<p><strong>Headers:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer \n\n</code></pre><p><strong>Request Body:</strong> Boş (body gerekmez)</p>\n<p><strong>Başarılı Response (200):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"Token refreshed successfully\",\n  \"data\": {\n    \"token\": \"yeni_jwt_token\",\n    \"expires_at\": \"2025-08-01T10:00:00.000Z\"\n  }\n}\n\n</code></pre>\n<p><strong>Hata Response (401):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 401,\n  \"message\": \"Token refresh failed\",\n  \"errors\": [\"error_message\"]\n}\n\n</code></pre>\n<p><strong>Postman Test Script:</strong><br />Refresh başarılı olduğunda, yeni token collection variable'ına kaydedilir:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">if (pm.response.code === 200) {\n    const response = pm.response.json();\n    if (response.token || response.data.token) {\n        const token = response.token || response.data.token;\n        pm.collectionVariables.set('user_jwt_token', token);\n        console.log('New JWT Token saved:', token);\n    }\n}\n\n</code></pre>\n<h3 id=\"3-user-logout\">3. User Logout</h3>\n<p>Kullanıcının oturumunu sonlandırır ve token'ı geçersiz kılar.</p>\n<p><strong>Endpoint:</strong> <code>DELETE /api/public/auth/logout</code></p>\n<p><strong>Authentication:</strong> Bearer Token gereklidir</p>\n<p><strong>Headers:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer \n\n</code></pre><p><strong>Request Body:</strong> Boş (body gerekmez)</p>\n<p><strong>Başarılı Response (200):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"Logout successful\",\n  \"data\": {}\n}\n\n</code></pre>\n<p><strong>Hata Response (500):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 500,\n  \"message\": \"Logout failed\",\n  \"errors\": [\"error_message\"]\n}\n\n</code></pre>\n<h2 id=\"postman-collection-kurulumu\">Postman Collection Kurulumu</h2>\n<h3 id=\"collection-variables\">Collection Variables</h3>\n<p>Postman collection'ında aşağıdaki variable'lar tanımlanmalıdır:</p>\n<ul>\n<li><p><code>baseUrl</code>: API'nin base URL'i (örn: <code>https://api.passgage.com</code>)</p>\n</li>\n<li><p><code>user_password</code>: Test kullanıcısının şifresi</p>\n</li>\n<li><p><code>user_jwt_token</code>: Login sonrası otomatik olarak set edilir</p>\n</li>\n</ul>\n<h3 id=\"environment-variables-opsiyonel\">Environment Variables (Opsiyonel)</h3>\n<ul>\n<li><code>base_url</code>: <code>baseUrl</code> ile aynı değer (bazı endpoint'lerde kullanılıyor)</li>\n</ul>\n<h2 id=\"authentication-akışı\">Authentication Akışı</h2>\n<h3 id=\"1-i̇lk-giriş\">1. İlk Giriş</h3>\n<ol>\n<li><p>User Login endpoint'ini çağırın</p>\n</li>\n<li><p>Email ve password gönderin</p>\n</li>\n<li><p>Response'dan JWT token'ı alın</p>\n</li>\n<li><p>Token otomatik olarak <code>user_jwt_token</code> variable'ına kaydedilir</p>\n</li>\n</ol>\n<h3 id=\"2-api-çağrıları\">2. API Çağrıları</h3>\n<ol>\n<li><p>Diğer endpoint'ler için Authorization header'ına <code>Bearer </code> ekleyin</p>\n</li>\n<li><p>Token 30 gün boyunca geçerlidir</p>\n</li>\n</ol>\n<h3 id=\"3-token-yenileme\">3. Token Yenileme</h3>\n<ol>\n<li><p>Token süresi dolmadan önce Refresh Token endpoint'ini çağırın</p>\n</li>\n<li><p>Yeni token otomatik olarak variable'a kaydedilir</p>\n</li>\n</ol>\n<h3 id=\"4-çıkış\">4. Çıkış</h3>\n<ol>\n<li><p>User Logout endpoint'ini çağırın</p>\n</li>\n<li><p>Token geçersiz hale gelir</p>\n</li>\n</ol>\n<h2 id=\"company-bearer-token-vs-user-jwt-token\">Company Bearer Token vs User JWT Token</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Özellik</th>\n<th>Company Bearer Token</th>\n<th>User JWT Token</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Kullanım Amacı</strong></td>\n<td>System-to-system entegrasyonlar</td>\n<td>Kullanıcı bazlı işlemler</td>\n</tr>\n<tr>\n<td><strong>Authentication</strong></td>\n<td>API Key ile</td>\n<td>Email/Password ile</td>\n</tr>\n<tr>\n<td><strong>Token Türü</strong></td>\n<td>Bearer Token</td>\n<td>JWT Token</td>\n</tr>\n<tr>\n<td><strong>Süre</strong></td>\n<td>Uzun süreli</td>\n<td>30 gün</td>\n</tr>\n<tr>\n<td><strong>Yenileme</strong></td>\n<td>Manuel</td>\n<td>Refresh endpoint ile</td>\n</tr>\n<tr>\n<td><strong>Kapsamı</strong></td>\n<td>Company seviyesi</td>\n<td>User seviyesi</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"hata-yönetimi\">Hata Yönetimi</h2>\n<h3 id=\"yaygın-hata-kodları\">Yaygın Hata Kodları</h3>\n<ul>\n<li><p><strong>401 Unauthorized:</strong> Geçersiz kimlik bilgileri veya token</p>\n</li>\n<li><p><strong>422 Unprocessable Entity:</strong> Eksik veya geçersiz parametreler</p>\n</li>\n<li><p><strong>500 Internal Server Error:</strong> Server tarafında beklenmedik hata</p>\n</li>\n</ul>\n<h3 id=\"hata-handling-örnerleri\">Hata Handling Örnerleri</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">// Login hata kontrolü\nif (pm.response.code === 401) {\n    console.log('Login failed: Invalid credentials');\n}\n// Token geçersizse yeniden login\nif (pm.response.code === 401 &amp;&amp; pm.response.json().message.includes('token')) {\n    console.log('Token expired, please login again');\n}\n\n</code></pre>\n<h2 id=\"test-senaryoları\">Test Senaryoları</h2>\n<h3 id=\"1-başarılı-authentication-akışı\">1. Başarılı Authentication Akışı</h3>\n<ol>\n<li><p>✅ User Login - geçerli kimlik bilgileri</p>\n</li>\n<li><p>✅ Token ile API çağrısı</p>\n</li>\n<li><p>✅ Token Refresh</p>\n</li>\n<li><p>✅ User Logout</p>\n</li>\n</ol>\n<h3 id=\"2-hata-senaryoları\">2. Hata Senaryoları</h3>\n<ol>\n<li><p>❌ Geçersiz email/password ile login</p>\n</li>\n<li><p>❌ Deaktif hesap ile login</p>\n</li>\n<li><p>❌ Geçersiz token ile API çağrısı</p>\n</li>\n<li><p>❌ Eksik parametreler ile login</p>\n</li>\n</ol>\n","_postman_id":"003ab14d-b2cf-4816-a007-c3d6c128a3fc","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Approvals","item":[{"name":"Get All Approvals","id":"e02e04ce-7c98-4fb7-bc78-cf1111c902f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"https://api.passgage.com/api/public/v1/approvals?page=1&per_page=25","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","approvals"],"host":["https://api.passgage.com"],"query":[{"description":{"content":"<p>Sayfa numarası</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>Sayfa başına kayıt sayısı</p>\n","type":"text/plain"},"key":"per_page","value":"25"},{"disabled":true,"description":{"content":"<p>Onay durumu (pending/approved/rejected)</p>\n","type":"text/plain"},"key":"q[status_eq]","value":"pending"},{"disabled":true,"description":{"content":"<p>Onay türü (Leave/UserExtraWork/etc)</p>\n","type":"text/plain"},"key":"q[approvable_type_eq]","value":"Leave"},{"disabled":true,"description":{"content":"<p>Oluşturulma tarihi başlangıç</p>\n","type":"text/plain"},"key":"q[created_at_gteq]","value":"2024-01-01"},{"disabled":true,"description":{"content":"<p>Oluşturulma tarihi bitiş</p>\n","type":"text/plain"},"key":"q[created_at_lteq]","value":"2024-12-31"}],"variable":[]}},"response":[{"id":"a87d854f-3ffb-44b3-8e47-203f4bb53031","name":"Success Response","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/approvals"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n      \"status\": \"pending\",\n      \"approvable_type\": \"Leave\",\n      \"approvable_id\": \"leave_uuid_123\",\n      \"current_step\": 1,\n      \"total_steps\": 3,\n      \"created_at\": \"2024-01-16T10:00:00.000Z\",\n      \"updated_at\": \"2024-01-16T10:00:00.000Z\",\n      \"approval_flow\": {\n        \"id\": \"flow_uuid_123\",\n        \"title\": \"İzin Onay Akışı\",\n        \"flow_type\": \"leave_approval\",\n        \"is_active\": true,\n        \"is_main_flow\": true\n      },\n      \"approval_users\": [\n        {\n          \"id\": \"approval_user_uuid_1\",\n          \"user_id\": \"manager_uuid_1\",\n          \"user_name\": \"Ahmet Yönetici\",\n          \"user_email\": \"ahmet.yonetici@example.com\",\n          \"user_avatar_url\": \"https://example.com/avatar1.jpg\",\n          \"status\": \"approved\",\n          \"comment\": \"Onaylandı\",\n          \"seq\": 1,\n          \"is_require\": true,\n          \"created_at\": \"2024-01-16T10:00:00.000Z\",\n          \"updated_at\": \"2024-01-16T11:00:00.000Z\"\n        },\n        {\n          \"id\": \"approval_user_uuid_2\",\n          \"user_id\": \"hr_uuid_1\",\n          \"user_name\": \"Zeynep İK\",\n          \"user_email\": \"zeynep.ik@example.com\",\n          \"user_avatar_url\": null,\n          \"status\": \"pending\",\n          \"comment\": null,\n          \"seq\": 2,\n          \"is_require\": true,\n          \"created_at\": \"2024-01-16T10:00:00.000Z\",\n          \"updated_at\": \"2024-01-16T10:00:00.000Z\"\n        }\n      ]\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"total_pages\": 2,\n    \"total_count\": 45\n  }\n}"}],"_postman_id":"e02e04ce-7c98-4fb7-bc78-cf1111c902f2"},{"name":"Get Single Approval","id":"d294859b-f12a-41a3-a171-ae8163fa0048","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"https://api.passgage.com/api/public/v1/approvals/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","approvals",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Onay UUID'si</p>\n","type":"text/plain"},"type":"any","value":"b977b108-017a-4272-b725-cb0b23068431","key":"id"}]}},"response":[],"_postman_id":"d294859b-f12a-41a3-a171-ae8163fa0048"},{"name":"Get Pending Approvals","id":"3a96ccf2-fd84-4d30-ab24-15a62b686010","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/approvals/pending?page=1&per_page=25","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["approvals","pending"],"host":["{{base_url}}"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"25"}],"variable":[]}},"response":[],"_postman_id":"3a96ccf2-fd84-4d30-ab24-15a62b686010"},{"name":"Get Approved Approvals","id":"ff825d9a-c75a-4de0-92ee-3822bff2f49a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/approvals/approved?page=1&per_page=25","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["approvals","approved"],"host":["{{base_url}}"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"25"}],"variable":[]}},"response":[],"_postman_id":"ff825d9a-c75a-4de0-92ee-3822bff2f49a"},{"name":"Get Rejected Approvals","id":"e0f0ea10-2a9d-4bac-86e9-39c972e10cdb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/approvals/rejected?page=1&per_page=25","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["approvals","rejected"],"host":["{{base_url}}"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"25"}],"variable":[]}},"response":[],"_postman_id":"e0f0ea10-2a9d-4bac-86e9-39c972e10cdb"},{"name":"Get Waiting for Approval","id":"4f6c8f90-919f-41a9-ac89-c90308a226f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/approvals/waiting_for_approval?page=1&per_page=25","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["approvals","waiting_for_approval"],"host":["{{base_url}}"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"25"}],"variable":[]}},"response":[],"_postman_id":"4f6c8f90-919f-41a9-ac89-c90308a226f6"}],"id":"72bf8aed-d14e-45f5-894b-8c1cb5db9019","description":"<h1 id=\"onay-süreçleri-approvals-api-dokümantasyonu\">Onay Süreçleri (Approvals) API Dokümantasyonu</h1>\n<h2 id=\"genel-bilgiler\">Genel Bilgiler</h2>\n<p>Onay Süreçleri API'si, şirkette yürütülen tüm onay süreçlerini (izin talepleri, ek çalışma talepleri, görevlendirme talepleri vb.) takip etmek ve yönetmek için kullanılır.</p>\n<h3 id=\"temel-url\">Temel URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api.example.com/api/public/v1\n</code></pre><h3 id=\"kimlik-doğrulama\">Kimlik Doğrulama</h3>\n<p>Tüm API çağrıları Bearer Token ile yetkilendirilmelidir.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer YOUR_API_TOKEN\n</code></pre><h3 id=\"standart-yanıt-formatı\">Standart Yanıt Formatı</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": {},\n  \"meta\": {}\n}\n</code></pre>\n<h2 id=\"endpointler\">Endpoint'ler</h2>\n<h3 id=\"1-tüm-onay-süreçlerini-listele\">1. Tüm Onay Süreçlerini Listele</h3>\n<p><strong>GET</strong> <code>/approvals</code></p>\n<p>Şirket bünyesindeki tüm onay süreçlerini sayfalama ile getirir.</p>\n<h4 id=\"query-parametreleri\">Query Parametreleri</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Zorunlu</th>\n<th>Açıklama</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>Hayır</td>\n<td>Sayfa numarası (varsayılan: 1)</td>\n<td><code>1</code></td>\n</tr>\n<tr>\n<td><code>per_page</code></td>\n<td>integer</td>\n<td>Hayır</td>\n<td>Sayfa başına kayıt sayısı (varsayılan: 25)</td>\n<td><code>25</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filtreleme-parametreleri-ransack\">Filtreleme Parametreleri (Ransack)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Açıklama</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>q[status_eq]</code></td>\n<td>string</td>\n<td>Onay durumu filtresi</td>\n<td><code>pending</code>, <code>approved</code>, <code>rejected</code>, <code>in_progress</code></td>\n</tr>\n<tr>\n<td><code>q[approvable_type_eq]</code></td>\n<td>string</td>\n<td>Onay türü filtresi</td>\n<td><code>Leave</code>, <code>UserExtraWork</code>, <code>AssignmentRequest</code></td>\n</tr>\n<tr>\n<td><code>q[approvable_id_eq]</code></td>\n<td>uuid</td>\n<td>Belirli kaynağa ait onaylar</td>\n<td><code>123e4567-e89b-12d3-a456-426614174000</code></td>\n</tr>\n<tr>\n<td><code>q[created_at_gteq]</code></td>\n<td>date</td>\n<td>Oluşturulma tarihi başlangıç</td>\n<td><code>2024-01-01</code></td>\n</tr>\n<tr>\n<td><code>q[created_at_lteq]</code></td>\n<td>date</td>\n<td>Oluşturulma tarihi bitiş</td>\n<td><code>2024-12-31</code></td>\n</tr>\n<tr>\n<td><code>q[updated_at_gteq]</code></td>\n<td>date</td>\n<td>Güncellenme tarihi başlangıç</td>\n<td><code>2024-01-01</code></td>\n</tr>\n<tr>\n<td><code>q[current_step_eq]</code></td>\n<td>integer</td>\n<td>Mevcut adım numarası</td>\n<td><code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>q[total_steps_eq]</code></td>\n<td>integer</td>\n<td>Toplam adım sayısı</td>\n<td><code>2</code>, <code>3</code>, <code>4</code></td>\n</tr>\n<tr>\n<td><code>q[total_steps_gt]</code></td>\n<td>integer</td>\n<td>Belirtilen adımdan fazla</td>\n<td><code>2</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"örnek-i̇stek\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals?page=1&amp;per_page=25&amp;q[status_eq]=pending\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n  -H \"Content-Type: application/json\"\n</code></pre>\n<h4 id=\"örnek-yanıt\">Örnek Yanıt</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n      \"status\": \"pending\",\n      \"approvable_type\": \"Leave\",\n      \"approvable_id\": \"leave_uuid_123\",\n      \"current_step\": 1,\n      \"total_steps\": 3,\n      \"created_at\": \"2024-01-16T10:00:00.000Z\",\n      \"updated_at\": \"2024-01-16T10:00:00.000Z\",\n      \"approval_flow\": {\n        \"id\": \"flow_uuid_123\",\n        \"title\": \"İzin Onay Akışı\",\n        \"flow_type\": \"leave_approval\",\n        \"is_active\": true,\n        \"is_main_flow\": true\n      },\n      \"approval_users\": [\n        {\n          \"id\": \"approval_user_uuid_1\",\n          \"user_id\": \"manager_uuid_1\",\n          \"user_name\": \"Ahmet Yönetici\",\n          \"user_email\": \"ahmet.yonetici@example.com\",\n          \"user_avatar_url\": \"https://example.com/avatar1.jpg\",\n          \"status\": \"approved\",\n          \"comment\": \"Onaylandı\",\n          \"seq\": 1,\n          \"is_require\": true,\n          \"created_at\": \"2024-01-16T10:00:00.000Z\",\n          \"updated_at\": \"2024-01-16T11:00:00.000Z\"\n        },\n        {\n          \"id\": \"approval_user_uuid_2\",\n          \"user_id\": \"hr_uuid_1\",\n          \"user_name\": \"Zeynep İK\",\n          \"user_email\": \"zeynep.ik@example.com\",\n          \"user_avatar_url\": null,\n          \"status\": \"pending\",\n          \"comment\": null,\n          \"seq\": 2,\n          \"is_require\": true,\n          \"created_at\": \"2024-01-16T10:00:00.000Z\",\n          \"updated_at\": \"2024-01-16T10:00:00.000Z\"\n        }\n      ]\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"total_pages\": 2,\n    \"total_count\": 45\n  }\n}\n</code></pre>\n<h3 id=\"2-tekil-onay-süreci-detayı\">2. Tekil Onay Süreci Detayı</h3>\n<p><strong>GET</strong> <code>/approvals/:id</code></p>\n<p>Belirli bir onay sürecinin detayını getirir.</p>\n<h4 id=\"path-parametreleri\">Path Parametreleri</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Zorunlu</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>uuid</td>\n<td>Evet</td>\n<td>Onay Süreci UUID'si</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"örnek-i̇stek-1\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals/123e4567-e89b-12d3-a456-426614174000\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n  -H \"Content-Type: application/json\"\n</code></pre>\n<h4 id=\"örnek-yanıt-1\">Örnek Yanıt</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": {\n    \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"status\": \"pending\",\n    \"approvable_type\": \"Leave\",\n    \"approvable_id\": \"leave_uuid_123\",\n    \"current_step\": 2,\n    \"total_steps\": 3,\n    \"created_at\": \"2024-01-16T10:00:00.000Z\",\n    \"updated_at\": \"2024-01-16T11:30:00.000Z\",\n    \"approval_flow\": {\n      \"id\": \"flow_uuid_123\",\n      \"title\": \"İzin Onay Akışı\",\n      \"flow_type\": \"leave_approval\",\n      \"is_active\": true,\n      \"is_main_flow\": true\n    },\n    \"approval_users\": [\n      {\n        \"id\": \"approval_user_uuid_1\",\n        \"user_id\": \"manager_uuid_1\",\n        \"user_name\": \"Ahmet Yönetici\",\n        \"user_email\": \"ahmet.yonetici@example.com\",\n        \"user_avatar_url\": \"https://example.com/avatar1.jpg\",\n        \"status\": \"approved\",\n        \"comment\": \"Onaylandı, devam edebilir\",\n        \"seq\": 1,\n        \"is_require\": true,\n        \"created_at\": \"2024-01-16T10:00:00.000Z\",\n        \"updated_at\": \"2024-01-16T11:00:00.000Z\"\n      },\n      {\n        \"id\": \"approval_user_uuid_2\",\n        \"user_id\": \"hr_uuid_1\",\n        \"user_name\": \"Zeynep İK\",\n        \"user_email\": \"zeynep.ik@example.com\",\n        \"user_avatar_url\": null,\n        \"status\": \"pending\",\n        \"comment\": null,\n        \"seq\": 2,\n        \"is_require\": true,\n        \"created_at\": \"2024-01-16T10:00:00.000Z\",\n        \"updated_at\": \"2024-01-16T10:00:00.000Z\"\n      },\n      {\n        \"id\": \"approval_user_uuid_3\",\n        \"user_id\": \"director_uuid_1\",\n        \"user_name\": \"Mehmet Direktör\",\n        \"user_email\": \"mehmet.direktor@example.com\",\n        \"user_avatar_url\": \"https://example.com/avatar3.jpg\",\n        \"status\": \"pending\",\n        \"comment\": null,\n        \"seq\": 3,\n        \"is_require\": true,\n        \"created_at\": \"2024-01-16T10:00:00.000Z\",\n        \"updated_at\": \"2024-01-16T10:00:00.000Z\"\n      }\n    ]\n  },\n  \"meta\": {}\n}\n</code></pre>\n<h3 id=\"3-onay-bekleyen-süreçler\">3. Onay Bekleyen Süreçler</h3>\n<p><strong>GET</strong> <code>/approvals/pending</code></p>\n<p>Onay bekleyen tüm süreçleri getirir.</p>\n<h4 id=\"örnek-i̇stek-2\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals/pending?page=1&amp;per_page=25\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"4-onaylanmış-süreçler\">4. Onaylanmış Süreçler</h3>\n<p><strong>GET</strong> <code>/approvals/approved</code></p>\n<p>Onaylanmış tüm süreçleri getirir.</p>\n<h4 id=\"örnek-i̇stek-3\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals/approved?page=1&amp;per_page=25\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"5-reddedilmiş-süreçler\">5. Reddedilmiş Süreçler</h3>\n<p><strong>GET</strong> <code>/approvals/rejected</code></p>\n<p>Reddedilmiş tüm süreçleri getirir.</p>\n<h4 id=\"örnek-i̇stek-4\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals/rejected?page=1&amp;per_page=25\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"6-onay-bekleyen-süreçler-geniş\">6. Onay Bekleyen Süreçler (Geniş)</h3>\n<p><strong>GET</strong> <code>/approvals/waiting_for_approval</code></p>\n<p>Onay bekleyen veya devam eden tüm süreçleri getirir (pending + in_progress durumundaki kayıtlar).</p>\n<h4 id=\"örnek-i̇stek-5\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals/waiting_for_approval?page=1&amp;per_page=25\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h2 id=\"veri-modeli\">Veri Modeli</h2>\n<h3 id=\"approval-onay-süreci-nesnesi\">Approval (Onay Süreci) Nesnesi</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>uuid</td>\n<td>Onay sürecinin benzersiz kimliği</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>Onay durumu (<code>pending</code>, <code>approved</code>, <code>rejected</code>, <code>in_progress</code>)</td>\n</tr>\n<tr>\n<td><code>approvable_type</code></td>\n<td>string</td>\n<td>Onay edilecek kaynağın türü (<code>Leave</code>, <code>UserExtraWork</code>, <code>AssignmentRequest</code>)</td>\n</tr>\n<tr>\n<td><code>approvable_id</code></td>\n<td>uuid</td>\n<td>Onay edilecek kaynağın kimliği</td>\n</tr>\n<tr>\n<td><code>current_step</code></td>\n<td>integer</td>\n<td>Mevcut onay adımı (1'den başlar)</td>\n</tr>\n<tr>\n<td><code>total_steps</code></td>\n<td>integer</td>\n<td>Toplam onay adım sayısı</td>\n</tr>\n<tr>\n<td><code>created_at</code></td>\n<td>datetime</td>\n<td>Onay sürecinin oluşturulma zamanı</td>\n</tr>\n<tr>\n<td><code>updated_at</code></td>\n<td>datetime</td>\n<td>Onay sürecinin son güncellenme zamanı</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"i̇lişkili-nesneler\">İlişkili Nesneler</h3>\n<h4 id=\"approval_flow-onay-akışı\">approval_flow (Onay Akışı)</h4>\n<p>Onay sürecinin dayandığı şablon akış:</p>\n<ul>\n<li><code>id</code>: Onay akışı UUID'si</li>\n<li><code>title</code>: Akış başlığı</li>\n<li><code>flow_type</code>: Akış türü (<code>leave_approval</code>, <code>extra_work_approval</code>, vb.)</li>\n<li><code>is_active</code>: Akış aktif mi?</li>\n<li><code>is_main_flow</code>: Ana akış mı?</li>\n</ul>\n<h4 id=\"approval_users-onaylayıcı-kullanıcılar\">approval_users (Onaylayıcı Kullanıcılar)</h4>\n<p>Onay sürecinde yer alan her onaylayıcının durumu:</p>\n<ul>\n<li><code>id</code>: Onaylayıcı kaydı UUID'si</li>\n<li><code>user_id</code>: Onaylayıcı kullanıcının UUID'si</li>\n<li><code>user_name</code>: Kullanıcının tam adı</li>\n<li><code>user_email</code>: Kullanıcının e-posta adresi</li>\n<li><code>user_avatar_url</code>: Kullanıcının profil fotoğrafı URL'si (nullable)</li>\n<li><code>status</code>: Bu onaylayıcının durumu (<code>pending</code>, <code>approved</code>, <code>rejected</code>)</li>\n<li><code>comment</code>: Onaylayıcının yorumu (nullable)</li>\n<li><code>seq</code>: Onay sırası (1'den başlar)</li>\n<li><code>is_require</code>: Bu onay zorunlu mu?</li>\n<li><code>created_at</code>: Kayıt oluşturulma zamanı</li>\n<li><code>updated_at</code>: Son güncellenme zamanı</li>\n</ul>\n<h2 id=\"onay-durumları\">Onay Durumları</h2>\n<h3 id=\"approval-status-ana-onay-durumu\">Approval Status (Ana Onay Durumu)</h3>\n<ul>\n<li><code>pending</code>: Onay bekliyor (henüz başlamamış veya ilk adımda)</li>\n<li><code>in_progress</code>: Onay sürecinde (bazı adımlar tamamlanmış)</li>\n<li><code>approved</code>: Tamamen onaylandı (tüm gerekli onaylar alındı)</li>\n<li><code>rejected</code>: Reddedildi (herhangi bir adımda reddedildi)</li>\n</ul>\n<h3 id=\"approval-user-status-bireysel-onaylayıcı-durumu\">Approval User Status (Bireysel Onaylayıcı Durumu)</h3>\n<ul>\n<li><code>pending</code>: Henüz onay vermemiş</li>\n<li><code>approved</code>: Onay vermiş</li>\n<li><code>rejected</code>: Reddetmiş</li>\n</ul>\n<h2 id=\"onay-türleri-approvable-types\">Onay Türleri (Approvable Types)</h2>\n<p>Yaygın kullanılan onay türleri:</p>\n<ul>\n<li><code>Leave</code>: İzin talepleri</li>\n<li><code>UserExtraWork</code>: Ek çalışma talepleri</li>\n<li><code>AssignmentRequest</code>: Görevlendirme talepleri</li>\n<li><code>Expense</code>: Masraf talepleri</li>\n<li><code>Document</code>: Doküman onayları</li>\n</ul>\n<h2 id=\"hata-kodları\">Hata Kodları</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>HTTP Kodu</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>200</code></td>\n<td>Başarılı</td>\n</tr>\n<tr>\n<td><code>401</code></td>\n<td>Yetkisiz erişim (Geçersiz token)</td>\n</tr>\n<tr>\n<td><code>404</code></td>\n<td>Kayıt bulunamadı</td>\n</tr>\n<tr>\n<td><code>422</code></td>\n<td>İşlenemez varlık (Geçersiz parametreler)</td>\n</tr>\n<tr>\n<td><code>500</code></td>\n<td>Sunucu hatası</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"örnek-hata-yanıtı\">Örnek Hata Yanıtı</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 404,\n  \"message\": \"Kayıt bulunamadı\",\n  \"errors\": [\"Belirtilen ID ile onay süreci bulunamadı\"]\n}\n</code></pre>\n<h2 id=\"kullanım-örnekleri\">Kullanım Örnekleri</h2>\n<h3 id=\"1-belirli-tarih-aralığındaki-onayları-getir\">1. Belirli Tarih Aralığındaki Onayları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals?q[created_at_gteq]=2024-01-01&amp;q[created_at_lteq]=2024-01-31\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"2-i̇zin-onaylarını-getir\">2. İzin Onaylarını Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals?q[approvable_type_eq]=Leave\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"3-ek-çalışma-onaylarını-getir\">3. Ek Çalışma Onaylarını Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals?q[approvable_type_eq]=UserExtraWork&amp;q[status_eq]=approved\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"4-çok-adımlı-onay-süreçlerini-getir\">4. Çok Adımlı Onay Süreçlerini Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals?q[total_steps_gt]=2\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"5-devam-eden-onay-süreçlerini-getir\">5. Devam Eden Onay Süreçlerini Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals/waiting_for_approval\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"6-bugün-güncellenen-onayları-getir\">6. Bugün Güncellenen Onayları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals?q[updated_at_gteq]=2024-01-16\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"7-belirli-bir-i̇zin-talebinin-onay-durumunu-kontrol-et\">7. Belirli Bir İzin Talebinin Onay Durumunu Kontrol Et</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals?q[approvable_type_eq]=Leave&amp;q[approvable_id_eq]=leave_uuid_123\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"8-i̇kinci-adımda-bekleyen-onayları-getir\">8. İkinci Adımda Bekleyen Onayları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approvals?q[current_step_eq]=2&amp;q[status_eq]=pending\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h2 id=\"onay-süreci-i̇ş-akışı\">Onay Süreci İş Akışı</h2>\n<h3 id=\"süreç-adımları\">Süreç Adımları</h3>\n<ol>\n<li><strong>Talep Oluşturma</strong>: Kullanıcı bir talep oluşturur (izin, ek çalışma vb.)</li>\n<li><strong>Onay Başlatma</strong>: Sistem uygun onay akışını bulur ve Approval kaydı oluşturur</li>\n<li><strong>İlk Adım</strong>: <code>current_step = 1</code>, <code>status = pending</code></li>\n<li><strong>Sıralı Onaylama</strong>: Her onaylayıcı sırasıyla onaylar</li>\n<li><strong>Adım İlerlemesi</strong>: Her onay sonrası <code>current_step</code> artar</li>\n<li><strong>Süreç Tamamlama</strong>: <ul>\n<li>Tüm onaylar alındığında: <code>status = approved</code></li>\n<li>Herhangi bir red durumunda: <code>status = rejected</code></li>\n</ul>\n</li>\n</ol>\n<h3 id=\"durum-geçişleri\">Durum Geçişleri</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>pending → in_progress → approved\npending → rejected\nin_progress → rejected\n</code></pre><h3 id=\"onay-sırası\">Onay Sırası</h3>\n<ul>\n<li>Onaylayıcılar <code>seq</code> (sequence) alanına göre sıralanır</li>\n<li>Her adımda sadece o adımdaki onaylayıcı(lar) işlem yapabilir</li>\n<li><code>is_require = true</code> olan onaylar zorunludur</li>\n<li><code>is_require = false</code> olan onaylar opsiyoneldir</li>\n</ul>\n<h2 id=\"entegrasyon-notları\">Entegrasyon Notları</h2>\n<ul>\n<li><strong>Polymorphic İlişki</strong>: <code>approvable_type</code> ve <code>approvable_id</code> ile farklı türdeki kaynaklara bağlanır</li>\n<li><strong>Real-time Updates</strong>: Onay durumu değişikliklerinde webhook/notification sistemi kullanılabilir</li>\n<li><strong>Audit Trail</strong>: Her onay adımı için tam geçmiş tutulur</li>\n<li><strong>Paralel Onay</strong>: Aynı <code>seq</code> değerine sahip onaylayıcılar paralel onay verebilir</li>\n</ul>\n<h2 id=\"güvenlik\">Güvenlik</h2>\n<ul>\n<li>Tüm endpoint'ler Bearer token ile korunmaktadır</li>\n<li>Kullanıcılar sadece kendi şirketlerinin onay süreçlerini görebilir</li>\n<li>Onay verme yetkileri ayrı bir authorization sistemi ile kontrol edilir</li>\n</ul>\n<h2 id=\"sınırlamalar\">Sınırlamalar</h2>\n<ul>\n<li>Sayfalama varsayılan olarak sayfa başına 25 kayıt getirir</li>\n<li>Maksimum sayfa boyutu 100'dür</li>\n<li>Filtreleme işlemleri Ransack gem'i kullanılarak yapılır</li>\n<li>Tarih filtreleri UTC formatında olmalıdır</li>\n<li>Bu endpoint'ler sadece okuma amaçlıdır (onay verme/reddetme ayrı endpoint'lerde)</li>\n</ul>\n<h2 id=\"destek\">Destek</h2>\n<p>API kullanımı ile ilgili sorularınız için lütfen geliştirici ekibi ile iletişime geçin.</p>\n","_postman_id":"72bf8aed-d14e-45f5-894b-8c1cb5db9019","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Approval Flows","item":[{"name":"Get All Approval Flows","id":"e5e95352-54ac-4076-8e87-9f27aecb8f1e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"https://api.passgage.com/api/public/v1/approval_flows?page=1&per_page=25","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","approval_flows"],"host":["https://api.passgage.com"],"query":[{"description":{"content":"<p>Sayfa numarası</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>Sayfa başına kayıt sayısı</p>\n","type":"text/plain"},"key":"per_page","value":"25"},{"disabled":true,"description":{"content":"<p>Akış türü filtresi</p>\n","type":"text/plain"},"key":"q[flow_type_eq]","value":"leave_approval"},{"disabled":true,"description":{"content":"<p>Aktif akışlar</p>\n","type":"text/plain"},"key":"q[is_active_eq]","value":"true"},{"disabled":true,"description":{"content":"<p>Ana akışlar</p>\n","type":"text/plain"},"key":"q[is_main_flow_eq]","value":"true"}],"variable":[]}},"response":[{"id":"64abb3af-77e6-4006-8bce-c09f9cabdbc6","name":"Success Response","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/approval_flows"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"id\": \"flow_uuid_123\",\n      \"title\": \"İzin Onay Akışı\",\n      \"flow_type\": \"leave_approval\",\n      \"is_active\": true,\n      \"is_main_flow\": true,\n      \"use_hierarchy\": true,\n      \"hierarchy_level\": 2,\n      \"created_at\": \"2024-01-01T00:00:00.000Z\",\n      \"updated_at\": \"2024-01-15T10:00:00.000Z\",\n      \"department_ids\": [\"dept_uuid_1\", \"dept_uuid_2\"],\n      \"branch_ids\": [\"branch_uuid_1\"],\n      \"job_position_ids\": [\"pos_uuid_1\", \"pos_uuid_2\"],\n      \"person_ids\": [\"person_uuid_1\"],\n      \"approval_flow_users\": [\n        {\n          \"id\": \"flow_user_uuid_1\",\n          \"user_id\": \"manager_uuid_1\",\n          \"seq\": 1,\n          \"is_require\": true,\n          \"user\": {\n            \"id\": \"manager_uuid_1\",\n            \"first_name\": \"Ahmet\",\n            \"last_name\": \"Yönetici\",\n            \"email\": \"ahmet.yonetici@example.com\"\n          }\n        },\n        {\n          \"id\": \"flow_user_uuid_2\",\n          \"user_id\": \"hr_uuid_1\",\n          \"seq\": 2,\n          \"is_require\": true,\n          \"user\": {\n            \"id\": \"hr_uuid_1\",\n            \"first_name\": \"Zeynep\",\n            \"last_name\": \"İK\",\n            \"email\": \"zeynep.ik@example.com\"\n          }\n        }\n      ]\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"total_pages\": 1,\n    \"total_count\": 5\n  }\n}"}],"_postman_id":"e5e95352-54ac-4076-8e87-9f27aecb8f1e"},{"name":"Get Single Approval Flow","id":"0cf53aaa-ee50-4471-b278-a6e728a2fbac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"https://api.passgage.com/api/public/v1/approval_flows/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","approval_flows",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Onay Akışı UUID'si</p>\n","type":"text/plain"},"type":"any","value":"approval_flow_uuid_here","key":"id"}]}},"response":[],"_postman_id":"0cf53aaa-ee50-4471-b278-a6e728a2fbac"},{"name":"Get Approval Flows by Type","id":"b8501fda-1d5e-4b78-8a0f-0d632f97e0f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/approval_flows/by_type?flow_type=leave_approval","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["approval_flows","by_type"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Akış türü (leave_approval, extra_work_approval, etc.)</p>\n","type":"text/plain"},"key":"flow_type","value":"leave_approval"}],"variable":[]}},"response":[],"_postman_id":"b8501fda-1d5e-4b78-8a0f-0d632f97e0f1"}],"id":"61ba0b78-020b-4478-93da-54940a41ee9e","description":"<h1 id=\"onay-akışları-approval-flows-api-dokümantasyonu\">Onay Akışları (Approval Flows) API Dokümantasyonu</h1>\n<h2 id=\"genel-bilgiler\">Genel Bilgiler</h2>\n<p>Onay Akışları API'si, şirketteki farklı türdeki onay süreçleri için tanımlanmış şablonları ve bu şablonların yapılandırmalarını yönetmek için kullanılır. Bu akışlar, onay süreçlerinin hangi kullanıcılar tarafından, hangi sırayla onaylanacağını belirler.</p>\n<h3 id=\"temel-url\">Temel URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api.example.com/api/public/v1\n</code></pre><h3 id=\"kimlik-doğrulama\">Kimlik Doğrulama</h3>\n<p>Tüm API çağrıları Bearer Token ile yetkilendirilmelidir.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer YOUR_API_TOKEN\n</code></pre><h3 id=\"standart-yanıt-formatı\">Standart Yanıt Formatı</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": {},\n  \"meta\": {}\n}\n</code></pre>\n<h2 id=\"endpointler\">Endpoint'ler</h2>\n<h3 id=\"1-tüm-onay-akışlarını-listele\">1. Tüm Onay Akışlarını Listele</h3>\n<p><strong>GET</strong> <code>/approval_flows</code></p>\n<p>Şirket bünyesindeki tüm onay akışı şablonlarını sayfalama ile getirir.</p>\n<h4 id=\"query-parametreleri\">Query Parametreleri</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Zorunlu</th>\n<th>Açıklama</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>Hayır</td>\n<td>Sayfa numarası (varsayılan: 1)</td>\n<td><code>1</code></td>\n</tr>\n<tr>\n<td><code>per_page</code></td>\n<td>integer</td>\n<td>Hayır</td>\n<td>Sayfa başına kayıt sayısı (varsayılan: 25)</td>\n<td><code>25</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filtreleme-parametreleri-ransack\">Filtreleme Parametreleri (Ransack)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Açıklama</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>q[flow_type_eq]</code></td>\n<td>string</td>\n<td>Akış türü filtresi</td>\n<td><code>leave_approval</code>, <code>extra_work_approval</code></td>\n</tr>\n<tr>\n<td><code>q[is_active_eq]</code></td>\n<td>boolean</td>\n<td>Aktif akışlar</td>\n<td><code>true</code> / <code>false</code></td>\n</tr>\n<tr>\n<td><code>q[is_main_flow_eq]</code></td>\n<td>boolean</td>\n<td>Ana akışlar</td>\n<td><code>true</code> / <code>false</code></td>\n</tr>\n<tr>\n<td><code>q[use_hierarchy_eq]</code></td>\n<td>boolean</td>\n<td>Hiyerarşi kullanan akışlar</td>\n<td><code>true</code> / <code>false</code></td>\n</tr>\n<tr>\n<td><code>q[hierarchy_level_eq]</code></td>\n<td>integer</td>\n<td>Hiyerarşi seviyesi</td>\n<td><code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>q[title_cont]</code></td>\n<td>string</td>\n<td>Başlık içinde arama</td>\n<td><code>izin</code>, <code>mesai</code></td>\n</tr>\n<tr>\n<td><code>q[created_at_gteq]</code></td>\n<td>date</td>\n<td>Oluşturulma tarihi başlangıç</td>\n<td><code>2024-01-01</code></td>\n</tr>\n<tr>\n<td><code>q[updated_at_gteq]</code></td>\n<td>date</td>\n<td>Güncellenme tarihi başlangıç</td>\n<td><code>2024-01-01</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"örnek-i̇stek\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approval_flows?page=1&amp;per_page=25&amp;q[is_active_eq]=true\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n  -H \"Content-Type: application/json\"\n</code></pre>\n<h4 id=\"örnek-yanıt\">Örnek Yanıt</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"id\": \"flow_uuid_123\",\n      \"title\": \"İzin Onay Akışı\",\n      \"flow_type\": \"leave_approval\",\n      \"is_active\": true,\n      \"is_main_flow\": true,\n      \"use_hierarchy\": true,\n      \"hierarchy_level\": 2,\n      \"created_at\": \"2024-01-01T00:00:00.000Z\",\n      \"updated_at\": \"2024-01-15T10:00:00.000Z\",\n      \"department_ids\": [\"dept_uuid_1\", \"dept_uuid_2\"],\n      \"branch_ids\": [\"branch_uuid_1\"],\n      \"job_position_ids\": [\"pos_uuid_1\", \"pos_uuid_2\"],\n      \"person_ids\": [\"person_uuid_1\"],\n      \"approval_flow_users\": [\n        {\n          \"id\": \"flow_user_uuid_1\",\n          \"user_id\": \"manager_uuid_1\",\n          \"seq\": 1,\n          \"is_require\": true,\n          \"user\": {\n            \"id\": \"manager_uuid_1\",\n            \"first_name\": \"Ahmet\",\n            \"last_name\": \"Yönetici\",\n            \"email\": \"ahmet.yonetici@example.com\"\n          }\n        },\n        {\n          \"id\": \"flow_user_uuid_2\",\n          \"user_id\": \"hr_uuid_1\",\n          \"seq\": 2,\n          \"is_require\": true,\n          \"user\": {\n            \"id\": \"hr_uuid_1\",\n            \"first_name\": \"Zeynep\",\n            \"last_name\": \"İK\",\n            \"email\": \"zeynep.ik@example.com\"\n          }\n        }\n      ]\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"total_pages\": 1,\n    \"total_count\": 5\n  }\n}\n</code></pre>\n<h3 id=\"2-tekil-onay-akışı-detayı\">2. Tekil Onay Akışı Detayı</h3>\n<p><strong>GET</strong> <code>/approval_flows/:id</code></p>\n<p>Belirli bir onay akışının detayını getirir.</p>\n<h4 id=\"path-parametreleri\">Path Parametreleri</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Zorunlu</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>uuid</td>\n<td>Evet</td>\n<td>Onay Akışı UUID'si</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"örnek-i̇stek-1\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approval_flows/flow_uuid_123\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n  -H \"Content-Type: application/json\"\n</code></pre>\n<h4 id=\"örnek-yanıt-1\">Örnek Yanıt</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": {\n    \"id\": \"flow_uuid_123\",\n    \"title\": \"İzin Onay Akışı\",\n    \"flow_type\": \"leave_approval\",\n    \"is_active\": true,\n    \"is_main_flow\": true,\n    \"use_hierarchy\": true,\n    \"hierarchy_level\": 2,\n    \"created_at\": \"2024-01-01T00:00:00.000Z\",\n    \"updated_at\": \"2024-01-15T10:00:00.000Z\",\n    \"department_ids\": [\"dept_uuid_1\", \"dept_uuid_2\"],\n    \"branch_ids\": [\"branch_uuid_1\", \"branch_uuid_2\"],\n    \"job_position_ids\": [\"pos_uuid_1\", \"pos_uuid_2\"],\n    \"person_ids\": [\"person_uuid_1\"],\n    \"approval_flow_users\": [\n      {\n        \"id\": \"flow_user_uuid_1\",\n        \"user_id\": \"manager_uuid_1\",\n        \"seq\": 1,\n        \"is_require\": true,\n        \"user\": {\n          \"id\": \"manager_uuid_1\",\n          \"first_name\": \"Ahmet\",\n          \"last_name\": \"Yönetici\",\n          \"email\": \"ahmet.yonetici@example.com\"\n        }\n      },\n      {\n        \"id\": \"flow_user_uuid_2\",\n        \"user_id\": \"hr_uuid_1\",\n        \"seq\": 2,\n        \"is_require\": true,\n        \"user\": {\n          \"id\": \"hr_uuid_1\",\n          \"first_name\": \"Zeynep\",\n          \"last_name\": \"İK\",\n          \"email\": \"zeynep.ik@example.com\"\n        }\n      },\n      {\n        \"id\": \"flow_user_uuid_3\",\n        \"user_id\": \"director_uuid_1\",\n        \"seq\": 3,\n        \"is_require\": false,\n        \"user\": {\n          \"id\": \"director_uuid_1\",\n          \"first_name\": \"Mehmet\",\n          \"last_name\": \"Direktör\",\n          \"email\": \"mehmet.direktor@example.com\"\n        }\n      }\n    ]\n  },\n  \"meta\": {}\n}\n</code></pre>\n<h3 id=\"3-türe-göre-onay-akışları\">3. Türe Göre Onay Akışları</h3>\n<p><strong>GET</strong> <code>/approval_flows/by_type</code></p>\n<p>Belirli bir türdeki onay akışlarını getirir.</p>\n<h4 id=\"query-parametreleri-1\">Query Parametreleri</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Zorunlu</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>flow_type</code></td>\n<td>string</td>\n<td>Evet</td>\n<td>Akış türü</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"örnek-i̇stek-2\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approval_flows/by_type?flow_type=leave_approval\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n  -H \"Content-Type: application/json\"\n</code></pre>\n<h4 id=\"örnek-yanıt-2\">Örnek Yanıt</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"id\": \"flow_uuid_123\",\n      \"title\": \"İzin Onay Akışı\",\n      \"flow_type\": \"leave_approval\",\n      \"is_active\": true,\n      \"is_main_flow\": true,\n      \"use_hierarchy\": true,\n      \"hierarchy_level\": 2,\n      \"created_at\": \"2024-01-01T00:00:00.000Z\",\n      \"updated_at\": \"2024-01-15T10:00:00.000Z\",\n      \"department_ids\": [\"dept_uuid_1\"],\n      \"branch_ids\": [\"branch_uuid_1\"],\n      \"job_position_ids\": [\"pos_uuid_1\"],\n      \"person_ids\": [],\n      \"approval_flow_users\": [\n        {\n          \"id\": \"flow_user_uuid_1\",\n          \"user_id\": \"manager_uuid_1\",\n          \"seq\": 1,\n          \"is_require\": true,\n          \"user\": {\n            \"id\": \"manager_uuid_1\",\n            \"first_name\": \"Ahmet\",\n            \"last_name\": \"Yönetici\",\n            \"email\": \"ahmet.yonetici@example.com\"\n          }\n        }\n      ]\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"total_pages\": 1,\n    \"total_count\": 3\n  }\n}\n</code></pre>\n<h2 id=\"veri-modeli\">Veri Modeli</h2>\n<h3 id=\"approvalflow-onay-akışı-nesnesi\">ApprovalFlow (Onay Akışı) Nesnesi</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>uuid</td>\n<td>Onay akışının benzersiz kimliği</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>string</td>\n<td>Akış başlığı</td>\n</tr>\n<tr>\n<td><code>flow_type</code></td>\n<td>string</td>\n<td>Akış türü (<code>leave_approval</code>, <code>extra_work_approval</code>, vb.)</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>Akış aktif mi?</td>\n</tr>\n<tr>\n<td><code>is_main_flow</code></td>\n<td>boolean</td>\n<td>Ana akış mı? (varsayılan olarak kullanılacak)</td>\n</tr>\n<tr>\n<td><code>use_hierarchy</code></td>\n<td>boolean</td>\n<td>Organizasyon hiyerarşisi kullanılsın mı?</td>\n</tr>\n<tr>\n<td><code>hierarchy_level</code></td>\n<td>integer</td>\n<td>Hiyerarşi seviyesi (kaç seviye yukarı çıkılacak)</td>\n</tr>\n<tr>\n<td><code>created_at</code></td>\n<td>datetime</td>\n<td>Akış oluşturulma zamanı</td>\n</tr>\n<tr>\n<td><code>updated_at</code></td>\n<td>datetime</td>\n<td>Akış son güncellenme zamanı</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"i̇lişkili-idler-ve-kapsamlar\">İlişkili ID'ler ve Kapsamlar</h3>\n<h4 id=\"departman-kapsamı\">Departman Kapsamı</h4>\n<ul>\n<li><code>department_ids</code>: Bu akışın geçerli olduğu departman UUID'leri</li>\n<li>Boş ise tüm departmanlar için geçerlidir</li>\n</ul>\n<h4 id=\"şube-kapsamı\">Şube Kapsamı</h4>\n<ul>\n<li><code>branch_ids</code>: Bu akışın geçerli olduğu şube UUID'leri</li>\n<li>Boş ise tüm şubeler için geçerlidir</li>\n</ul>\n<h4 id=\"pozisyon-kapsamı\">Pozisyon Kapsamı</h4>\n<ul>\n<li><code>job_position_ids</code>: Bu akışın geçerli olduğu pozisyon UUID'leri</li>\n<li>Boş ise tüm pozisyonlar için geçerlidir</li>\n</ul>\n<h4 id=\"kişi-kapsamı\">Kişi Kapsamı</h4>\n<ul>\n<li><code>person_ids</code>: Bu akışın geçerli olduğu kişi UUID'leri</li>\n<li>Belirli kişiler için özel akışlar tanımlanabilir</li>\n</ul>\n<h3 id=\"i̇lişkili-nesneler\">İlişkili Nesneler</h3>\n<h4 id=\"approval_flow_users-akış-kullanıcıları\">approval_flow_users (Akış Kullanıcıları)</h4>\n<p>Akışta yer alan her onaylayıcının tanımı:</p>\n<ul>\n<li><code>id</code>: Akış kullanıcısı kaydı UUID'si</li>\n<li><code>user_id</code>: Onaylayıcı kullanıcının UUID'si</li>\n<li><code>seq</code>: Onay sırası (1'den başlar)</li>\n<li><code>is_require</code>: Bu onay zorunlu mu?</li>\n<li><code>user</code>: Kullanıcı detayları<ul>\n<li><code>id</code>: Kullanıcı UUID'si</li>\n<li><code>first_name</code>: Ad</li>\n<li><code>last_name</code>: Soyad</li>\n<li><code>email</code>: E-posta adresi</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"akış-türleri-flow-types\">Akış Türleri (Flow Types)</h2>\n<h3 id=\"yaygın-kullanılan-türler\">Yaygın Kullanılan Türler</h3>\n<ul>\n<li><code>leave_approval</code>: İzin onay akışı</li>\n<li><code>extra_work_approval</code>: Ek çalışma onay akışı</li>\n<li><code>assignment_request_approval</code>: Görevlendirme talebi onay akışı</li>\n<li><code>expense_approval</code>: Masraf onay akışı</li>\n<li><code>document_approval</code>: Doküman onay akışı</li>\n<li><code>purchase_approval</code>: Satın alma onay akışı</li>\n<li><code>travel_approval</code>: Seyahat onay akışı</li>\n</ul>\n<h3 id=\"özel-türler\">Özel Türler</h3>\n<p>Şirketinize özel akış türleri de tanımlanabilir.</p>\n<h2 id=\"hiyerarşi-sistemi\">Hiyerarşi Sistemi</h2>\n<h3 id=\"use_hierarchy--true\">use_hierarchy = true</h3>\n<ul>\n<li>Sistem, organizasyon hiyerarşisini kullanarak otomatik onaylayıcı belirler</li>\n<li><code>hierarchy_level</code> kadar yukarı çıkarak yöneticiyi bulur</li>\n<li>Örnek: <code>hierarchy_level = 2</code> ise, 2 seviye yukarıdaki yönetici onaylayıcı olur</li>\n</ul>\n<h3 id=\"use_hierarchy--false\">use_hierarchy = false</h3>\n<ul>\n<li>Sabit onaylayıcılar kullanılır</li>\n<li><code>approval_flow_users</code> tablosundaki kullanıcılar onaylayıcı olur</li>\n</ul>\n<h2 id=\"hata-kodları\">Hata Kodları</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>HTTP Kodu</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>200</code></td>\n<td>Başarılı</td>\n</tr>\n<tr>\n<td><code>401</code></td>\n<td>Yetkisiz erişim (Geçersiz token)</td>\n</tr>\n<tr>\n<td><code>404</code></td>\n<td>Kayıt bulunamadı</td>\n</tr>\n<tr>\n<td><code>422</code></td>\n<td>İşlenemez varlık (Geçersiz parametreler)</td>\n</tr>\n<tr>\n<td><code>500</code></td>\n<td>Sunucu hatası</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"örnek-hata-yanıtı\">Örnek Hata Yanıtı</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 404,\n  \"message\": \"Kayıt bulunamadı\",\n  \"errors\": [\"Belirtilen ID ile onay akışı bulunamadı\"]\n}\n</code></pre>\n<h2 id=\"kullanım-örnekleri\">Kullanım Örnekleri</h2>\n<h3 id=\"1-aktif-onay-akışlarını-getir\">1. Aktif Onay Akışlarını Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approval_flows?q[is_active_eq]=true\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"2-i̇zin-onay-akışlarını-getir\">2. İzin Onay Akışlarını Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approval_flows/by_type?flow_type=leave_approval\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"3-ana-onay-akışlarını-getir\">3. Ana Onay Akışlarını Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approval_flows?q[is_main_flow_eq]=true\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"4-hiyerarşi-kullanan-akışları-getir\">4. Hiyerarşi Kullanan Akışları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approval_flows?q[use_hierarchy_eq]=true\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"5-belirli-hiyerarşi-seviyesindeki-akışları-getir\">5. Belirli Hiyerarşi Seviyesindeki Akışları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approval_flows?q[hierarchy_level_eq]=2\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"6-akış-başlığında-arama-yap\">6. Akış Başlığında Arama Yap</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approval_flows?q[title_cont]=izin\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"7-ek-çalışma-onay-akışlarını-getir\">7. Ek Çalışma Onay Akışlarını Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approval_flows/by_type?flow_type=extra_work_approval\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"8-son-güncellenen-akışları-getir\">8. Son Güncellenen Akışları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/approval_flows?q[updated_at_gteq]=2024-01-01\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h2 id=\"akış-seçim-algoritması\">Akış Seçim Algoritması</h2>\n<h3 id=\"akış-belirleme-sırası\">Akış Belirleme Sırası</h3>\n<p>Sistem bir onay süreci başlatırken aşağıdaki sırayla uygun akışı belirler:</p>\n<ol>\n<li><strong>Kişi Bazlı</strong>: <code>person_ids</code> içinde talep sahibi var mı?</li>\n<li><strong>Pozisyon Bazlı</strong>: <code>job_position_ids</code> içinde talep sahibinin pozisyonu var mı?</li>\n<li><strong>Departman Bazlı</strong>: <code>department_ids</code> içinde talep sahibinin departmanı var mı?</li>\n<li><strong>Şube Bazlı</strong>: <code>branch_ids</code> içinde talep sahibinin şubesi var mı?</li>\n<li><strong>Genel Akış</strong>: Tüm alanlar boş olan (genel) akış</li>\n<li><strong>Ana Akış</strong>: <code>is_main_flow = true</code> olan akış</li>\n</ol>\n<h3 id=\"öncelik-sırası\">Öncelik Sırası</h3>\n<ul>\n<li>Daha spesifik akışlar önceliklidir</li>\n<li>Aktif olmayan akışlar (<code>is_active = false</code>) atlanır</li>\n<li>Aynı öncelikte birden fazla akış varsa, en son güncelleneni seçilir</li>\n</ul>\n<h2 id=\"akış-yapılandırması\">Akış Yapılandırması</h2>\n<h3 id=\"sıralı-onay-sequential\">Sıralı Onay (Sequential)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"approval_flow_users\": [\n    {\"seq\": 1, \"is_require\": true},\n    {\"seq\": 2, \"is_require\": true},\n    {\"seq\": 3, \"is_require\": false}\n  ]\n}\n</code></pre>\n<h3 id=\"paralel-onay-parallel\">Paralel Onay (Parallel)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"approval_flow_users\": [\n    {\"seq\": 1, \"is_require\": true},\n    {\"seq\": 1, \"is_require\": true},\n    {\"seq\": 2, \"is_require\": true}\n  ]\n}\n</code></pre>\n<h3 id=\"karma-sistem\">Karma Sistem</h3>\n<ul>\n<li>Aynı <code>seq</code> değerine sahip onaylayıcılar paralel onay verir</li>\n<li>Farklı <code>seq</code> değerleri sıralı onay sağlar</li>\n<li><code>is_require = false</code> olan onaylar opsiyoneldir</li>\n</ul>\n<h2 id=\"entegrasyon-notları\">Entegrasyon Notları</h2>\n<h3 id=\"dinamik-onaylayıcı-belirleme\">Dinamik Onaylayıcı Belirleme</h3>\n<ul>\n<li><code>use_hierarchy = true</code> durumunda, her talep için dinamik olarak onaylayıcı belirlenir</li>\n<li>Organizasyon yapısı değişikliklerinde akışlar otomatik güncellenir</li>\n</ul>\n<h3 id=\"kapsam-kontrolü\">Kapsam Kontrolü</h3>\n<ul>\n<li>Her akış belirli kapsamlara (departman, şube, pozisyon, kişi) atanabilir</li>\n<li>Boş bırakılan alanlar \"tümü\" anlamına gelir</li>\n<li>Daha dar kapsamlı akışlar önceliklidir</li>\n</ul>\n<h3 id=\"performans\">Performans</h3>\n<ul>\n<li>Akış sorguları index'lenmiş alanlarda yapılır</li>\n<li>Sık kullanılan akışlar cache'lenir</li>\n<li>Büyük organizasyonlarda hiyerarşi sorguları optimize edilmelidir</li>\n</ul>\n<h2 id=\"güvenlik\">Güvenlik</h2>\n<ul>\n<li>Tüm endpoint'ler Bearer token ile korunmaktadır</li>\n<li>Kullanıcılar sadece kendi şirketlerinin akışlarını görebilir</li>\n<li>Akış yapılandırma yetkileri ayrı sistem ile kontrol edilir</li>\n</ul>\n<h2 id=\"sınırlamalar\">Sınırlamalar</h2>\n<ul>\n<li>Sayfalama varsayılan olarak sayfa başına 25 kayıt getirir</li>\n<li>Maksimum sayfa boyutu 100'dür</li>\n<li>Filtreleme işlemleri Ransack gem'i kullanılarak yapılır</li>\n<li>Bu endpoint'ler sadece okuma amaçlıdır (akış oluşturma/düzenleme ayrı endpoint'lerde)</li>\n<li>Hiyerarşi seviyesi maksimum 10 olabilir</li>\n</ul>\n<h2 id=\"en-i̇yi-uygulamalar\">En İyi Uygulamalar</h2>\n<h3 id=\"akış-tasarımı\">Akış Tasarımı</h3>\n<ul>\n<li>Her tür için en az bir ana akış (<code>is_main_flow = true</code>) tanımlayın</li>\n<li>Hiyerarşi kullanan ve kullanmayan akışları ayrı tutun</li>\n<li>Kritik süreçler için yedek onaylayıcılar belirleyin</li>\n</ul>\n<h3 id=\"performans-1\">Performans</h3>\n<ul>\n<li>Sık kullanılan akışları öncelikli hale getirin</li>\n<li>Gereksiz kapsam kısıtlamaları koymayın</li>\n<li>Akış kullanıcı sayısını makul seviyelerde tutun</li>\n</ul>\n<h3 id=\"bakım\">Bakım</h3>\n<ul>\n<li>Pasif akışları düzenli olarak temizleyin</li>\n<li>Organizasyon değişikliklerinde akışları gözden geçirin</li>\n<li>Test ortamında değişiklikleri doğrulayın</li>\n</ul>\n<h2 id=\"destek\">Destek</h2>\n<p>API kullanımı ile ilgili sorularınız için lütfen geliştirici ekibi ile iletişime geçin.</p>\n","_postman_id":"61ba0b78-020b-4478-93da-54940a41ee9e","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Access Zones","item":[{"name":"list","id":"81589bc3-cf3d-4d64-94ea-3e2eca905b59","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/zones","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","zones"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"81589bc3-cf3d-4d64-94ea-3e2eca905b59"},{"name":"access_zone","id":"ded896c2-71ca-4846-9dc8-03ef6fefdb92","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/zones/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","zones",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"b54b29e4-a46d-4f38-b43f-b77eb7fc7da2","key":"id"}]}},"response":[],"_postman_id":"ded896c2-71ca-4846-9dc8-03ef6fefdb92"},{"name":"access_zone","id":"83210eaf-a1d3-40f8-8b97-c18d6541a1bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Deneme2\",\n    \"description\": \"\",\n    \"is_active\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/zones/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","zones",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"b54b29e4-a46d-4f38-b43f-b77eb7fc7da2","key":"id"}]}},"response":[],"_postman_id":"83210eaf-a1d3-40f8-8b97-c18d6541a1bf"},{"name":"access_zone","id":"aaf515c3-4099-431b-801a-a793be504ef6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"Deneme\",\n    \"description\": \"\",\n    \"is_active\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/zones","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","zones"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"aaf515c3-4099-431b-801a-a793be504ef6"}],"id":"818c7f7d-328f-49ae-ae46-9e7b7e83b8cd","description":"<p><code>Zone</code> api, şirket içindeki farklı fiziksel veya mantıksal alanları temsil eder. Bu model, bölgelerin adını, açıklamasını, etkinlik durumunu ve ERP sistemindeki kilidini içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Her bölge, bir isim ve etkinlik durumu gibi temel bilgileri barındırır.</p>\n</li>\n<li><p>Bölgeler, belirli şube veya yapılarla ilişkilendirilebilir ve çeşitli cihazlarla bağlantılı olabilir.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><code>name</code>: Bölge adı zorunludur ve 2 ile 100 karakter arasında olmalıdır.</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li><p><code>group_no</code>: Bir şirket içinde bölge numarası benzersiz olmalıdır, eğer numara atanmışsa. ( <code>group_no</code> sadece offline çalışan iot cihaz için zorunludur.)</p>\n</li>\n<li><p>Bölgeler, ERP sistemlerinde kilitli olabilir (<code>erp_lock</code>). Bu, bölgenin sistem üzerindeki bazı işlemlere kapalı olabileceğini belirtir.</p>\n</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Bölge Oluşturma</strong></td>\n<td>Yeni bölge kaydı</td>\n<td><code>name</code></td>\n</tr>\n<tr>\n<td><strong>Bölge Güncelleme</strong></td>\n<td>Mevcut bölge bilgilerini güncelleme</td>\n<td>Bölge detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Bölge Silme</strong></td>\n<td>Bölge kaydını sistemden kaldırma</td>\n<td>İlgili bölge kaydı ve bağlantılı bilgiler kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Bölge Kaydı</strong>: Yeni bir fiziksel veya mantıksal alan tanımlandığında bu model kullanılarak sistemde yeni bir bölge kaydı oluşturulabilir.</p>\n</li>\n<li><p><strong>Bölge Bilgilerinin Güncellenmesi</strong>: Bölge adı, açıklaması veya ERP kilidi gibi bilgiler zamanla güncellenebilir.</p>\n</li>\n<li><p><strong>Bölge Silme ve Yeniden Yapılandırma</strong>: İş gereksinimleri değiştiğinde bölgeler yeniden yapılandırılabilir veya sistemden silinebilir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><p><strong>ERP Sistemi Kilidi</strong>: Bazı bölgeler, ERP sistemlerinde kilitli olabilir. Bu durum, bu bölgelerde yapılacak işlemlerin sınırlı olabileceğini gösterir.</p>\n</li>\n<li><p><strong>Cihaz ve Kart Bağlantısı</strong>: Bölgeler, belirli erişim kontrol cihazları ve kartlarıyla ilişkilendirilebilir. Bu, bölgenin hangi cihazlar ve kartlar tarafından kullanılabileceğini belirler.</p>\n</li>\n</ul>\n","_postman_id":"818c7f7d-328f-49ae-ae46-9e7b7e83b8cd","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Assignment Request","item":[{"name":"create","id":"36db9940-6518-4fc5-9493-d48dd33ae2b8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"assignment_request\": {\n        \"start_date\": \"2023-01-10\", //required\n        \"end_date\": \"2023-05-10\", //required\n        \"description\": \"Hello WOrld 2\",\n        \"branch_id\": \"885594a4-8bb7-420b-9a76-eb727c4cd6a7\", //required\n        \"job_position_id\": \"6ca8db6e-c8fa-42ce-a5a4-22e91a526e7d\", //required\n        \"user_id\": \"b163e23b-af4d-44ab-b894-2617c2d7b70c\" //required\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/assignment_requests","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","assignment_requests"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"36db9940-6518-4fc5-9493-d48dd33ae2b8"},{"name":"lists","id":"17163ed9-bc44-481b-afbd-adbe70e8fbaf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/assignment_requests?page=1&per_page=10","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","assignment_requests"],"host":["https://api.passgage.com"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>We should get the user's assignment requests with this param</p>\n","type":"text/plain"},"key":"q[user_id_eq]","value":"b163e23b-af4d-44ab-b894-2617c2d7b70c"}],"variable":[]}},"response":[{"id":"efec580f-6076-4eb3-bbf2-314947b121ec","name":"lists","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer psg_cmp_oKBzZMg82uqdyYyeN6FDaLRq37dTXa","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/assignment_requests?page=1&per_page=10&user_id=c634175a-3d1d-4302-b5de-f550becb1e8e","host":["https://api.passgage.com"],"path":["api","public","v1","assignment_requests"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"10"},{"key":"user_id","value":"c634175a-3d1d-4302-b5de-f550becb1e8e","type":"text"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"17163ed9-bc44-481b-afbd-adbe70e8fbaf"},{"name":"rotation users","id":"da985ab6-5142-4d9d-885c-bee25e8ba613","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/rotation_users","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","rotation_users"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"description":{"content":"<p>pending: 0, started: 1, completed: 2, cancelled: 3</p>\n","type":"text/plain"},"key":"q[status_eq]","value":"2"},{"disabled":true,"key":"q[branch_id_eq]","value":"9b3779b9-dba4-4a3f-81db-6c0"},{"disabled":true,"key":"q[user_id_eq]","value":"6ccdab38-3c08-45d2-bb6d-c7ea7"},{"disabled":true,"key":"q[start_date_gteq]]","value":"2023-09-05"},{"disabled":true,"key":"q[end_date_lteq]","value":"2023-09-06"}],"variable":[]}},"response":[{"id":"14ff2a83-e67e-4b62-8c79-9a5eb589b8d5","name":"200","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/rotation_users","host":["https://api.passgage.com"],"path":["api","public","v1","rotation_users"],"query":[{"key":"q[status_eq]","value":"2","description":"pending: 0, started: 1, completed: 2, cancelled: 3","type":"text","disabled":true},{"key":"q[branch_id_eq]","value":"9b3779b9-dba4-4a3f-81db-6c0","type":"text","disabled":true},{"key":"q[user_id_eq]","value":"6ccdab38-3c08-45d2-bb6d-c7ea7","type":"text","disabled":true},{"key":"q[start_date_gteq]]","value":"2023-09-05","type":"text","disabled":true},{"key":"q[end_date_lteq]","value":"2023-09-06","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"6774a859-60a9-460f-a37a-27364b2b21aa"},{"key":"X-Runtime","value":"3.105453"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"kyqi534wbvtr10g9uc8e,3erfbdbsuyvbujejq1am,tw5ijfyp2t3imsrihiok,ktfls1novt8uwxk5ooel"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"3e71ac02-991c-4a53-96e3-49b\",\n            \"user_id\": \"a42687cb-77eb-4086-861\",\n            \"branch_id\": \"9f54ba57-937c-46d3-bf94-96\",\n            \"start_date\": \"2023-12-19\",\n            \"end_date\": \"2023-12-22\",\n            \"original_branch_id\": null,\n            \"status\": \"pending\",\n            \"original_branch_code\": null,\n            \"branch_code\": null,\n            \"user_client_id\": \"143248\"\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 1,\n        \"total_count\": 1\n    }\n}"}],"_postman_id":"da985ab6-5142-4d9d-885c-bee25e8ba613"},{"name":"show","id":"2349e7c5-9b39-4cd5-b689-7fbebcbe1bb5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/assignment_requests/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","assignment_requests",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"a6e805fb-e62e-4229-9278-a6382b90b658","key":"id"}]}},"response":[{"id":"d97b2dec-4beb-4099-be9a-a0863ad8286c","name":"show","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer psg_cmp_oKBzZMg82uqdyYyeN6FDaLRq37dTXa","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/assignment_requests/:id?user_id=c634175a-3d1d-4302-b5de-f550becb1e8e","host":["https://api.passgage.com"],"path":["api","public","v1","assignment_requests",":id"],"query":[{"key":"user_id","value":"c634175a-3d1d-4302-b5de-f550becb1e8e"}],"variable":[{"key":"id","value":"31c78e3f-c17c-4fa6-ab2e-2ad8dd5bbdb4"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"2349e7c5-9b39-4cd5-b689-7fbebcbe1bb5"},{"name":"update","id":"fafdfe96-a9ff-478b-b13c-f3fb6946039e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"assignment_request\": {\n        \"start_date\": \"2023-03-10\",\n        \"end_date\": \"2023-06-10\",\n        \"description\": \"Deneme Ahmet 2 2\",\n        \"branch_id\": \"885594a4-8bb7-420b-9a76-eb727c4cd6a7\",\n        \"job_position_id\": \"6ca8db6e-c8fa-42ce-a5a4-22e91a526e7d\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/assignment_requests/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","assignment_requests",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"a6e805fb-e62e-4229-9278-a6382b90b658","key":"id"}]}},"response":[{"id":"94e98f1b-1258-4988-b7a9-7b9b83e57597","name":"update","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer psg_cmp_oKBzZMg82uqdyYyeN6FDaLRq37dTXa","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"assignment_request\": {\n        \"start_date\": \"2023-03-10\",\n        \"end_date\": \"2023-06-10\",\n        \"description\": \"Deneme Dİİ 2\",\n        \"branch_id\": \"885594a4-8bb7-420b-9a76-eb727c4cd6a7\",\n        \"job_position_id\": \"6ca8db6e-c8fa-42ce-a5a4-22e91a526e7d\"\n        //\"user_id\": \"c634175a-3d1d-4302-b5de-f550becb1e8e\",\n        //\"company_id\": \"21b82085-ac24-49a1-a0f6-77dc74a2c10c\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/assignment_requests/:id?user_id=c634175a-3d1d-4302-b5de-f550becb1e8e","host":["https://api.passgage.com"],"path":["api","public","v1","assignment_requests",":id"],"query":[{"key":"user_id","value":"c634175a-3d1d-4302-b5de-f550becb1e8e"}],"variable":[{"key":"id","value":"ca24a092-c618-4385-8d34-2a1fffec63fe"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"fafdfe96-a9ff-478b-b13c-f3fb6946039e"},{"name":"delete","id":"df63fac9-b169-4da3-9f95-2a06a03b752f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/assignment_requests/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","assignment_requests",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"ca24a092-c618-4385-8d34-2a1fffec63fe","key":"id"}]}},"response":[],"_postman_id":"df63fac9-b169-4da3-9f95-2a06a03b752f"}],"id":"ee0d634d-bbd3-49ea-8532-9f6ec9f466f6","description":"<p><code>AssignmentRequest</code> (Rotasyon) api, çalışanların geçici görev atama taleplerini yönetir. Bu api, atama taleplerinin başlangıç ve bitiş tarihlerini, durumunu ve ilgili şube ve iş pozisyon bilgilerini içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Her atama talebi, bir açıklama, başlangıç ve bitiş tarihi, seçilen kullanıcı ve ilgili şube ve iş pozisyon bilgileri gibi temel bilgileri barındırır.</p>\n</li>\n<li><p>Atama talepleri, talep edilen geçici görevin onaylanması, reddedilmesi veya beklemeye alınması durumlarını yönetmek için kullanılır.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><p><code>start_date</code>, <code>end_date</code>, <code>branch_id</code>, <code>job_position_id</code>: Atama talebi için bu alanlar zorunludur.</p>\n</li>\n<li><p>Atama talebinin bitiş tarihi, başlangıç tarihinden sonra olmalıdır.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li>Şirketin dönüş gün sınırlaması varsa (<code>company_rotation_day_limitation?</code>), atama süresinin belirlenen gün limitini aşmaması gerekmektedir.</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Atama Talebi Oluşturma</strong></td>\n<td>Yeni atama talebi kaydı</td>\n<td><code>start_date</code>, <code>end_date</code>, <code>branch_id</code>, <code>job_position_id</code></td>\n</tr>\n<tr>\n<td><strong>Atama Talebi Güncelleme</strong></td>\n<td>Mevcut atama talebi bilgilerini güncelleme</td>\n<td>Atama talebi detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Atama Talebi Silme</strong></td>\n<td>Atama talebi kaydını sistemden kaldırma</td>\n<td>İlgili atama talebi kaydı kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Atama Talebi Kaydı</strong>: Bir çalışan için geçici bir görevlendirme talebi oluşturulabilir. Bu talep, belirli bir projede veya görevde geçici olarak çalışmasını sağlamak için kullanılır.</p>\n</li>\n<li><p><strong>Atama Talebi Onayı</strong>: Atama talepleri, ilgili yöneticiler veya insan kaynakları tarafından incelenir ve onaylanır veya reddedilir.</p>\n</li>\n<li><p><strong>Atama Talebi Yönetimi ve İzleme</strong>: Atama talepleri, çalışanların görevlerinin ve sorumluluklarının geçici olarak değiştirilmesine ilişkin süreçleri yönetmek için izlenir ve yönetilir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><p><strong>Atama Onayı Sonrası İşlemler</strong>: Talep onaylandığında, ilgili geçici görev ataması oluşturulur ve çalışanın mevcut vardiyaları ve fazla mesailerinin yönetimi bu yeni duruma göre ayarlanır.</p>\n</li>\n<li><p><strong>İletişim ve Bildirimler</strong>: Atama talebinin her aşamasında, ilgili taraflar bilgilendirilir. Onay veya ret durumları, sistem üzerinden ilgili kullanıcılara bildirilir.</p>\n</li>\n</ul>\n","_postman_id":"ee0d634d-bbd3-49ea-8532-9f6ec9f466f6","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Branches","item":[{"name":"list","id":"d1ac34fe-a6da-4b42-b816-715b933f5f9c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/branches","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","branches"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"6623f436-20dd-4df2-9e71-10dbe7be07f8","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/branches"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"954322d5-ad8a-4ff0-b640-ee65b25bd701"},{"key":"X-Runtime","value":"0.555362"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"5is7wjxeugdjd3z7kqas,tsick6luufhp8w60dsjc,lrwfphiwlgutx5du383y"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"22b9fc33-5db9-4fd1\",\n            \"title\": \"Title of branch\",\n            \"is_active\": true,\n            \"description\": null,\n            \"latitude\": null,\n            \"longitude\": null,\n            \"range\": \"30\",\n            \"range_matter\": \"1\",\n            \"created_at\": \"2024-03-01T00:47:52.669+03:00\",\n            \"updated_at\": \"2024-03-01T00:47:52.669+03:00\",\n            \"branch_planners\": [],\n            \"branch_shifts\": [],\n            \"branch_devices\": []\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 212,\n        \"total_count\": 212\n    }\n}"}],"_postman_id":"d1ac34fe-a6da-4b42-b816-715b933f5f9c"},{"name":"show","id":"0cd27965-7bbc-4ec5-ac18-7e1b5e1fe9fa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/branches/:id","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","branches",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>branch id</p>\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[{"id":"dcd2d937-93ce-480d-a1e0-a7091a8276e6","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/branches/:id","host":["https://api.passgage.com"],"path":["api","public","v1","branches",":id"],"variable":[{"key":"id","value":"","description":"branch id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"251d5bf4-8f7b-47dd-bfd2-99f56b16d634"},{"key":"X-Runtime","value":"0.371437"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"b9y0cym27el4n361opfj,tsick6luufhp8w60dsjc,lrwfphiwlgutx5du383y,5is7wjxeugdjd3z7kqas,z40k88t6wgh56aafiffx,6sedz63kjah1fofq5dfx,asgwzl5cjfqepbme4wvi"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"c8b5ad16-52a8-46cc\",\n        \"title\": \"ANTALYA PALACE\",\n        \"is_active\": true,\n        \"description\": null,\n        \"latitude\": null,\n        \"longitude\": null,\n        \"range\": \"30\",\n        \"range_matter\": \"1\",\n        \"created_at\": \"2024-02-24T00:44:56.487+03:00\",\n        \"updated_at\": \"2024-02-24T00:44:56.487+03:00\",\n        \"client_id\": \"123456\",\n        \"branch_planners\": [],\n        \"branch_shifts\": [],\n        \"branch_devices\": []\n    },\n    \"meta\": {}\n}"}],"_postman_id":"0cd27965-7bbc-4ec5-ac18-7e1b5e1fe9fa"},{"name":"delete","id":"1faaa6a2-ca78-4d7c-8cf6-521edd919309","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/branches/:id","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","branches",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>branch id</p>\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[{"id":"9456f0eb-2277-45f2-9641-24c28e6c6b04","name":"200","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/branches/:id","host":["https://api.passgage.com"],"path":["api","public","v1","branches",":id"],"variable":[{"key":"id","value":"","description":"branch id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"5a420b23-c702-45de-af38-7d455c83251b"},{"key":"X-Runtime","value":"0.471342"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"b4e6ksjtp9aqlbavzqd0,tsick6luufhp8w60dsjc,lrwfphiwlgutx5du383y,5is7wjxeugdjd3z7kqas,z40k88t6wgh56aafiffx,6sedz63kjah1fofq5dfx,asgwzl5cjfqepbme4wvi,b9y0cym27el4n361opfj,t7qd3nv42jo5c6ecod8q,nauag40fjf887s4omu13,xlj8og95ic1zsrpce0pi,4kawowyzzc1bux0rraz9"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully deleted branch\",\n    \"data\": {\n        \"id\": \"22b9fc33-5db9-4fd1-a9ec\",\n        \"title\": \"Example\",\n        \"is_active\": true,\n        \"description\": \"\",\n        \"latitude\": \"30.7915206\",\n        \"longitude\": \"30.34654884796967\",\n        \"range\": \"30\",\n        \"range_matter\": \"1\",\n        \"created_at\": \"2024-03-01T00:47:52.669+03:00\",\n        \"updated_at\": \"2024-03-06T22:39:16.557+03:00\",\n        \"client_id\": \"\",\n        \"branch_planners\": [],\n        \"branch_shifts\": [],\n        \"branch_devices\": []\n    },\n    \"meta\": {}\n}"}],"_postman_id":"1faaa6a2-ca78-4d7c-8cf6-521edd919309"},{"name":"update","id":"e2164ea5-e4fa-48d9-ae8c-87cbadf69236","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"branch\": {\n        \"title\": \"Example\",\n        \"is_active\": true,\n        \"client_id\": \"\",\n        \"description\": \"\",\n        \"latitude\":30.2,\n        \"longitude\": 30.2\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/branches/:id","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","branches",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"id":"895cb161-9992-43fd-9868-b1ac1d1195ad","description":{"content":"<p>branch id</p>\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[{"id":"22c5c7de-00ce-40ef-bff4-f40bc72c37d2","name":"200","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"branch\": {\n        \"title\": \"Example\",\n        \"is_active\": true,\n        \"client_id\": \"\",\n        \"description\": \"\",\n        \"latitude\":30.2,\n        \"longitude\": 30.2\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/branches/:id","host":["https://api.passgage.com"],"path":["api","public","v1","branches",":id"],"variable":[{"key":"id","value":"","description":"branch id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"aef1cacb-338e-4113-ae0b-046e29bfe34b"},{"key":"X-Runtime","value":"1.678428"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"xlj8og95ic1zsrpce0pi,tsick6luufhp8w60dsjc,lrwfphiwlgutx5du383y,5is7wjxeugdjd3z7kqas,z40k88t6wgh56aafiffx,6sedz63kjah1fofq5dfx,asgwzl5cjfqepbme4wvi,b9y0cym27el4n361opfj,t7qd3nv42jo5c6ecod8q,nauag40fjf887s4omu13"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully updated branch\",\n    \"data\": {\n        \"id\": \"22b9fc33-5db9-4fd1\",\n        \"title\": \"Example\",\n        \"is_active\": true,\n        \"description\": \"\",\n        \"latitude\": \"30.7915206\",\n        \"longitude\": \"30.34654884796967\",\n        \"range\": \"30\",\n        \"range_matter\": \"1\",\n        \"created_at\": \"2024-03-01T00:47:52.669+03:00\",\n        \"updated_at\": \"2024-03-06T22:39:16.557+03:00\",\n        \"client_id\": \"\",\n        \"branch_planners\": [],\n        \"branch_shifts\": [],\n        \"branch_devices\": []\n    },\n    \"meta\": {}\n}"},{"id":"0190ee76-c141-4462-be26-103905d99815","name":"422","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"branch\": {\n        \"title\": \"\",\n        \"is_active\": true,\n        \"client_id\": \"\",\n        \"description\": \"\",\n        \"latitude\":30.2,\n        \"longitude\": 30.2\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/branches/:id","host":["https://api.passgage.com"],"path":["api","public","v1","branches",":id"],"variable":[{"key":"id","value":"","description":"branch id"}]}},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"18a6cadf-d8ee-476f-8f79-33211ce746e1"},{"key":"X-Runtime","value":"0.555830"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 422,\n    \"message\": \"Unprocessable entity\",\n    \"errors\": [\n        {\n            \"field_name\": \"title\",\n            \"messages\": [\n                \"Şube Adı doldurulmalı\"\n            ]\n        }\n    ]\n}"}],"_postman_id":"e2164ea5-e4fa-48d9-ae8c-87cbadf69236"},{"name":"create","id":"6115adf0-6b5f-479d-9ec9-bb824e47311b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"branch\": {\n        \"title\": \"Example\",\n        \"is_active\": true,\n        \"client_id\": \"\",\n        \"description\": \"\",\n        \"latitude\":30.2,\n        \"longitude\": 30.2\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/branches","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","branches"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"0773c34f-802d-4b4f-9588-5456bd12fd5c","name":"201","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"branch\": {\n        \"title\": \"Example\",\n        \"is_active\": true,\n        \"client_id\": \"\",\n        \"description\": \"\",\n        \"latitude\":30.2,\n        \"longitude\": 30.2\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/branches"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"7a96f1df-91d0-470a-af1e-c96d6af15c5a"},{"key":"X-Runtime","value":"0.517622"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"s3p9bm7nr1xph02alq71,tsick6luufhp8w60dsjc,lrwfphiwlgutx5du383y,5is7wjxeugdjd3z7kqas,z40k88t6wgh56aafiffx,6sedz63kjah1fofq5dfx,asgwzl5cjfqepbme4wvi,b9y0cym27el4n361opfj,t7qd3nv42jo5c6ecod8q,nauag40fjf887s4omu13,xlj8og95ic1zsrpce0pi,4kawowyzzc1bux0rraz9,b4e6ksjtp9aqlbavzqd0"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Successfully created branch\",\n    \"data\": {\n        \"id\": \"dab01d96-d5dc-4f31-86f9-649caf7a1f1d\",\n        \"title\": \"Example\",\n        \"is_active\": true,\n        \"description\": \"\",\n        \"latitude\": \"30.7915206\",\n        \"longitude\": \"30.34654884796967\",\n        \"range\": \"30\",\n        \"range_matter\": \"1\",\n        \"created_at\": \"2024-03-06T22:41:53.816+03:00\",\n        \"updated_at\": \"2024-03-06T22:41:53.816+03:00\",\n        \"client_id\": \"\",\n        \"branch_planners\": [],\n        \"branch_shifts\": [],\n        \"branch_devices\": []\n    },\n    \"meta\": {}\n}"},{"id":"089fcd9f-e78f-42cd-8182-3152d73716df","name":"422","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"branch\": {\n        \"title\": \"\",\n        \"is_active\": true,\n        \"client_id\": \"\",\n        \"description\": \"\",\n        \"latitude\":30.2,\n        \"longitude\": 30.2\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/branches"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"5c15fb4c-d80d-4253-80bc-ec0e86bca5be"},{"key":"X-Runtime","value":"0.517453"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 422,\n    \"message\": \"Unprocessable entity\",\n    \"errors\": [\n        {\n            \"field_name\": \"title\",\n            \"messages\": [\n                \"Şube Adı doldurulmalı\"\n            ]\n        }\n    ]\n}"}],"_postman_id":"6115adf0-6b5f-479d-9ec9-bb824e47311b"}],"id":"12b4bf49-98a6-4526-8f86-28e55e5821c1","description":"<p><code>Branch</code> api, şirketin farklı şubelerini yönetir. Bu api, şubenin coğrafi konumu, açıklaması, aktiflik durumu ve şubeye bağlı kullanıcı sayısını içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Her şube, bir isim, coğrafi koordinatlar ve aktiflik durumu gibi temel bilgileri barındırır.</p>\n</li>\n<li><p>Şubeler, belirli bölümlerle (area) ve şirketle ilişkilendirilebilir.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><code>title</code>: Şube adı zorunludur ve bir şirket içinde benzersiz olmalıdır.</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li>Şube, ERP sistemlerinde kilitli olabilir (<code>erp_lock</code>). Bu, şubenin sistem üzerindeki bazı işlemlere kapalı olabileceğini belirtir.</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Şube Oluşturma</strong></td>\n<td>Yeni şube kaydı</td>\n<td><code>title</code>, <code>latitude</code>, <code>longitude</code></td>\n</tr>\n<tr>\n<td><strong>Şube Güncelleme</strong></td>\n<td>Mevcut şube bilgilerini güncelleme</td>\n<td>Şube detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Şube Silme</strong></td>\n<td>Şube kaydını sistemden kaldırma</td>\n<td>İlgili şube kaydı ve bağlantılı bilgiler kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Şube Kaydı</strong>: Yeni bir coğrafi lokasyonda şube açıldığında bu model kullanılarak sistemde yeni bir şube kaydı oluşturulur.</p>\n</li>\n<li><p><strong>Şube Bilgilerinin Güncellenmesi</strong>: Şubenin coğrafi konumu, ismi veya diğer detayları zamanla güncellenebilir. Bu işlemler, şubenin güncel durumu ve şirket içindeki konumunu yansıtacak şekilde yapılabilir.</p>\n</li>\n<li><p><strong>Şube Silme ve Yeniden Yapılandırma</strong>: Şubeler, iş gereksinimleri değiştiğinde yeniden yapılandırılabilir veya silinebilir. Şube silme işlemi, şubeye bağlı kullanıcıların ve kaynakların yönetimiyle yakından ilgilidir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><p><strong>Coğrafi Konum Verileri</strong>: Şubelerin coğrafi konumları, harita üzerinde doğru bir şekilde yer almasını sağlamak için kullanılır. Bu bilgiler, navigasyon ve yer belirleme hizmetlerinde önem taşır.</p>\n</li>\n<li><p><strong>ERP Sistemi Kilidi</strong>: Bazı şubeler, ERP sistemlerinde kilitli olabilir. Bu durum, bu şubelerde yapılacak işlemlerin sınırlı olabileceğini gösterir.</p>\n</li>\n</ul>\n","_postman_id":"12b4bf49-98a6-4526-8f86-28e55e5821c1","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Branch Group","item":[{"name":"list","id":"b075966a-aac4-4d8f-8f5f-64ef6bce78d7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/branch_groups","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","branch_groups"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b075966a-aac4-4d8f-8f5f-64ef6bce78d7"},{"name":"show","id":"d3e4f08c-391e-45a5-b9af-ea1ada03d87a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/branch_groups/:id","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","branch_groups",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>branch group id</p>\n","type":"text/plain"},"type":"any","value":"48f86250-03d7-4ad5-9d57-ef26c3f5c479","key":"id"}]}},"response":[],"_postman_id":"d3e4f08c-391e-45a5-b9af-ea1ada03d87a"},{"name":"delete","id":"b74feec4-c739-4944-ba81-a89a3de081d2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/branch_groups/:id","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","branch_groups",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>branch group id</p>\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[],"_postman_id":"b74feec4-c739-4944-ba81-a89a3de081d2"},{"name":"update","id":"67417275-ca4c-47a5-8f68-1a596841fd66","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"branch_group\": {\n        \"title\": \"Example For One 29\",\n        \"description\": \"\",\n        \"is_active\": true,\n        \"branch_name\": \"NİSBETİYE\",\n        \"branch_code\": \"123\"\n        //\"branch_ids\": [\"2f387ab7-dbea-48db, \"9e815e40-6dfc-4c7b-a7bc\"]\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/branch_groups/:id","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","branch_groups",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>branch group id</p>\n","type":"text/plain"},"type":"any","value":"fa3d843b-552b-4d65-99f1-d17bd7fe6f0f","key":"id"}]}},"response":[],"_postman_id":"67417275-ca4c-47a5-8f68-1a596841fd66"},{"name":"create","id":"24b3241c-e131-448d-b900-cb379d484536","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"branch_group\": {\n        \"title\": \"Example For One 29\",\n        \"description\": \"\",\n        \"is_active\": true,\n        \"branch_name\": \"ANTALYA\",\n        \"branch_code\": \"1234\"\n        //\"branch_ids\": [\"2f387ab7-dbea-48db\", \"9e815e40-6dfc-4c7b\"]\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/branch_groups","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","branch_groups"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"24b3241c-e131-448d-b900-cb379d484536"}],"id":"5636e80b-cf6b-4937-a7cd-0537d5fbad6e","_postman_id":"5636e80b-cf6b-4937-a7cd-0537d5fbad6e","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Builds","item":[{"name":"list","id":"d8539861-4390-41b9-88c5-fd7a0e68eb99","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/builds","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","builds"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d8539861-4390-41b9-88c5-fd7a0e68eb99"}],"id":"972f319b-3cf8-40d1-a17e-6cd42cadcc1b","description":"<p><code>Build</code> api, şirket bünyesindeki binaları veya yapıları temsil eder. Bu api, binaların adını, açıklamasını ve aktiflik durumunu içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Her bina veya yapı, bir isim ve açıklama gibi temel bilgileri barındırır.</p>\n</li>\n<li><p>Binalar, şirketin fiziksel altyapısını ve varlık yönetimini düzenler.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><code>name</code>: Bina adı zorunludur ve genellikle benzersiz olmalıdır.</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li>Binalar aktif veya inaktif olarak işaretlenebilir (<code>is_active</code>). Bu durum, binanın şirket operasyonlarında kullanılıp kullanılmadığını gösterir.</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Bina Oluşturma</strong></td>\n<td>Yeni bina kaydı</td>\n<td><code>name</code></td>\n</tr>\n<tr>\n<td><strong>Bina Güncelleme</strong></td>\n<td>Mevcut bina bilgilerini güncelleme</td>\n<td>Bina detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Bina Silme</strong></td>\n<td>Bina kaydını sistemden kaldırma</td>\n<td>İlgili bina kaydı kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Bina Kaydı</strong>: Şirket bünyesinde yeni bir bina veya yapı eklenirse bu model kullanılarak sistemde yeni bir bina kaydı oluşturulur.</p>\n</li>\n<li><p><strong>Bina Bilgilerinin Güncellenmesi</strong>: Bina adı veya açıklaması gibi bilgiler zamanla güncellenebilir. Bu işlemler, binanın güncel durumu ve şirket içindeki konumunu yansıtacak şekilde yapılabilir.</p>\n</li>\n<li><p><strong>Bina Silme ve Yeniden Yapılandırma</strong>: İş gereksinimleri değiştiğinde binalar yeniden yapılandırılabilir veya sistemden silinebilir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><strong>Aktiflik Durumu</strong>: Binaların aktiflik durumu, binanın şirket içindeki kullanımına yönelik bir göstergedir. İnaktif binalar, geçici olarak kullanımdan kaldırılmış olabilir.</li>\n</ul>\n","_postman_id":"972f319b-3cf8-40d1-a17e-6cd42cadcc1b","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Cards","item":[{"name":"list","event":[{"listen":"test","script":{"id":"e4113444-423c-4732-b3be-eeda7e0c4784","exec":["pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test('Schema is valid', () => {","    const schema = {","        type: 'object',","        properties: {","            success: {","                type: 'boolean'","            },","            status: {","                type: 'integer'","            },","            message: {","                type: 'string'","            },","            data: {","                type: 'array',","                items: {","                    id: {","                        type: 'integer'","                    }","                }","            } ","        }","    };","    pm.response.to.have.jsonSchema(schema)","});"],"type":"text/javascript","packages":{}}}],"id":"2739a7cd-b399-4628-b060-0b5cbd3d9a0a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/cards","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","cards"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"fca48af4-0230-4317-a22b-73f7be7cc79c","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/cards"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"7ad2a5c5-7f63-49cc-97c6-357032bc15b7"},{"key":"X-Runtime","value":"1.486377"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"6m4iele15mwyyu3d1r59,bqwz0004b8ggoymm9ae9,2v2kapw95ktc5oik8zy8,pedyzdprxm7vwgqghlon,mrb1uinfeqc4e8eevp4s,12uuja3j4eybzhxsfp72"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"4b138edd-7c19-4f9b-86cf-12beca769fcb\",\n            \"card_no\": \"123567\",\n            \"cancellation_date\": null,\n            \"activation_date\": null,\n            \"status\": null,\n            \"is_active\": true,\n            \"title\": \"Deneme\",\n            \"client_id\": \"\",\n            \"company_id\": \"21b82085-ac24-49a1-a0f6-77dc74a2c10c\",\n            \"created_at\": \"2024-03-01T09:11:24.552+03:00\",\n            \"updated_at\": \"2024-03-01T09:12:58.322+03:00\"\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 471,\n        \"total_count\": 471\n    }\n}"}],"_postman_id":"2739a7cd-b399-4628-b060-0b5cbd3d9a0a"},{"name":"create","id":"3de9ff26-b03f-4822-ae73-91fac0085565","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secretKey}}"}],"body":{"mode":"raw","raw":"{\n    \"card\": {\n        \"card_no\": \"987654321\",\n        \"zone_id\": \"e26d051e-f4cb-49d8-b5b0-57802fff34ee\"\n        \"user_id\": \"c634175a-3d1d-4302-b5de-f550becb1e8e\",\n        \"is_active\": true       \n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/cards","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","cards"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"a32b5888-05e7-43c3-a5fd-1e62f2fb268c","name":"201","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"card\": {\n        \"card_no\": \"123\",\n        \"zone_id\": \"ab8773ca-e685-43f4-9b5f-c61955be257d\",\n        \"user_id\": \"faf9a144-f318-4a23-928a-9199a2c07f3a\",\n        \"title\": \"Deneme\",\n        \"is_active\": true,\n        \"client_id\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/cards"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"d91f03a8-6467-41fe-b389-79c48e6a9296"},{"key":"X-Runtime","value":"43.877349"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"qmhffbizbyiim1wrri2s,exfjl2nlhfm5knj4fabr,l86uq3diu5amrpylernu,2dl8n8r9t2yl5gt1vxb8,dzym7x84l7zlsnz5yudy,egm9b0pw232o6hdk98bj,a57zntromfuobdqu0ihk,r90bf8vtsaw8gbpybjg6,jqlepitwessf5osd7mua,bhghsqtuc144v3tldtp8,nq51g7tqnnl0shbedaum,56xjyx1zy1x6sl631llz,dh38hpq6meohy6fp6m7y,ynztswuyyinpq5y89gvh,s085g977huuxpob6xws3,hl2fyba4jxo2i1x0f3mg,vzljj46v4lke1bs7q6vj,don13wn6yq8bbzfeajne,pe5qmn510a27n6m4y40k,k239s49ic8ug9ooxnuom"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Card is successfully created\",\n    \"data\": {\n        \"id\": \"7586df6b-0f57-450d-ad6a-ce9c20df5153\",\n        \"card_no\": \"123\",\n        \"cancellation_date\": null,\n        \"activation_date\": null,\n        \"status\": null,\n        \"is_active\": true,\n        \"title\": \"Deneme\",\n        \"client_id\": \"\",\n        \"company_id\": \"21b82085-ac24-49a1-a0f6-77dc74a2c10c\",\n        \"created_at\": \"2024-03-01T08:51:28.373+03:00\",\n        \"updated_at\": \"2024-03-01T08:51:28.444+03:00\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"3de9ff26-b03f-4822-ae73-91fac0085565"},{"name":"update","id":"26932ff0-7183-41ff-a957-b2177d203f56","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"card\": {\n        \"card_no\": \"123567\",\n        \"zone_id\": \"9a183677-d498-4781-aea9\",\n        \"user_id\": \"faf9a144-f318-4a23-928a-9199a2c07f3a\",\n        \"title\": \"Deneme\",\n        \"is_active\": true,\n        \"client_id\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/cards/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","cards",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>card id</p>\n","type":"text/plain"},"type":"any","value":"4b138edd-7c19-4f9b-86cf-12beca769fcb","key":"id"}]}},"response":[{"id":"50185ae1-d7db-4132-a125-77d31ff36bb6","name":"200","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"card\": {\n        \"card_no\": \"123567\",\n        \"zone_id\": \"9a183677-d498-4781-aea9-052a6de591e0\",\n        \"user_id\": \"faf9a144-f318-4a23-928a-9199a2c07f3a\",\n        \"title\": \"Deneme\",\n        \"is_active\": true,\n        \"client_id\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/cards/:id","host":["https://api.passgage.com"],"path":["api","public","v1","cards",":id"],"variable":[{"key":"id","value":"4b138edd-7c19-4f9b-86cf-12beca769fcb","description":"card id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"X-bullet-footer-text","value":"[\"user: ahmetkaptan  USE eager loading detected    TerminalDevice =\\u003e [:device]\\n  Add to your query: .includes([:device])\",\"user: ahmetkaptan  USE eager loading detected    Terminal =\\u003e [:devices]\\n  Add to your query: .includes([:devices])\",\"user: ahmetkaptan  USE eager loading detected    TerminalCard =\\u003e [:terminal]\\n  Add to your query: .includes([:terminal])\",\"user: ahmetkaptan  USE eager loading detected    TerminalCard =\\u003e [:company]\\n  Add to your query: .includes([:company])\",\"user: ahmetkaptan  USE eager loading detected    PanelGroup =\\u003e [:zone]\\n  Add to your query: .includes([:zone])\"]"},{"key":"X-bullet-console-text","value":"[\"user: ahmetkaptan\\nUSE eager loading detected\\n  TerminalDevice =\\u003e [:device]\\n  Add to your query: .includes([:device])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:59:in `block in find_unique_terminals'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:58:in `find_unique_terminals'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:7:in `execute'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/models/card_zone.rb:29:in `block in \\u003cclass:CardZone\\u003e'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/cards_controller.rb:34:in `update'\\n\\n\",\"user: ahmetkaptan\\nUSE eager loading detected\\n  Terminal =\\u003e [:devices]\\n  Add to your query: .includes([:devices])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:59:in `block in find_unique_terminals'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:58:in `find_unique_terminals'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:7:in `execute'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/models/card_zone.rb:29:in `block in \\u003cclass:CardZone\\u003e'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/cards_controller.rb:34:in `update'\\n\\n\",\"user: ahmetkaptan\\nUSE eager loading detected\\n  TerminalCard =\\u003e [:terminal]\\n  Add to your query: .includes([:terminal])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:50:in `block in terminal_cards_to_remove'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:50:in `reject'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:50:in `terminal_cards_to_remove'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:15:in `remove_unnecessary_cards'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:8:in `execute'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/models/card_zone.rb:29:in `block in \\u003cclass:CardZone\\u003e'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/cards_controller.rb:34:in `update'\\n\\n\",\"user: ahmetkaptan\\nUSE eager loading detected\\n  TerminalCard =\\u003e [:company]\\n  Add to your query: .includes([:company])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:16:in `block in remove_unnecessary_cards'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:15:in `each'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:15:in `remove_unnecessary_cards'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:8:in `execute'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/models/card_zone.rb:29:in `block in \\u003cclass:CardZone\\u003e'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/cards_controller.rb:34:in `update'\\n\\n\",\"user: ahmetkaptan\\nUSE eager loading detected\\n  PanelGroup =\\u003e [:zone]\\n  Add to your query: .includes([:zone])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:37:in `block in add_card_to_device'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:37:in `add_card_to_device'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:22:in `block in add_missing_cards'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:21:in `each'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:21:in `add_missing_cards'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:9:in `execute'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/models/card_zone.rb:29:in `block in \\u003cclass:CardZone\\u003e'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/cards_controller.rb:34:in `update'\\n\\n\"]"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"fb4a3df6-3730-4fc3-bd7d-e7d6feaf3f4e"},{"key":"X-Runtime","value":"0.962898"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"vnqe7m94ap3akt9644z3,bqwz0004b8ggoymm9ae9,774xboekmgi024zm57hd,77sropqlk6ogj5r4i2gl,sha0y4n83zoixbfzpk49"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully updated zone\",\n    \"data\": {\n        \"id\": \"4b138edd-7c19-4f9b-86cf-12beca769fcb\",\n        \"card_no\": \"123567\",\n        \"cancellation_date\": null,\n        \"activation_date\": null,\n        \"status\": null,\n        \"is_active\": true,\n        \"title\": \"Deneme\",\n        \"client_id\": \"\",\n        \"company_id\": \"21b82085-ac24-49a1-a0f6-77dc74a2c10c\",\n        \"created_at\": \"2024-03-01T09:11:24.552+03:00\",\n        \"updated_at\": \"2024-03-01T09:12:58.322+03:00\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"26932ff0-7183-41ff-a957-b2177d203f56"},{"name":"delete","id":"b2b3d0e2-cade-4026-b08b-16c0a29e3892","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/cards/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","cards",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>card id</p>\n","type":"text/plain"},"type":"any","value":"4b138edd-7c19-4f9b-86cf-12beca769f","key":"id"}]}},"response":[{"id":"502119e9-2c40-4bab-ba86-6ffd93d2ac58","name":"200","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/cards/:id","host":["https://api.passgage.com"],"path":["api","public","v1","cards",":id"],"variable":[{"id":"d45b19a9-c462-406c-85d4-e12fb8868fff","key":"id","value":"4b138edd-7c19-4f9b-86cf-12beca769fcb","description":"card id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"X-bullet-footer-text","value":"[\"user: ahmetkaptan  USE eager loading detected    TerminalDevice =\\u003e [:device]\\n  Add to your query: .includes([:device])\",\"user: ahmetkaptan  USE eager loading detected    Terminal =\\u003e [:devices]\\n  Add to your query: .includes([:devices])\",\"user: ahmetkaptan  USE eager loading detected    TerminalCard =\\u003e [:terminal]\\n  Add to your query: .includes([:terminal])\",\"user: ahmetkaptan  USE eager loading detected    TerminalCard =\\u003e [:company]\\n  Add to your query: .includes([:company])\"]"},{"key":"X-bullet-console-text","value":"[\"user: ahmetkaptan\\nUSE eager loading detected\\n  TerminalDevice =\\u003e [:device]\\n  Add to your query: .includes([:device])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:59:in `block in find_unique_terminals'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:58:in `find_unique_terminals'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:7:in `execute'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/models/card_zone.rb:29:in `block in \\u003cclass:CardZone\\u003e'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/cards_controller.rb:51:in `destroy'\\n\\n\",\"user: ahmetkaptan\\nUSE eager loading detected\\n  Terminal =\\u003e [:devices]\\n  Add to your query: .includes([:devices])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:59:in `block in find_unique_terminals'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:58:in `find_unique_terminals'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:7:in `execute'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/models/card_zone.rb:29:in `block in \\u003cclass:CardZone\\u003e'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/cards_controller.rb:51:in `destroy'\\n\\n\",\"user: ahmetkaptan\\nUSE eager loading detected\\n  TerminalCard =\\u003e [:terminal]\\n  Add to your query: .includes([:terminal])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:50:in `block in terminal_cards_to_remove'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:50:in `reject'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:50:in `terminal_cards_to_remove'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:15:in `remove_unnecessary_cards'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:8:in `execute'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/models/card_zone.rb:29:in `block in \\u003cclass:CardZone\\u003e'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/cards_controller.rb:51:in `destroy'\\n\\n\",\"user: ahmetkaptan\\nUSE eager loading detected\\n  TerminalCard =\\u003e [:company]\\n  Add to your query: .includes([:company])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:16:in `block in remove_unnecessary_cards'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:15:in `each'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:15:in `remove_unnecessary_cards'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/interactions/terminal_cards/update_terminal_cards.rb:8:in `execute'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/models/card_zone.rb:29:in `block in \\u003cclass:CardZone\\u003e'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/cards_controller.rb:51:in `destroy'\\n\\n\"]"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"f00b7dda-89b0-4c05-93ca-e267fcb2de13"},{"key":"X-Runtime","value":"3.141337"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"fktimt1rjiod83l0b63l,bqwz0004b8ggoymm9ae9,2v2kapw95ktc5oik8zy8,pedyzdprxm7vwgqghlon,mrb1uinfeqc4e8eevp4s,12uuja3j4eybzhxsfp72,6m4iele15mwyyu3d1r59,9670f0rh38m2js39cyyn"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Card deleted successfully\",\n    \"data\": {\n        \"id\": \"4b138edd-7c19-4f9b-86cf-12beca769fcb\",\n        \"card_no\": \"123567\",\n        \"cancellation_date\": null,\n        \"activation_date\": null,\n        \"status\": null,\n        \"is_active\": true,\n        \"title\": \"Deneme\",\n        \"client_id\": \"\",\n        \"company_id\": \"21b82085-ac24-49a1-a0f6-77dc74a2c10c\",\n        \"created_at\": \"2024-03-01T09:11:24.552+03:00\",\n        \"updated_at\": \"2024-03-01T09:50:32.960+03:00\"\n    },\n    \"meta\": {}\n}"},{"id":"ed6107b8-5fbf-4836-b094-36260298cb17","name":"404","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/cards/:id","host":["https://api.passgage.com"],"path":["api","public","v1","cards",":id"],"variable":[{"key":"id","value":"4b138edd-7c19-4f9b-86cf-12beca769f","description":"card id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"eb3e9e72-dd17-4063-9ede-d9dead5ff115"},{"key":"X-Runtime","value":"0.192529"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 404,\n    \"message\": \"Couldn't find the record\",\n    \"errors\": []\n}"}],"_postman_id":"b2b3d0e2-cade-4026-b08b-16c0a29e3892"}],"id":"d723709a-779c-4754-80ad-b5e9881863d3","description":"<p><code>Card</code> api, çalışanların veya ziyaretçilerin kimlik kartlarını yönetir. Bu api, kart numarası, aktivasyon tarihi, iptal tarihi ve bağlı olduğu kullanıcı gibi bilgileri içerir. Kartlar, fiziksel veya dijital erişim kontrol sistemlerinde kullanılmak üzere tasarlanmıştır.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Her kart, benzersiz bir kart numarası, durumu ve ilgili kullanıcı bilgilerini barındırır.</p>\n</li>\n<li><p>Kartlar, belirli erişim kontrol cihazları ve bölgelerle ilişkilendirilebilir.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><p><code>card_no</code>: Kart numarası zorunludur ve benzersiz olmalıdır.</p>\n</li>\n<li><p><code>user_id</code>: Her kart, bir user'a bağlı olmalıdır.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li><p>Kartlar, belirli bir geçiş izni değişikliği (<code>change_permission</code>) içerebilir; bu, kartın kullanım izinlerinin dinamik olarak değiştirilebilmesine olanak tanır.</p>\n</li>\n<li><p>Kartlar, senkronizasyon durumlarına göre yönetilir (<code>synced_at</code>); bu, kartların cihazlara ne zaman gönderildiğini belirler.</p>\n</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Kart Oluşturma</strong></td>\n<td>Yeni kart kaydı</td>\n<td><code>card_no</code>, <code>user_id</code></td>\n</tr>\n<tr>\n<td><strong>Kart Güncelleme</strong></td>\n<td>Mevcut kart bilgilerini güncelleme</td>\n<td>Kart detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Kart Silme</strong></td>\n<td>Kart kaydını sistemden kaldırma</td>\n<td>İlgili kart kaydı ve bağlantılı bilgiler kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Kart Kaydı</strong>: Yeni bir çalışan veya ziyaretçi için kart oluşturulur. Bu kart, kişinin şirket içindeki erişimini kontrol etmek için kullanılır.</p>\n</li>\n<li><p><strong>Kart Bilgilerinin Güncellenmesi</strong>: Kartlar, kayıp veya hasar durumunda veya kart bilgilerinin güncellenmesi gerektiğinde düzenlenebilir.</p>\n</li>\n<li><p><strong>Kart Silme ve Yeniden Aktivasyon</strong>: Kartlar, kullanıcıların şirketten ayrılması veya geçici olarak erişiminin kısıtlanması durumlarında iptal edilebilir veya yeniden aktive edilebilir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><p><strong>Kart ve Cihaz İlişkisi</strong>: Kartlar, belirli erişim kontrol cihazlarıyla ilişkilendirilebilir. Bu, kartın hangi cihazlar tarafından kabul edileceğini belirler.</p>\n</li>\n<li><p><strong>Erişim Kontrol Zonları</strong>: Kartlar, bir veya daha fazla erişim kontrol bölgesine erişim izni sağlayabilir. Bu bölgeler, kartın geçerli olduğu alanları tanımlar.</p>\n</li>\n</ul>\n","_postman_id":"d723709a-779c-4754-80ad-b5e9881863d3","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Departments","item":[{"name":"list","id":"87623ad1-10b2-4c97-9702-da85f50c889e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/departments","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","departments"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"87623ad1-10b2-4c97-9702-da85f50c889e"},{"name":"show","id":"454ee830-dc2d-4b61-83c4-4fd14f97d6b9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.passgage.com/api/public/v1/departments/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","departments",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"6937865c-09ed-4e70-9a62-eff4f70e43ea","key":"id"}]}},"response":[{"id":"46fdf411-79d5-4b88-9a3a-30989a7272fb","name":"200","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.passgage.com/api/public/v1/job_positions/:id","host":["https://api.passgage.com"],"path":["api","public","v1","job_positions",":id"],"variable":[{"key":"id","value":"6937865c-09ed-4e70-9a62-eff4f70e43ea"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"0148e4f7-cd5e-4e9a-b40a-7c7a87afcde5"},{"key":"X-Runtime","value":"0.101456"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"hr35ns4a8vi9vwks59lo,800xkzsof9hxp5k0ac4,xojnc1jl0ta9vlnqzc6b,4rwcxecn15e4ubnpy4xa,kq3rdjpt7yqpdl43v54v"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"6937865c-09ed-4e70-9a62-eff4f70e43ea\",\n        \"name\": \"Satış Elemanı (Bijuteri)\",\n        \"description\": null,\n        \"is_active\": true,\n        \"created_at\": \"2024-02-05T15:01:33.229+03:00\",\n        \"updated_at\": \"2024-02-05T15:01:33.229+03:00\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"454ee830-dc2d-4b61-83c4-4fd14f97d6b9"},{"name":"delete","id":"1d8a946d-857f-4713-98e6-a67552e2d569","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api.passgage.com/api/public/v1/departments/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","departments",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"6937865c-09ed-4e70-9a62-eff4f70e43ea","key":"id"}]}},"response":[{"id":"d98f5917-a78e-4cc0-a555-56d7efcd98cb","name":"200","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api.passgage.com/api/public/v1/job_positions/:id","host":["https://api.passgage.com"],"path":["api","public","v1","job_positions",":id"],"variable":[{"key":"id","value":"6937865c-09ed-4e70-9a62-eff4f70e43ea"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"0586caa1-47fb-4824-b74f-3ae87d25c434"},{"key":"X-Runtime","value":"1.967887"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"bigsyupt4qgvbq29mwc6,800xkzsof9hxp5k0ac4,xojnc1jl0ta9vlnqzc6b,4rwcxecn15e4ubnpy4xa,kq3rdjpt7yqpdl43v54v,hr35ns4a8vi9vwks59lo"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully deleted job position\",\n    \"data\": {\n        \"id\": \"6937865c-09ed-4e70-9a62-eff4f70e43ea\",\n        \"name\": \"Satış Elemanı (Bijuteri)\",\n        \"description\": null,\n        \"is_active\": true,\n        \"created_at\": \"2024-02-05T15:01:33.229+03:00\",\n        \"updated_at\": \"2024-02-05T15:01:33.229+03:00\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"1d8a946d-857f-4713-98e6-a67552e2d569"},{"name":"update","id":"06ce73c4-f6ba-463c-8368-8a5f95f0ee62","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"department\": {\n        \"name\": \"Wilfred Ward DVM\",\n        \"client_id\": \"15\",\n        \"description\": \"\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/departments/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","departments",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"a40455f0-ffed-47f4-bac5-edecec561044","key":"id"}]}},"response":[{"id":"b1916851-58fb-4597-9bb9-7b74532c4bd8","name":"200","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"job_position\": {\n        \"name\": \"alycia.com\",\n        \"client_id\": \"829\",\n        \"description\": \"\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/job_positions/:id","host":["https://api.passgage.com"],"path":["api","public","v1","job_positions",":id"],"variable":[{"key":"id","value":"a40455f0-ffed-47f4-bac5-edecec561044"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"e8245fba-94e7-4a9b-a1ba-015d15919cac"},{"key":"X-Runtime","value":"1.389258"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"owfdxjux5vc5a4m65g2a,800xkzsof9hxp5k0ac4,xojnc1jl0ta9vlnqzc6b,4rwcxecn15e4ubnpy4xa,kq3rdjpt7yqpdl43v54v,hr35ns4a8vi9vwks59lo,bigsyupt4qgvbq29mwc6,x9l6ym3p56a13pbpty29"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully updated job position\",\n    \"data\": {\n        \"id\": \"a40455f0-ffed-47f4-bac5-edecec561044\",\n        \"name\": \"hallie.org\",\n        \"description\": \"\",\n        \"is_active\": true,\n        \"created_at\": \"2023-11-22T10:03:28.260+03:00\",\n        \"updated_at\": \"2024-03-06T00:00:39.826+03:00\"\n    },\n    \"meta\": {}\n}"},{"id":"c00abf23-1d57-4626-ab83-4b561a9195de","name":"422","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"job_position\": {\n        \"name\": \"\",\n        \"client_id\": \"343\",\n        \"description\": \"\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/job_positions/:id","host":["https://api.passgage.com"],"path":["api","public","v1","job_positions",":id"],"variable":[{"key":"id","value":"a40455f0-ffed-47f4-bac5-edecec561044"}]}},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"588e92b7-a1ea-4ccb-83f8-91b29e80f26d"},{"key":"X-Runtime","value":"1.254480"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 422,\n    \"message\": \"Unprocessable entity\",\n    \"errors\": [\n        {\n            \"field_name\": \"name\",\n            \"messages\": [\n                \"Pozisyon Adı doldurulmalı\",\n                \"Pozisyon Adı hali hazırda kullanılmakta\"\n            ]\n        }\n    ]\n}"}],"_postman_id":"06ce73c4-f6ba-463c-8368-8a5f95f0ee62"},{"name":"create","id":"1995208f-7282-46e3-9d54-09e821cb3648","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"department\": {\n        \"name\": \"Katherine Carter\",\n        \"client_id\": \"440\",\n        \"description\": \"\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/departments","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","departments"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"57eeac67-0883-4270-a60a-17a3ae8354ec","name":"422","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"job_position\": {\n        \"name\": \"\",\n        \"client_id\": \"195\",\n        \"description\": \"\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/job_positions/:id","host":["https://api.passgage.com"],"path":["api","public","v1","job_positions",":id"],"variable":[{"key":"id","value":"a40455f0-ffed-47f4-bac5-edecec561044"}]}},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"588e92b7-a1ea-4ccb-83f8-91b29e80f26d"},{"key":"X-Runtime","value":"1.254480"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 422,\n    \"message\": \"Unprocessable entity\",\n    \"errors\": [\n        {\n            \"field_name\": \"name\",\n            \"messages\": [\n                \"Pozisyon Adı doldurulmalı\",\n                \"Pozisyon Adı hali hazırda kullanılmakta\"\n            ]\n        }\n    ]\n}"},{"id":"41be5ad5-6973-4f54-b73e-329941e4353c","name":"201","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"job_position\": {\n        \"name\": \"Doreen O'Connell\",\n        \"client_id\": \"17\",\n        \"description\": \"\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/job_positions"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"58802bfa-d32c-49d7-adb5-3de10b890cf0"},{"key":"X-Runtime","value":"0.381228"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"fpfhn2y648xbpwfqs537,800xkzsof9hxp5k0ac4,xojnc1jl0ta9vlnqzc6b,4rwcxecn15e4ubnpy4xa,kq3rdjpt7yqpdl43v54v,hr35ns4a8vi9vwks59lo,bigsyupt4qgvbq29mwc6,x9l6ym3p56a13pbpty29,owfdxjux5vc5a4m65g2a,zb8oqk33mgbgk1ieji64,eczx4o86midfe6ufvota"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Successfully created job position\",\n    \"data\": {\n        \"id\": \"784f7ba3-eb47-43d3-9d06-01c3ad7c28bf\",\n        \"name\": \"Mamie Gerlach MD\",\n        \"description\": \"\",\n        \"is_active\": true,\n        \"created_at\": \"2024-03-06T00:02:08.910+03:00\",\n        \"updated_at\": \"2024-03-06T00:02:08.910+03:00\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"1995208f-7282-46e3-9d54-09e821cb3648"}],"id":"5a34bf1f-8a52-44f1-a0bc-a3c838cdd3b0","description":"<p><code>Department</code> api, şirket içindeki departmanları temsil eder. Bu api, departmanların yönetimi, departmana bağlı kullanıcıların takibi ve departman ile ilgili onay akışlarının yönetimi gibi işlevsellikleri sağlar.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Departmanlar, bir şirket bünyesinde farklı iş gruplarını veya takımları ifade eder.</p>\n</li>\n<li><p>Her departman, isim, aktiflik durumu ve o departmana bağlı kullanıcı sayısını içerir.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><code>name</code>: Departman adı zorunludur ve her şirket içinde benzersiz olmalıdır.</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li>Departman silme işlemleri, departmana bağlı kullanıcılar varsa kısıtlanır. Departmanın silinmesi için öncelikle bu kullanıcıların başka departmanlara taşınması veya sistemden kaldırılması gerekir.</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Departman Oluşturma</strong></td>\n<td>Yeni departman kaydı</td>\n<td><code>name</code></td>\n</tr>\n<tr>\n<td><strong>Departman Güncelleme</strong></td>\n<td>Mevcut departman bilgilerini güncelleme</td>\n<td>Departman detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Departman Silme</strong></td>\n<td>Departman kaydını sistemden kaldırma</td>\n<td>Departmana bağlı kullanıcılar kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Departman Kaydı</strong>: Şirket yöneticileri, organizasyonel yapıya uygun yeni departmanlar oluşturabilir. Bu departmanlar, belirli iş fonksiyonları veya projeler için gruplar oluşturmak amacıyla kullanılır.</p>\n</li>\n<li><p><strong>Departman Bilgilerinin Güncellenmesi</strong>: Departman adı gibi bilgiler zamanla güncellenebilir. Bu işlemler, departmanın güncel durumu ve şirket içindeki konumunu yansıtacak şekilde yapılabilir.</p>\n</li>\n<li><p><strong>Departman Silme ve Yeniden Yapılandırma</strong>: Departmanlar, iş gereksinimleri değiştiğinde yeniden yapılandırılabilir veya silinebilir. Departman silme işlemi, departmana bağlı kullanıcıların yönetimiyle yakından ilgilidir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><strong>Departman ve Kullanıcı İlişkisi</strong>: Bir departman silinmek istendiğinde, öncelikle o departmana kayıtlı kullanıcıların durumu göz önünde bulundurulur. Eğer departmanda kullanıcılar varsa, bu kullanıcıların başka bir departmana taşınması gerekmektedir.</li>\n</ul>\n","_postman_id":"5a34bf1f-8a52-44f1-a0bc-a3c838cdd3b0","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Devices","item":[{"name":"list","id":"7e8f75ee-d15e-45f1-9fad-7fe176398e6f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/devices?per_page=10&page=1&q[client_id_eq]=60006066","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","devices"],"host":["https://api.passgage.com"],"query":[{"key":"per_page","value":"10"},{"key":"page","value":"1"},{"key":"q[client_id_eq]","value":"60006066"}],"variable":[]}},"response":[{"id":"3ba757bd-30ad-4fbd-8381-278671eede91","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/devices?per_page=1","host":["https://api.passgage.com"],"path":["api","public","v1","devices"],"query":[{"key":"per_page","value":"1","type":"text"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"f4972a32-459b-4212-adc2-bdc79aa75aab"},{"key":"X-Runtime","value":"1.706419"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"74w5mymz092cpm8jnojn,ywvf6w66s5t9bzrhgxjf,gm6kqsar32o34m7hb80o"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"9760939b-b053-4633-8a8b-ad38c755b40d\",\n            \"name\": \"Example Name Updated\",\n            \"description\": null,\n            \"client_id\": null,\n            \"latitude\": 0,\n            \"longitude\": 0,\n            \"is_active\": true,\n            \"created_at\": \"2024-02-28T20:18:22.472+03:00\",\n            \"updated_at\": \"2024-02-28T20:43:54.008+03:00\",\n            \"direction\": null\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 239,\n        \"total_count\": 239\n    }\n}"}],"_postman_id":"7e8f75ee-d15e-45f1-9fad-7fe176398e6f"},{"name":"create","id":"65ecc315-c668-4651-bd87-004fe4ac9419","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer psg_cmp_cA3PWoBEVsHZo34ju4jjy1EZfUQMds"}],"body":{"mode":"raw","raw":"{\n    \"device\": {\n        \"latitude\": 40.964535,\n        \"longitude\": 29.073706,\n        \"serial_number\": \"34054\",\n        \"qr_code_id\": \"\",\n        \"direction\": \"bidirectional\",\n        \"device_brand\": \"\",\n        \"device_type\": \"\",\n        \"name\": \"Avva Bağdat Caddesi\",\n        \"range\": \"\",\n        \"range_matter\": \"\",\n        \"port\": 0,\n        \"external_ip\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/devices","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>latitude</td>\n<td>Float</td>\n<td>Cihazın enlemi</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>longitude</td>\n<td>Float</td>\n<td>Cihazın boylamı</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>serial_number</td>\n<td>String</td>\n<td>Cihazın seri numarası</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>qr_code_id</td>\n<td>String</td>\n<td>QR kodunun tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>direction</td>\n<td>String</td>\n<td>Cihazın yönü</td>\n<td>Hayır</td>\n<td>check_in, check_out, bidirectional</td>\n</tr>\n<tr>\n<td>device_type</td>\n<td>String</td>\n<td>Cihazın tipi</td>\n<td>Hayır</td>\n<td>card_scanner, qr_scanner, nfc_scanner</td>\n</tr>\n<tr>\n<td>name</td>\n<td>String</td>\n<td>Cihazın adı</td>\n<td>Evet</td>\n<td>-</td>\n</tr>\n<tr>\n<td>range</td>\n<td>String</td>\n<td>Cihazın menzili</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>range_matter</td>\n<td>String</td>\n<td>Menzil konusu</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>port</td>\n<td>Integer</td>\n<td>Cihazın portu</td>\n<td>Evet</td>\n<td>-</td>\n</tr>\n<tr>\n<td>external_ip</td>\n<td>String</td>\n<td>Cihazın dış IP adresi</td>\n<td>Evet</td>\n<td>-</td>\n</tr>\n<tr>\n<td>zone_ids</td>\n<td>Array</td>\n<td>Cihazın bağlı olduğu bölge tanımlayıcı numaraları</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>client_id</td>\n<td>String</td>\n<td>Entegrasyon Numarası</td>\n<td>Hayır</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","devices"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"91eafb2f-32a0-445d-8aba-4f21741d4db0","name":"201","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer psg_cmp_Pq1cDSkymMQj4uFUXJZ18nZH4tGazm","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"device\": {\n        \"latitude\": 0.0,\n        \"longitude\": 0.0,\n        \"serial_number\": \"\",\n        \"qr_code_id\": \"\",\n        \"direction\": \"\",\n        \"device_type\": \"\",\n        \"name\": \"Example Name\",\n        \"range\": \"\",\n        \"range_matter\": \"\",\n        \"port\": 65000,\n        \"external_ip\": \"127.0.0.1\",\n        \"zone_ids\": [\"ab8773ca-e685-43f4-9b5f\", \"5bee0bdc-ef81-4a07-8e93\"]\n\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/devices"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"9bf28062-f110-4766-affd-564777081ab1"},{"key":"X-Runtime","value":"1.462801"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"z696p71iquu2uekcqhzc,e12rkgtp7gmk32mesy6v,ld5gocw8a7u84yi2qeua,6kxbwczf3ufyodis8pq8,i05p2y4ighitmv99pyqc,roev5m78ee4i1bly3q89,p7qixk7lu0ajimnifq2j,dlt35fev29fbrdvvwsxc,wpdx68o8a7z7o3vwc9uc,hlfxf9wa8r4w0f01dztc,5m6l81amthanv45k5dab"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Successfully created device\",\n    \"data\": {\n        \"id\": \"9760939b-b053-4633-8a8b-ad38c755b40d\",\n        \"latitude\": 0,\n        \"longitude\": 0,\n        \"qr_code_id\": null,\n        \"direction\": null,\n        \"zones\": [\n            {\n                \"id\": \"ab8773ca-e685-43f4-9b5f-c61955be257d\",\n                \"name\": \"Tüm Katlar(Hazine Odası Hariç)\",\n                \"company_id\": \"21b82085-ac24-49a1-a0f6-77dc\",\n                \"is_active\": true,\n                \"description\": \"\",\n                \"build_id\": null,\n                \"created_at\": \"2024-01-24T02:00:21.888+03:00\",\n                \"updated_at\": \"2024-01-24T02:51:47.327+03:00\"\n            },\n            {\n                \"id\": \"5bee0bdc-ef81-4a07-8e93-98d410f43b34\",\n                \"name\": \"Tüm Katlar(Arge ve Hazine Odası Hariç)\",\n                \"company_id\": \"21b82085-ac24-49a1-a0f6-77dc\",\n                \"is_active\": true,\n                \"description\": \"\",\n                \"build_id\": null,\n                \"created_at\": \"2024-01-24T01:59:57.208+03:00\",\n                \"updated_at\": \"2024-01-24T04:27:32.863+03:00\"\n            }\n        ],\n        \"device_type\": null,\n        \"name\": \"Example Name\",\n        \"range\": \"\",\n        \"range_matter\": \"\",\n        \"created_at\": \"2024-02-28T20:18:22.472+03:00\",\n        \"updated_at\": \"2024-02-28T20:18:22.472+03:00\",\n        \"port\": 65000,\n        \"external_ip\": \"127.0.0.1\",\n        \"device_usage\": \"pdks\",\n        \"description\": null,\n        \"build_id\": null,\n        \"relay\": \"r1\",\n        \"device_brand\": \"sc430\",\n        \"proxy_type\": \"passgage_proxy\",\n        \"door_trigger_ip\": null,\n        \"door_trigger_port\": null,\n        \"delay_time\": 1,\n        \"client_id\": null,\n        \"is_main_device\": false,\n        \"is_dining_hall\": false,\n        \"is_dormitory\": false,\n        \"gym\": false,\n        \"is_active\": true,\n        \"device_schedules\": []\n    },\n    \"meta\": {}\n}"}],"_postman_id":"65ecc315-c668-4651-bd87-004fe4ac9419"},{"name":"update","id":"40013924-bcd5-4018-90c2-d38569e8fcac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"device\": {\n        \"latitude\": 0.0,\n        \"longitude\": 0.0,\n        \"serial_number\": \"\",\n        \"qr_code_id\": \"\",\n        \"direction\": \"\",\n        \"device_type\": \"\",\n        \"device_brand\": \"\",\n        \"name\": \"Example Name Updated\",\n        \"range\": \"\",\n        \"range_matter\": \"\",\n        \"port\": 65000,\n        \"external_ip\": \"127.1.1.1\",\n        \"zone_ids\": [\"6e9f3682-b658-48ad-994d\", \"243d7b80-7997-4654\"]\n\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/devices/:id","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>latitude</td>\n<td>Float</td>\n<td>Cihazın enlemi</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>longitude</td>\n<td>Float</td>\n<td>Cihazın boylamı</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>serial_number</td>\n<td>String</td>\n<td>Cihazın seri numarası</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>qr_code_id</td>\n<td>String</td>\n<td>QR kodunun tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>direction</td>\n<td>String</td>\n<td>Cihazın yönü</td>\n<td>Hayır</td>\n<td>check_in, check_out, bidirectional</td>\n</tr>\n<tr>\n<td>device_type</td>\n<td>String</td>\n<td>Cihazın tipi</td>\n<td>Hayır</td>\n<td>card_scanner, qr_scanner, nfc_scanner</td>\n</tr>\n<tr>\n<td>name</td>\n<td>String</td>\n<td>Cihazın adı</td>\n<td>Evet</td>\n<td>-</td>\n</tr>\n<tr>\n<td>range</td>\n<td>String</td>\n<td>Cihazın menzili</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>range_matter</td>\n<td>String</td>\n<td>Menzil konusu</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>port</td>\n<td>Integer</td>\n<td>Cihazın portu</td>\n<td>Evet</td>\n<td>-</td>\n</tr>\n<tr>\n<td>external_ip</td>\n<td>String</td>\n<td>Cihazın dış IP adresi</td>\n<td>Evet</td>\n<td>-</td>\n</tr>\n<tr>\n<td>zone_ids</td>\n<td>Array</td>\n<td>Cihazın bağlı olduğu bölge tanımlayıcı numaraları</td>\n<td>Hayır</td>\n<td>-</td>\n</tr>\n<tr>\n<td>client_id</td>\n<td>String</td>\n<td>Entegrasyon Numarası</td>\n<td>Hayır</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","devices",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"9760939b-b053-4633-8a8b-ad38c755b40d","key":"id"}]}},"response":[{"id":"8db36ed0-8a9e-49d8-856d-42e8d82f3acc","name":"200","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"device\": {\n        \"latitude\": 0.0,\n        \"longitude\": 0.0,\n        \"serial_number\": \"\",\n        \"qr_code_id\": \"\",\n        \"direction\": \"\",\n        \"device_type\": \"\",\n        \"name\": \"Example Name Updated\",\n        \"range\": \"\",\n        \"range_matter\": \"\",\n        \"port\": 65000,\n        \"external_ip\": \"127.1.1.1\",\n        \"zone_ids\": [\"6e9f3682-b658-48ad-994d\", \"243d7b80-7997-4654\"]\n\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/devices/:id","host":["https://api.passgage.com"],"path":["api","public","v1","devices",":id"],"variable":[{"key":"id","value":"9760939b-b053-4633-8a8b-ad38c755b40d"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"f7c48120-1688-439d-ac3f-0daa3593877a"},{"key":"X-Runtime","value":"10.226946"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"z27pbh176l5r0hfczcay,z27ehopzu86a84tgovhi"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully updated device\",\n    \"data\": {\n        \"id\": \"9760939b-b053-4633-8a8b-ad38c755b40d\",\n        \"latitude\": 0,\n        \"longitude\": 0,\n        \"qr_code_id\": null,\n        \"direction\": null,\n        \"zones\": [\n            {\n                \"id\": \"6e9f3682-b658-48ad-994d\",\n                \"name\": \"4-3-2-1-A-0- 1 ve Hazine Odası\",\n                \"company_id\": \"21b82085-ac24-49a1-a0f6\",\n                \"is_active\": true,\n                \"description\": \"\",\n                \"build_id\": null,\n                \"created_at\": \"2024-01-24T01:57:59.376+03:00\",\n                \"updated_at\": \"2024-01-24T04:20:45.764+03:00\"\n            },\n            {\n                \"id\": \"243d7b80-7997-4654-aaeb\",\n                \"name\": \"MERKEZ\",\n                \"company_id\": \"21b82085-ac24-49a1-a0f6\",\n                \"is_active\": true,\n                \"description\": \"\",\n                \"build_id\": null,\n                \"created_at\": \"2024-01-15T11:47:46.924+03:00\",\n                \"updated_at\": \"2024-02-02T08:23:17.339+03:00\"\n            }\n        ],\n        \"device_type\": null,\n        \"name\": \"Example Name Updated\",\n        \"range\": \"\",\n        \"range_matter\": \"\",\n        \"created_at\": \"2024-02-28T20:18:22.472+03:00\",\n        \"updated_at\": \"2024-02-28T20:43:54.008+03:00\",\n        \"port\": 65000,\n        \"external_ip\": \"127.1.1.1\",\n        \"device_usage\": \"pdks\",\n        \"description\": null,\n        \"build_id\": null,\n        \"relay\": \"r1\",\n        \"device_brand\": \"sc430\",\n        \"proxy_type\": \"passgage_proxy\",\n        \"door_trigger_ip\": null,\n        \"door_trigger_port\": null,\n        \"delay_time\": 1,\n        \"client_id\": null,\n        \"is_main_device\": false,\n        \"is_dining_hall\": false,\n        \"is_dormitory\": false,\n        \"gym\": false,\n        \"is_active\": true,\n        \"device_schedules\": []\n    },\n    \"meta\": {}\n}"},{"id":"c44e20f8-1b59-4245-b991-8c5617947e95","name":"404","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer psg_cmp_Pq1cDSkymMQj4uFUXJZ18nZH4tGazm","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"device\": {\n        \"latitude\": 0.0,\n        \"longitude\": 0.0,\n        \"serial_number\": \"\",\n        \"qr_code_id\": \"\",\n        \"direction\": \"\",\n        \"device_type\": \"\",\n        \"name\": \"Example Name Updated\",\n        \"range\": \"\",\n        \"range_matter\": \"\",\n        \"port\": 65000,\n        \"external_ip\": \"127.1.1.1\",\n        \"zone_ids\": [\"ab8773ca-e685-43f4-9b5f\", \"5bee0bdc-ef81-4a07-8e93\"]\n\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/devices/:id","host":["https://api.passgage.com"],"path":["api","public","v1","devices",":id"],"variable":[{"key":"id","value":"9760939b-b053-4633-8a8b-ad38c755b40","description":"device_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"5f0b30b4-82fa-437f-9647-13bb0ab3ad6c"},{"key":"X-Runtime","value":"0.907140"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 404,\n    \"message\": \"Couldn't find the record\",\n    \"errors\": []\n}"},{"id":"d149eb57-db6a-4706-98a8-a3311cb5a054","name":"Zone Not Found","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"device\": {\n        \"latitude\": 0.0,\n        \"longitude\": 0.0,\n        \"serial_number\": \"\",\n        \"qr_code_id\": \"\",\n        \"direction\": \"\",\n        \"device_type\": \"\",\n        \"name\": \"Example Name Updated\",\n        \"range\": \"\",\n        \"range_matter\": \"\",\n        \"port\": 65000,\n        \"external_ip\": \"127.1.1.1\",\n        \"zone_ids\": [\"ab8773ca-e685-43f4-9b5f\", \"5bee0bdc-ef81-4a07-8e93\"]\n\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/devices/:id","host":["https://api.passgage.com"],"path":["api","public","v1","devices",":id"],"variable":[{"key":"id","value":"9760939b-b053-4633-8a8b-ad38c755b40d"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"dd6ba5e2-304c-4f54-a06e-f5ed03fd596c"},{"key":"X-Runtime","value":"12.351726"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 404,\n    \"message\": \"Couldn't find the record\",\n    \"errors\": []\n}"}],"_postman_id":"40013924-bcd5-4018-90c2-d38569e8fcac"}],"id":"f9ddacd1-9c4f-4ab7-aa15-76326cf7cb9d","description":"<p>Bu dokümantasyon, <code>Device</code> API operasyonlarını yönetmek için gereken temel bilgileri ve doğrulama kurallarını içerir. <code>Device</code> api, sistemimizdeki cihazları temsil eder ve bu cihazların doğru şekilde kaydedilmesi, güncellenmesi ve yönetilmesi için çeşitli doğrulamalar uygulanır.</p>\n<h4 id=\"temel-validation\">Temel Validation</h4>\n<ul>\n<li><p><strong>name</strong>: Her cihaz için isim alanı zorunludur.</p>\n</li>\n<li><p><strong>serial_number</strong> ve <strong>panel_number</strong>: <code>makim_v1</code> veya <code>makim_v2</code> tipindeki cihazlar için bu alanlar zorunludur.</p>\n</li>\n<li><p><strong>readers</strong>: Yine <code>makim_v1</code> veya <code>makim_v2</code> tipi cihazlar için gereklidir.</p>\n</li>\n</ul>\n<h4 id=\"koşullu-validation\">Koşullu Validation</h4>\n<ul>\n<li><p><strong>qr_code_id</strong>: <code>passgage</code>, <code>passgage_qr</code>, veya <code>makim_qr</code> tipleri için benzersiz olmalıdır.</p>\n</li>\n<li><p><strong>port</strong> ve <strong>external_ip</strong>: <code>passgage_qr</code> veya <code>nfc_scanner</code> haricindeki cihazlar için bu alanlar gereklidir.</p>\n</li>\n<li><p><strong>door_trigger_ip</strong> ve <strong>door_trigger_port</strong>: Yalnızca <code>qr_scanner</code> tipi cihazlar için bu alanlar zorunludur.</p>\n</li>\n</ul>\n<h3 id=\"parametreler\">PARAMETRELER</h3>\n<h4 id=\"latitude-ve-longitude\">Latitude ve Longitude</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> Cihazın coğrafi konum bilgileri. Bu değerler genellikle cihazın GPS verilerini içerir.</p>\n</li>\n<li><p>\"latitude\": 40.7128,\"longitude\": -74.0060</p>\n</li>\n</ul>\n<h4 id=\"serial-number\">Serial Number</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> Cihazın benzersiz seri numarası. Bu alan, cihazı diğerlerinden ayırt etmek için kullanılır.</p>\n</li>\n<li><p>\"serial_number\": \"SN123456789\"</p>\n</li>\n</ul>\n<h4 id=\"qr-code-id\">QR Code ID</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> QR kodunun okutulması sonucunda dönen benzersiz kimlik numarası.</p>\n</li>\n<li><p>\"qr_code_id\": \"b94fff2d-9dc5-45c8-94a3-781182097746\"</p>\n</li>\n</ul>\n<h4 id=\"direction\">Direction</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> Cihazın hareket yönü (örneğin, <code>check_in</code> veya <code>check_out</code>).</p>\n</li>\n<li><p>\"direction\": \"check_in\"</p>\n</li>\n</ul>\n<h4 id=\"device-brand\">Device Brand</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> Kullanılacak cihazın türüne göre belirlenir:</p>\n<ul>\n<li><p>Eğer tetikleyici IoT cihaz ve QR kodunu birlikte kullanıyorsanız, bu değeri <code>\"passgage\"</code> olarak ayarlayın.</p>\n</li>\n<li><p>Sadece QR kodu kullanıyorsanız, bu değeri <code>\"passgage\"</code> olarak ayarlayın.</p>\n</li>\n</ul>\n</li>\n<li><p>\"device_brand\": \"passgage_qr\"</p>\n</li>\n</ul>\n<h4 id=\"device-type\">Device Type</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> Cihazın tipi. Bu alan, cihazın spesifik türünü belirtmek için kullanılır.</p>\n</li>\n<li><p>\"device_type\":</p>\n<ul>\n<li><p>\"passgage\" (iot cihazi ile birlikte kullanılan qr)</p>\n</li>\n<li><p>\"passgage_qr\" (sadece qr kullanıminda)</p>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"name\">Name</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> Cihazın adı veya tanımlayıcısı.</p>\n</li>\n<li><p>\"name\": \"P_1438\"</p>\n</li>\n</ul>\n<h4 id=\"range-ve-range-matter\">Range ve Range Matter</h4>\n<ul>\n<li><strong>Açıklama:</strong> Cihazın etkili çalışma aralığı ve aralıkla ilgili diğer bilgiler.</li>\n</ul>\n<h4 id=\"port\">Port</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> Cihazın bağlantı kurduğu port numarası.</p>\n</li>\n<li><p>\"port\": 65000</p>\n</li>\n</ul>\n<h4 id=\"external-ip\">External IP</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> Cihazın bağlandığı dış IP adresi.</p>\n</li>\n<li><p>\"external_ip\": \"212.15.5.130\"</p>\n</li>\n</ul>\n<h4 id=\"zone-ids\">Zone IDs</h4>\n<ul>\n<li><strong>Açıklama:</strong> Cihazın hangi bölgelerde çalıştığını belirtmek için kullanılan alan.</li>\n</ul>\n","_postman_id":"f9ddacd1-9c4f-4ab7-aa15-76326cf7cb9d","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Entrances","item":[{"name":"list","id":"09942562-71a9-4d07-b065-2a6255394ea1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{api_key}}"}],"url":"https://api.passgage.com/api/public/v1/entrances?page=3&q[card_no_eq]=1231123123&per_page=25","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","entrances"],"host":["https://api.passgage.com"],"query":[{"key":"page","value":"3"},{"disabled":true,"key":"q[description_cont]","value":""},{"disabled":true,"key":"q[created_at_gteq]","value":""},{"disabled":true,"key":"q[created_at_lteq]","value":""},{"disabled":true,"key":"q[device_id_eq]","value":""},{"key":"q[card_no_eq]","value":"1231123123"},{"disabled":true,"key":"q[user_email_cont]","value":"mildred@luettgen.org"},{"disabled":true,"key":"q[user_gsm_cont]","value":"5443332211"},{"disabled":true,"key":"q[user_id_eq]","value":"2a588611-4c85-48ad-bec8-2935dbd"},{"disabled":true,"key":"q[user_client_id_cont]","value":"777666"},{"disabled":true,"key":"q[user_branch_id_eq]","value":""},{"disabled":true,"key":"q[user_zone_id_eq]","value":"076531aa-5554-4df2-8634-8"},{"disabled":true,"key":"q[updated_at_lteq]","value":"2023-04-13"},{"disabled":true,"key":"q[updated_at_gteq]","value":"2023-04-13"},{"key":"per_page","value":"25"}],"variable":[]}},"response":[{"id":"084ea7d9-79b8-4cdb-b64b-3a9154a6cd20","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer psg_cmp_tMk1Lg1AfXo87Dj6TuMgQqnd9MP6bV","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/entrances?page=3&per_page=1&q[description_cont]=&q[created_at_gteq]=&q[created_at_lteq]=&q[device_id_eq]=&q[card_card_no_cont]=123123123&q[user_email_cont]=mildred@luettgen.org&q[user_gsm_cont]=5443332211&q[user_id_eq]=2a588611-4c85-48ad-bec8-2935dbd&q[user_client_id_cont]=777666&q[user_branch_id_eq]=&q[user_zone_id_eq]=076531aa-5554-4df2-8634-8&q[updated_at_lteq]=2023-04-13&q[updated_at_gteq]=2023-04-13","host":["https://api.passgage.com"],"path":["api","public","v1","entrances"],"query":[{"key":"page","value":"3"},{"key":"per_page","value":"1"},{"key":"q[description_cont]","value":""},{"key":"q[created_at_gteq]","value":""},{"key":"q[created_at_lteq]","value":""},{"key":"q[device_id_eq]","value":"","type":"text"},{"key":"q[card_card_no_cont]","value":"123123123"},{"key":"q[user_email_cont]","value":"mildred@luettgen.org"},{"key":"q[user_gsm_cont]","value":"5443332211"},{"key":"q[user_id_eq]","value":"2a588611-4c85-48ad-bec8-2935dbd","type":"text"},{"key":"q[user_client_id_cont]","value":"777666"},{"key":"q[user_branch_id_eq]","value":"","type":"text"},{"key":"q[user_zone_id_eq]","value":"076531aa-5554-4df2-8634-8"},{"key":"q[updated_at_lteq]","value":"2023-04-13"},{"key":"q[updated_at_gteq]","value":"2023-04-13"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"6ec49a51-7842-4c3b-93b4-f5aabc53ba32"},{"key":"X-Runtime","value":"0.233210"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"9k7henrzgmkrma43olxd,dnwhz3wgxpd6kksvxysz,46cjzki3t2re9cwlnqph,rn1ohld523gypwk6lq07,eq1vlg7k27p465kupnbs,homtc2j74k7bbti5jbnd"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"7522ef96-b2b0-4b56-8cc4-2f3e2236ace0\",\n            \"description\": null,\n            \"device_type\": null,\n            \"entrance_type\": \"check_in\",\n            \"status\": null,\n            \"created_at\": \"2024-02-12T14:53:41.989+03:00\",\n            \"updated_at\": \"2024-02-12T14:53:41.989+03:00\",\n            \"branch\": {\n                \"id\": null,\n                \"name\": null\n            },\n            \"card\": {\n                \"id\": null,\n                \"card_no\": null\n            },\n            \"is_manual_recording\": null,\n            \"user\": {\n                \"client_id\": \"74412\",\n                \"full_name\": \"ERTAN DEMİRCİK\",\n                \"email\": \"mildred@luettgen.org\",\n                \"gsm\": \"5443332211\",\n                \"citizenship_number\": \"1111111111\"\n            },\n            \"zone\": {\n                \"id\": null,\n                \"name\": null\n            },\n            \"device\": {\n                \"id\": \"bf65db4a-283c-4b63-978a-41\",\n                \"name\": \"ESENYURT PRESS DEPO TURNİKE GİRİŞ\",\n                \"client_id\": null\n            }\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 3,\n        \"total_pages\": 703486,\n        \"total_count\": 703486\n    }\n}"}],"_postman_id":"09942562-71a9-4d07-b065-2a6255394ea1"},{"name":"Export - Start Job","id":"efe153ac-e84f-4629-a530-9221481fa10b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"format\": \"json\",\n  \"date_from\": \"2025-11-01\",\n  \"date_to\": \"2025-11-30\"\n}"},"url":"https://api.passgage.com/api/public/v1/entrances/export","description":"<p>Async bulk export baslatir.</p>\n","urlObject":{"path":["api","public","v1","entrances","export"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"efe153ac-e84f-4629-a530-9221481fa10b"},{"name":"Export - Check Status","id":"ab695093-34fb-4999-9835-a941fdcf5de0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/entrances/export/:job_id/status","urlObject":{"path":["api","public","v1","entrances","export",":job_id","status"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"{{export-job-uuid}}","key":"job_id"}]}},"response":[],"_postman_id":"ab695093-34fb-4999-9835-a941fdcf5de0"},{"name":"Export - Download","id":"1d71e928-c367-4a2d-b27a-e14ab612dbed","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/entrances/export/:job_id/download","urlObject":{"path":["api","public","v1","entrances","export",":job_id","download"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"{{export-job-uuid}}","key":"job_id"}]}},"response":[],"_postman_id":"1d71e928-c367-4a2d-b27a-e14ab612dbed"},{"name":"Export - List Jobs","id":"972d5701-d2f1-4b87-bae4-e34a941effed","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/entrances/exports?","urlObject":{"path":["api","public","v1","entrances","exports"],"host":["https://api.passgage.com"],"query":[{"key":"","value":null}],"variable":[]}},"response":[],"_postman_id":"972d5701-d2f1-4b87-bae4-e34a941effed"},{"name":"Stream - Cursor Pagination","id":"79a691c5-3d9d-48de-8cae-3ab92eca3ddd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/entrances/stream","description":"<p>Cursor-based pagination ile vardiya listesi.</p>\n<p><strong>Avantajlari:</strong></p>\n<ul>\n<li>Buyuk veri setlerinde sabit performans (O(log n))</li>\n<li>Sayfa atlama olmadan ardisik veri cekme</li>\n<li>Veri tutarliligi garantisi</li>\n</ul>\n<p><strong>Kullanim:</strong></p>\n<ol>\n<li>Ilk istek: limit parametresi ile</li>\n<li>Sonraki sayfalar: response'daki <code>meta.cursors.after</code> degerini <code>after</code> parametresine ekleyin</li>\n<li>Onceki sayfalar: <code>meta.cursors.before</code> degerini <code>before</code> parametresine ekleyin</li>\n</ol>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","entrances","stream"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"description":{"content":"<p>Sonraki sayfa icin cursor (onceki response'dan alinir)</p>\n","type":"text/plain"},"key":"after","value":"eyJjcmVhdGVkX2F0IjoiMjAyNS0xMi0xNlQwNTo1Njo1MS43MTcyNjNaIiwiaWQiOiJhZTRiZjUwYi02MGIxLTQ5ZGMtOWY1Yi1iYTdhNWFlYWE5ZGUifQ"},{"disabled":true,"description":{"content":"<p>Onceki sayfa icin cursor</p>\n","type":"text/plain"},"key":"before","value":""},{"disabled":true,"description":{"content":"<p>Baslangic tarihi filtresi</p>\n","type":"text/plain"},"key":"q[date_of_shift_gteq]","value":"2025-01-01"},{"disabled":true,"description":{"content":"<p>Bitis tarihi filtresi</p>\n","type":"text/plain"},"key":"q[date_of_shift_lteq]","value":"2025-12-31"},{"disabled":true,"description":{"content":"<p>Max 200</p>\n","type":"text/plain"},"key":"limit","value":"10"}],"variable":[]}},"response":[{"id":"f90e1854-2b11-4ca0-87f4-e82ba9b93f6c","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/entrances/stream","host":["https://api.passgage.com"],"path":["api","public","v1","entrances","stream"],"query":[{"key":"after","value":"eyJjcmVhdGVkX2F0IjoiMjAyNS0xMi0xNlQwNTo1Njo1MS43MTcyNjNaIiwiaWQiOiJhZTRiZjUwYi02MGIxLTQ5ZGMtOWY1Yi1iYTdhNWFlYWE5ZGUifQ","description":"Sonraki sayfa icin cursor (onceki response'dan alinir)","disabled":true},{"key":"before","value":"","description":"Onceki sayfa icin cursor","disabled":true},{"key":"q[date_of_shift_gteq]","value":"2025-01-01","description":"Baslangic tarihi filtresi","disabled":true},{"key":"q[date_of_shift_lteq]","value":"2025-12-31","description":"Bitis tarihi filtresi","disabled":true},{"key":"limit","value":"10","description":"Max 200","disabled":true}]},"description":"Cursor-based pagination ile vardiya listesi.\n\n**Avantajlari:**\n- Buyuk veri setlerinde sabit performans (O(log n))\n- Sayfa atlama olmadan ardisik veri cekme\n- Veri tutarliligi garantisi\n\n**Kullanim:**\n1. Ilk istek: limit parametresi ile\n2. Sonraki sayfalar: response'daki `meta.cursors.after` degerini `after` parametresine ekleyin\n3. Onceki sayfalar: `meta.cursors.before` degerini `before` parametresine ekleyin"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"abc123-def456\",\n      \"date_of_shift\": \"2025-01-15\",\n      \"status\": \"approved\",\n      \"user_id\": \"user-uuid\",\n      \"user_full_name\": \"Ahmet Yilmaz\",\n      \"shift_name\": \"Sabah Vardiyasi\"\n    }\n  ],\n  \"meta\": {\n    \"cursors\": {\n      \"after\": \"eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNVQxMDozMDowMCswMzowMCIsImlkIjoibGFzdC1pZCJ9\",\n      \"before\": \"eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNVQxMDozMDowMCswMzowMCIsImlkIjoiZmlyc3QtaWQifQ==\"\n    },\n    \"has_next_page\": true,\n    \"has_previous_page\": false,\n    \"count\": 200\n  }\n}"}],"_postman_id":"79a691c5-3d9d-48de-8cae-3ab92eca3ddd"}],"id":"37b4dc69-157c-48f9-9664-c9ae0b80a142","description":"<p><code>Entrance</code> api, kişilerin giriş çıkış kayıtlarını yönetir. Bu api, giriş-çıkış zamanlarını, kullanılan cihaz türlerini, durumları ve bu kayıtların hangi kullanıcıya ait olduğunu içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Giriş çıkış kayıtları, kullanıcıların iş yerindeki hareketliliklerini takip etmek için kullanılır.</p>\n</li>\n<li><p>Her kayıt, bir log tarihi, giriş-çıkış türü, durumu ve hangi cihazla yapıldığı gibi bilgiler içerir.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><code>device_id</code>, <code>user_id</code>: Cihaz ve kullanıcı bilgileri, giriş kaydı için opsiyonel bilgilerdir.</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li><p>Giriş kaydının geçerli olup olmadığını belirlemek için belirli koşullar (örneğin, kaydın manuel olarak girilip girilmediği) kontrol edilir.</p>\n</li>\n<li><p>Şirketin belirlediği günlük giriş limiti aşılmamalıdır.</p>\n</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Giriş Kaydı Oluşturma</strong></td>\n<td>Yeni giriş kaydı</td>\n<td><code>log_date</code>, <code>entrance_type</code>, <code>status</code></td>\n</tr>\n<tr>\n<td><strong>Giriş Kaydı Güncelleme</strong></td>\n<td>Mevcut giriş kaydı bilgilerini güncelleme</td>\n<td>Giriş detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Giriş Kaydı Silme</strong></td>\n<td>Giriş kaydını sistemden kaldırma</td>\n<td>İlgili giriş kaydı ve bağlantılı bilgiler kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Giriş Kaydı</strong>: Kullanıcılar veya sistem yöneticileri, yeni bir giriş kaydı oluşturabilir. Bu kayıtlar, kullanıcıların iş yerindeki hareketlerini belgelemek için kullanılır.</p>\n</li>\n<li><p><strong>Giriş Kaydı Güncellemeleri</strong>: Giriş kayıtları, cihaz arızaları veya kullanıcı hataları gibi durumlar nedeniyle güncellenebilir.</p>\n</li>\n<li><p><strong>Giriş Kaydı Analizi ve Raporlama</strong>: Giriş kayıtları, iş yerindeki kullanıcı aktiviteleri ve zaman yönetimi analizleri için kullanılır. Bu analizler, iş verimliliği ve güvenlik politikalarının değerlendirilmesinde önemli rol oynar.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><p><strong>Manuel Kayıt Sınırlamaları</strong>: Manuel olarak girilen kayıtlar için şirket tarafından belirlenen zaman sınırlamalarına uyulmalıdır.</p>\n</li>\n<li><p><strong>Cihaz Bağlantısı ve Kayıt Doğruluğu</strong>: Giriş kayıtları, belirli bir cihaz aracılığıyla yapıldığında bu cihazın durumuna ve doğruluğuna dikkat edilir. Cihaz arızaları veya hatalı kullanımlar kayıtların güvenilirliğini etkileyebilir.</p>\n</li>\n</ul>\n<h4 id=\"cihaz-kullanımı-açıklamaları\">Cihaz Kullanımı Açıklamaları</h4>\n<p><code>device_usage</code> alanı, girişin yapıldığı cihazın türünü belirtir. Olası değerler ve anlamları şu şekildedir:</p>\n<ul>\n<li><p><strong>pdks (0):</strong> Personel Devam Kontrol Sistemi - genellikle çalışanların katılımını izlemek için kullanılır.</p>\n</li>\n<li><p><strong>access (1):</strong> Geçiş Kontrol - kısıtlı alanlara giriş izni vermek veya reddetmek için kullanılır.</p>\n</li>\n<li><p><strong>free_access (2):</strong> Serbest Geçiş - herhangi bir kısıtlamanın olmadığı, genellikle sıkı kontrol gerektirmeyen alanlar için kullanılır.</p>\n</li>\n</ul>\n","_postman_id":"37b4dc69-157c-48f9-9664-c9ae0b80a142","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"File Upload System","item":[{"name":"presigned_upload","id":"33609669-a01f-4d20-99bd-b6320b7617fa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"[\n     {\n        \"filename\": \"passgage-logo.png\",\n        \"byte_size\": 6712,\n        \"checksum\": \"26z617Pc9UM6VQjOdl9xwg==\",\n        \"content_type\": \"image/png\"\n    }\n\n]"},"url":"https://api.passgage.com/api/public/v1/files/presigned_upload","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n<th>Örnek Kullanım</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>filename</td>\n<td>String</td>\n<td>Bir dosyanın adını ve uzantısını belirten, dosya sistemi veya uygulamalar tarafından kullanılan etiket.</td>\n<td>Evet</td>\n<td>-</td>\n<td>passgage-logo.png</td>\n</tr>\n<tr>\n<td>byte_size</td>\n<td>Integer</td>\n<td>Bir dosyanın toplam boyutunu bayt cinsinden ifade eden değer.</td>\n<td>Evet</td>\n<td>-</td>\n<td>6712</td>\n</tr>\n<tr>\n<td>checksum</td>\n<td>String</td>\n<td>Bir dosyanın içeriğinin bütünlüğünü doğrulamak için kullanılan, dosyanın içeriğinden hesaplanan benzersiz bir özet değeri.</td>\n<td>Evet</td>\n<td>-</td>\n<td>26z617Pc9UM6VQjOdl9xwg==</td>\n</tr>\n<tr>\n<td>content_type</td>\n<td>String</td>\n<td>Bir dosyanın türünü ve formatını tanımlayan ve genellikle dosyanın nasıl işleneceğini veya görüntüleneceğini belirten MIME türü (örneğin, \"image/png\" veya \"text/plain\").</td>\n<td>Evet</td>\n<td>-</td>\n<td>image/png</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"örnek-dosya-yükleme-adımları\">Örnek Dosya Yükleme Adımları</h2>\n<h3 id=\"1-adım-yükleyeceğimiz-fileı-belirlenmeli\">1. Adım Yükleyeceğimiz file'ı belirlenmeli</h3>\n<img src=\"https://content.pstmn.io/9fa8a9bc-c273-4932-9bd4-4dcc3d36b1f7/cGFzc2dhZ2UgbG9nby5wbmc=\" />\n\n<h3 id=\"2-adım-yüklenecek-file-için-aşıdaki-alanlar-hesaplanamlıyukarı-file-için-hesaplar-aşağıdadır\">2. Adım Yüklenecek File için aşıdaki alanlar hesaplanamlı(Yukarı file için hesaplar aşağıdadır.)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">     {\n        \"filename\": \"passgage-logo.png\",\n        \"byte_size\": 6712,\n        \"checksum\": \"26z617Pc9UM6VQjOdl9xwg==\",\n        \"content_type\": \"image/png\"\n    }\n\n</code></pre>\n<p>byte_size ve checksum değerleri nasıl buluncağını öğrenmek için örnek kod parçalarını <a href=\"https://passgage.postman.co/workspace/Passgage~8d09ffc0-ff9f-4d0a-823c-b9691ccfd200/folder/25481311-546beab4-ba46-4a4c-ab75-65fd2477715b\"><b>bu adresten </b></a> bulabilirsiniz.</p>\n<p>Bu şekilde enpoint'e belirtilen request body ile Post isteği atılmalı.</p>\n<h4 id=\"örnek-javascript-kodu\">Örnek Javascript kodu:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">\"byte_size\"\nDocumentPicker.pick({\n        presentationStyle: 'fullScreen',\n        type: docTypeProps,\n        copyTo: 'documentDirectory',\n        allowMultiSelection: multiple,\n      })\n        .then(res =&gt; {\n          let files: IFileUploaderData[] = [];\n          res.map(x =&gt; {\n            files.push({\n              uri: x.uri,\n              fileName: x.name,\n              type: x.type,\n              fileSize: x.size,\n              fileCopyUri: x.fileCopyUri,\n            });\n          });\nbyte_size = fileSize bu alanı direk paket veriyor\n\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">\"checksum\"\n/Dosya hexleri için promise array topluca çalıştırılıyor\n    Promise.all(promiseList).then(async values =&gt; {\n      values.map((hex, index) =&gt; {\n        //toplu signed url almak için request model oluşturuluyor\n        const checksum = Buffer.from(hex, 'hex').toString('base64');\n        requestList.push({\n          filename: files[index].fileName || '',\n          byte_size: files[index].fileSize || 0,\n          checksum: checksum,\n          content_type: files[index].type || '',\n        });\n      });\n\n</code></pre>\n<h3 id=\"3-adım-response-aşağıdaki-şekilde-olacaktır-response-örnektir\">3. Adım Response aşağıdaki şekilde olacaktır. (Response Örnektir)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"url\": \"https://passgage-storage.s3.eu-west-1.amazonaws.com/1wzcothr3mmfds24ihptc6qi0w7j?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAV4QFT2XZFGBSJH5O/20240422/eu-west-1/s3/aws4_request&amp;X-Amz-Date=20240422T133209Z&amp;X-Amz-Expires=1800&amp;X-Amz-SignedHeaders=content-length;content-md5;content-type;host&amp;X-Amz-Signature=8c998d68360cb3d1f22bacfba30ddadbba7194f1eda986e70ea0ba28fd375e65\",\n        \"headers\": {\n            \"Content-Type\": \"image/png\",\n            \"Content-MD5\": \"Vmef5Geszt/WJUghNuj5cw==\",\n            \"Content-Disposition\": \"inline; filename=\\\"passgage-logo.png\\\"; filename*=UTF-8''passgage-logo.png\"\n        },\n        \"signed_id\": \"eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJaWsyWm1WaU16TXhaQzFqTlRkaExUUmhOek10T1RFM1l5MDFNREV4WkRJNU5XSTVOakVHT2daRlZBPT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2JfaWQifX0=--da3b5be6d9d5758b03747f35a35ae86aebfcd93f\"\n    }\n]\n\n</code></pre>\n<h3 id=\"4-adım-seçilen-fileı-response-içinde-dönen-urle-put-ile-gönderilmelidir\">4. Adım Seçilen file'ı response içinde dönen url'e Put ile gönderilmelidir.</h3>\n<p>Aşağıda PUT isteği örnek curl isteği verilmiştir:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl --location --request PUT 'https://passgage-storage.s3.eu-west-1.amazonaws.com/cv8a4u2g7tjntms6cf32sanxhtpy?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAV4QFT2XZFGBSJH5O/20230117/eu-west-1/s3/aws4_request&amp;X-Amz-Date=20230117T092100Z&amp;X-Amz-Expires=1800&amp;X-Amz-SignedHeaders=content-length;content-md5;content-type;host&amp;X-Amz-Signature=abddf54cfbf40f0e3f885b3bfb6277f84e365062ebdf1c4bdcd2a2cee23ac062' \\\n--header 'Content-MD5: S0GjR1EyvYYbMKh44wqlag==' \\\n--header 'Content-Disposition: \"inline; filename=\\\"sample.pdf\\\"; filename*=UTF-8'\\'''\\''sample.pdf\"' \\\n--header 'Content-Type: application/pdf' \\\n--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpZCI6IjE0ZjBlOGVmLTdmZGYtNDQyMi04NWY2LTcxMTNhNTU1NGY2ZCIsImV4cCI6MTcyNjU3NTQwOH0.pwsld6TUklsBvvUGIOwVdVbZtogEr7P91HgI78N6gK0' \\\n--data '@/Users/example/Desktop/sample.pdf'\n\n</code></pre><p>Gönderilen istek sonrası <strong>200 response'u alındığında POST isteği response'unda bulunan</strong> signed_id aktif olur böylece bu signed_id gönderilerek Passgage sistemine file upload edilebilir.</p>\n","urlObject":{"path":["api","public","v1","files","presigned_upload"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"db1402eb-bd61-429f-aff1-798f701ab3d8","name":"200","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"[\n    {\n        \"filename\": \"passgage.png\",\n        \"byte_size\": 346799,\n        \"checksum\": \"Vmef5Geszt/WJUghNuj5cw==\",\n        \"content_type\": \"image/png\"\n    }\n]"},"url":"https://api.passgage.com/api/v2/files/presigned_upload"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"f3f142bb-3fd6-4eed-a91e-3fa17dc06026"},{"key":"X-Runtime","value":"0.321526"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"prakgmt7yd3gf9eqbnel"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"url\": \"https://passgage-storage.s3.eu-west-1.amazonaws.com/1080tf4cb8fiasjnsf5sa28gza1x?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAV4QFT2XZFGBSJH5O%2F20240424%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20240424T090526Z&X-Amz-Expires=1800&X-Amz-SignedHeaders=content-length%3Bcontent-md5%3Bcontent-type%3Bhost&X-Amz-Signature=de596f050ecbe8fc4087c1136f6e8e75500a8dcf65f86d2b494ee6018d9e48b6\",\n            \"headers\": {\n                \"Content-Type\": \"image/png\",\n                \"Content-MD5\": \"Vmef5Geszt/WJUghNuj5cw==\",\n                \"Content-Disposition\": \"inline; filename=\\\"example.png\\\"; filename*=UTF-8''example.png\"\n            },\n            \"signed_id\": \"eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJaWxrT1RaaU5HSm1NaTB3WkRVMUxUUXhNRFl0T1dFNE5pMHdaVGN4T0RGbE56azBZbU1HT2daRlZBPT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2JfaWQifX0=--80a3b12208c27a6930a7f68b2ef2bab9fdb33dc0\"\n        }\n    ],\n    \"meta\": null\n}"}],"_postman_id":"33609669-a01f-4d20-99bd-b6320b7617fa"},{"name":"Example Presigned PUT","id":"6da699a6-0c93-4ce6-b144-e59f26a1bcfe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-MD5","value":"S0GjR1EyvYYbMKh44wqlag==","type":"text"},{"key":"Content-Disposition","value":"\"inline; filename=\\\"sample.pdf\\\"; filename*=UTF-8''sample.pdf\"","type":"text"}],"body":{"mode":"file","file":{"src":"bGvGC_5dW/passgage-logo.png"}},"url":"http://localhost:3000/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDam9JYTJWNVNTSWhOakZqTVc4MmFUSTRlV1l6WXpKM1kzb3djWGxvWVRrek4zQmllQVk2QmtWVU9oRmpiMjUwWlc1MFgzUjVjR1ZKSWc1cGJXRm5aUzl3Ym1jR093WlVPaE5qYjI1MFpXNTBYMnhsYm1kMGFHa0NPQm82RFdOb1pXTnJjM1Z0U1NJZE1qWjZOakUzVUdNNVZVMDJWbEZxVDJSc09YaDNaejA5QmpzR1ZEb1JjMlZ5ZG1salpWOXVZVzFsT2dwc2IyTmhiQT09IiwiZXhwIjoiMjAyNC0wNy0yOFQxNjozNTowNy40MDNaIiwicHVyIjoiYmxvYl90b2tlbiJ9fQ==--5a64c62065e82846b3c55b664791bea58f16a57c","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"protocol":"http","port":"3000","path":["rails","active_storage","disk","eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDam9JYTJWNVNTSWhOakZqTVc4MmFUSTRlV1l6WXpKM1kzb3djWGxvWVRrek4zQmllQVk2QmtWVU9oRmpiMjUwWlc1MFgzUjVjR1ZKSWc1cGJXRm5aUzl3Ym1jR093WlVPaE5qYjI1MFpXNTBYMnhsYm1kMGFHa0NPQm82RFdOb1pXTnJjM1Z0U1NJZE1qWjZOakUzVUdNNVZVMDJWbEZxVDJSc09YaDNaejA5QmpzR1ZEb1JjMlZ5ZG1salpWOXVZVzFsT2dwc2IyTmhiQT09IiwiZXhwIjoiMjAyNC0wNy0yOFQxNjozNTowNy40MDNaIiwicHVyIjoiYmxvYl90b2tlbiJ9fQ==--5a64c62065e82846b3c55b664791bea58f16a57c"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"13318f95-4d62-4318-bf85-b8932106577d","name":"200","originalRequest":{"method":"PUT","header":[{"key":"Content-MD5","value":"S0GjR1EyvYYbMKh44wqlag==","type":"text"},{"key":"Content-Disposition","value":"\"inline; filename=\\\"sample.pdf\\\"; filename*=UTF-8''sample.pdf\"","type":"text"}],"body":{"mode":"file","file":{"src":"bGvGC_5dW/passgage-logo.png"}},"url":"http://localhost:3000/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDam9JYTJWNVNTSWhOakZqTVc4MmFUSTRlV1l6WXpKM1kzb3djWGxvWVRrek4zQmllQVk2QmtWVU9oRmpiMjUwWlc1MFgzUjVjR1ZKSWc1cGJXRm5aUzl3Ym1jR093WlVPaE5qYjI1MFpXNTBYMnhsYm1kMGFHa0NPQm82RFdOb1pXTnJjM1Z0U1NJZE1qWjZOakUzVUdNNVZVMDJWbEZxVDJSc09YaDNaejA5QmpzR1ZEb1JjMlZ5ZG1salpWOXVZVzFsT2dwc2IyTmhiQT09IiwiZXhwIjoiMjAyNC0wNy0yOFQxNjozNTowNy40MDNaIiwicHVyIjoiYmxvYl90b2tlbiJ9fQ==--5a64c62065e82846b3c55b664791bea58f16a57c"},"code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"6da699a6-0c93-4ce6-b144-e59f26a1bcfe"}],"id":"546beab4-ba46-4a4c-ab75-65fd2477715b","description":"<p>Amazon S3 presign upload, bir istemcinin (örneğin bir web tarayıcı veya mobil uygulama) Amazon S3'e doğrudan dosya yüklemesine izin veren bir yöntemdir. Bu yöntem, istemcinin doğrudan AWS anahtarlarını bilmesine veya S3 API'lerini doğrudan kullanmasına gerek kalmadan S3'e güvenli bir şekilde dosya yüklemesini sağlar.</p>\n<p>Presign upload kullanarak, bir istemci dosyayı yüklemeden önce bir sunucudan geçici bir URL alır. Bu URL, belirli bir süre için geçerli olan imzalı bir URL'dir ve bu süre zarfında dosya belirtilen S3 bucket'a yüklenebilir.</p>\n<h3 id=\"presigned-url-nedir\">Presigned URL Nedir?</h3>\n<p>Presigned URL, belirli bir dosyaya veya bucket'a belirli bir süre boyunca erişim izni veren geçici bir URL'dir. Bu URL'yi kullanarak dosya yükleyebilir veya indirebilirsiniz. URL, yalnızca belirli bir süre (expiration) için geçerli olacak şekilde imzalanır ve bu süre sona erdiğinde URL geçersiz hale gelir.</p>\n<h3 id=\"presign-upload-nasıl-çalışır\">Presign Upload Nasıl Çalışır?</h3>\n<ol>\n<li><p><strong>Presigned URL Oluşturma:</strong><br /> Bir sunucu veya yetkili bir kullanıcı, AWS SDK kullanarak belirli bir dosya için presigned URL oluşturur. Bu URL, belirli bir süre boyunca geçerli olur ve belirli izinlere sahip olur.</p>\n</li>\n<li><p><strong>Presigned URL'i İstemciye Gönderme:</strong><br /> Oluşturulan presigned URL, istemciye (örneğin, web tarayıcısına veya mobil uygulamaya) gönderilir.</p>\n</li>\n<li><p><strong>İstemcinin Dosya Yüklemesi:</strong><br /> İstemci, bu presigned URL'i kullanarak doğrudan Amazon S3'e dosya yükler. Yükleme işlemi, S3 tarafından doğrulanır ve izinler kontrol edilir.</p>\n</li>\n</ol>\n<p>Daha fazla bilgi için: <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html\">https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html</a></p>\n<h3 id=\"javascript\">JavaScript</h3>\n<p>Node.js kullanarak bir dosyanın checksum'unu MD5 hesaplayıp Base64 formatında kodlamak ve byte_size hesaplamak:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">const crypto = require('crypto');\nconst fs = require('fs');\nfunction getFileInfo(filePath, callback) {\n  // Dosya boyutunu hesapla\n  fs.stat(filePath, (err, stats) =&gt; {\n    if (err) return callback(err);\n    const byteSize = stats.size;\n    // Dosyayı okuyup MD5 hash hesapla\n    const hash = crypto.createHash('md5');\n    const fileStream = fs.createReadStream(filePath);\n    fileStream.on('data', (data) =&gt; {\n      hash.update(data);\n    });\n    fileStream.on('end', () =&gt; {\n      const checksum = hash.digest();\n      const base64Checksum = checksum.toString('base64');\n      callback(null, byteSize, base64Checksum);\n    });\n    fileStream.on('error', (err) =&gt; {\n      callback(err);\n    });\n  });\n}\nconst filePath = 'path/to/your/file';\ngetFileInfo(filePath, (err, byteSize, base64Checksum) =&gt; {\n  if (err) {\n    console.error(err);\n  } else {\n    console.log(`Byte Size: ${byteSize}`);\n    console.log(`Checksum (Base64): ${base64Checksum}`);\n  }\n});\n\n</code></pre>\n<h3 id=\"ruby\">Ruby</h3>\n<p>Ruby'de bir dosyanın checksum'unu MD5 ile hesaplayıp Base64 formatında kodlamak ve byte_size hesaplamak:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-ruby\">require 'digest'\nrequire 'base64'\ndef get_file_info(file_path)\n  # Dosya boyutunu hesapla\n  byte_size = File.size(file_path)\n  # Dosyayı okuyup MD5 hash hesapla\n  checksum = Digest::MD5.file(file_path).digest\n  # Base64 formatında kodla\n  base64_checksum = Base64.encode64(checksum).strip\n  return byte_size, base64_checksum\nend\nfile_path = 'path/to/your/file'\nbyte_size, base64_checksum = get_file_info(file_path)\nputs \"Byte Size: #{byte_size}\"\nputs \"Checksum (Base64): #{base64_checksum}\"\n\n</code></pre>\n<h3 id=\"go\">Go</h3>\n<p>Go dilinde bir dosyanın checksum'unu MD5 ile hesaplayıp Base64 formatında kodlamak ve byte_size hesaplamak:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-go\">package main\nimport (\n    \"crypto/md5\"\n    \"encoding/base64\"\n    \"fmt\"\n    \"io\"\n    \"os\"\n)\nfunc getFileInfo(filePath string) (int64, string, error) {\n    file, err := os.Open(filePath)\n    if err != nil {\n        return 0, \"\", err\n    }\n    defer file.Close()\n    // Dosya boyutunu hesapla\n    fileInfo, err := file.Stat()\n    if err != nil {\n        return 0, \"\", err\n    }\n    byteSize := fileInfo.Size()\n    // Dosyayı okuyup MD5 hash hesapla\n    hash := md5.New()\n    if _, err := io\n\n</code></pre>\n<h3 id=\"net\">.Net</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-csharp\">using System;\nusing System.IO;\nusing System.Net.Http;\nusing System.Security.Cryptography;\nusing System.Threading.Tasks;\n\nclass Program\n{\n    static async Task Main()\n    {\n        // Statik URL veya yerel dosya yolu belirleyin\n        //string input = \"https://siberci.com/wp-content/uploads/2019/08/siberci2-e1563710807833.png\";\n        string input = \"../ Ivy Internet.png\";\n\n        if (Uri.IsWellFormedUriString(input, UriKind.Absolute))\n        {\n            // URL'den checksum hesapla\n            (string base64Checksum, long byteSize) = await GetChecksumFromUrlAsync(input);\n            Console.WriteLine(\"Checksum (Base64): \" + base64Checksum);\n            Console.WriteLine(\"Byte Size: \" + byteSize);\n        }\n        else if (File.Exists(input))\n        {\n            // Yerel dosyadan checksum hesapla\n            (string base64Checksum, long byteSize) = GetFileChecksumAndSize(input);\n            Console.WriteLine(\"Checksum (Base64): \" + base64Checksum);\n            Console.WriteLine(\"Byte Size: \" + byteSize);\n        }\n        else\n        {\n            Console.WriteLine(\"Geçersiz URL veya dosya yolu.\");\n            return;\n        }\n    }\n\n    static async Task&lt;(string, long)&gt; GetChecksumFromUrlAsync(string url)\n    {\n        // Geçici bir dosya yolu oluşturun\n        string tempFilePath = Path.GetTempFileName();\n\n        // Dosyayı URL'den indir\n        await DownloadFileFromUrlAsync(url, tempFilePath);\n\n        // Dosya checksum ve byte boyutunu hesapla\n        (string base64Checksum, long byteSize) = GetFileChecksumAndSize(tempFilePath);\n\n        // Geçici dosyayı temizle\n        File.Delete(tempFilePath);\n\n        return (base64Checksum, byteSize);\n    }\n\n    static async Task DownloadFileFromUrlAsync(string url, string filePath)\n    {\n        using (HttpClient client = new HttpClient())\n        {\n            byte[] fileBytes = await client.GetByteArrayAsync(url);\n            await File.WriteAllBytesAsync(filePath, fileBytes);\n        }\n    }\n\n    static (string, long) GetFileChecksumAndSize(string filePath)\n    {\n        // Dosyanın byte boyutunu al\n        long byteSize = new FileInfo(filePath).Length;\n\n        // MD5 hash hesapla\n        using (MD5 md5 = MD5.Create())\n        using (FileStream stream = File.OpenRead(filePath))\n        {\n            byte[] hash = md5.ComputeHash(stream);\n            // Hash'i Base64 formatına çevir\n            string base64Checksum = Convert.ToBase64String(hash);\n            return (base64Checksum, byteSize);\n        }\n    }\n}\n\n</code></pre>\n","_postman_id":"546beab4-ba46-4a4c-ab75-65fd2477715b","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Holiday Calendars","item":[{"name":"list","id":"17c74691-cc00-4738-a991-8356fbcf727e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}"}],"url":"https://api.passgage.com/api/public/v1/holiday_calendars","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","holiday_calendars"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"eecacbca-3f86-45a6-b099-16e1c1ea55bd","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"url":"https://api.passgage.com/api/public/v1/holiday_calendars"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"64f4a8e0-e366-4d6b-b4c2-2f173e544405"},{"key":"X-Runtime","value":"0.144698"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"nz7m6w8xerwnhdssrqr,j529cch5qivr2aqaubxj,g7ih59zo82k71fa89e9m,3b2orn451x0ihkjo10lf,yplkxa7vey8d5umg96ox,b9za9kfor7z7tf1i7vh2"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"74450714-95cf-42ed-b92e...\",\n            \"title\": \"Genel Tatil Takvimi\",\n            \"is_active\": true,\n            \"description\": \"\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d..\"\n        },\n        {\n            \"id\": \"01b32b4d-0355-4f75-848e...\",\n            \"title\": \"2023 Tatil takvimi\",\n            \"is_active\": true,\n            \"description\": \"\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6...\"\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 1,\n        \"total_count\": 2\n    }\n}"}],"_postman_id":"17c74691-cc00-4738-a991-8356fbcf727e"},{"name":"create","id":"d44e3833-2671-4f73-b7cd-6585a738ccfb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"holiday_calendar\": {\n        \"title\": \"deneme\",\n        \"description\": \"deneme\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/holiday_calendars","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","holiday_calendars"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"2552d55c-6e79-4062-aad6-113bb789ec2a","name":"201","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"holiday_calendar\": {\n        \"title\": \"deneme\",\n        \"description\": \"deneme\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/holiday_calendars"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"5b585d9d-0675-4415-afdf-b0e8653702eb"},{"key":"X-Runtime","value":"0.887478"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"ecgmgpdy70no4zgksbsn,j529cch5qivr2aqaubxj,g7ih59zo82k71fa89e9m,3b2orn451x0ihkjo10lf,yplkxa7vey8d5umg96ox,b9za9kfor7z7tf1i7vh2,nz7m6w8xerwnhdssrqr,qs5ds52qdpsjetn3t1h,kc6mkajx0bqo920916h8,agfaow9ljhsawpkfxf1c"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Successfully created holiday calendar\",\n    \"data\": {\n        \"id\": \"b7135a66-6dd7-4f13-9834-577cc0655d86\",\n        \"title\": \"deneme\",\n        \"is_active\": true,\n        \"description\": \"deneme\",\n        \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd1...\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"d44e3833-2671-4f73-b7cd-6585a738ccfb"},{"name":"update","id":"f92aaf34-2eed-4178-b0c0-55a9f2b0b81b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"holiday_calendar\": {\n        \"title\": \"deneme 123\",\n        \"description\": \"deneme 123\",\n        \"is_active\": false\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/holiday_calendars/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","holiday_calendars",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"b7135a66-6dd7-4f13-9834-577cc0655d86","key":"id"}]}},"response":[{"id":"75af0462-74ff-4d75-8757-e7c1bb40970b","name":"200","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"holiday_calendar\": {\n        \"title\": \"deneme 123\",\n        \"description\": \"deneme 123\",\n        \"is_active\": false\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/holiday_calendars/:id","host":["https://api.passgage.com"],"path":["api","public","v1","holiday_calendars",":id"],"variable":[{"key":"id","value":"b7135a66-6dd7-4f13-9834-577cc0655d86"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"d74d556e-8987-4b45-a3b1-4ee9a79c9897"},{"key":"X-Runtime","value":"0.120848"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"u8i4m9guni4ff9yofa7n,j529cch5qivr2aqaubxj,g7ih59zo82k71fa89e9m,3b2orn451x0ihkjo10lf,yplkxa7vey8d5umg96ox,b9za9kfor7z7tf1i7vh2,nz7m6w8xerwnhdssrqr,qs5ds52qdpsjetn3t1h,kc6mkajx0bqo920916h8,agfaow9ljhsawpkfxf1c,ecgmgpdy70no4zgksbsn,f6qp7g0teynddzx1tjcq"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully updated holiday calendar\",\n    \"data\": {\n        \"id\": \"b7135a66-6dd7-4f13-9834-577cc0655d86\",\n        \"title\": \"deneme 123\",\n        \"is_active\": false,\n        \"description\": \"deneme 123\",\n        \"company_id\": \"f89cbd8f-a97f-4f5e..\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"f92aaf34-2eed-4178-b0c0-55a9f2b0b81b"},{"name":"show","id":"24516b0d-ce0d-4a15-99a9-fc89773a2634","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}"}],"url":"https://api.passgage.com/api/public/v1/holiday_calendars/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","holiday_calendars",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"74450714-95cf-42ed-b92e-89c1776629b4","key":"id"}]}},"response":[{"id":"a69e2b2b-f775-488a-95db-fcca2d548dbb","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"url":{"raw":"https://api.passgage.com/api/public/v1/holiday_calendars/:id","host":["https://api.passgage.com"],"path":["api","public","v1","holiday_calendars",":id"],"variable":[{"key":"id","value":"74450714-95cf-42ed-b92e-89c1776629b4"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"bb222304-e889-4463-9bc7-3ec5236bb6ba"},{"key":"X-Runtime","value":"0.128065"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"qs5ds52qdpsjetn3t1h,j529cch5qivr2aqaubxj,g7ih59zo82k71fa89e9m,3b2orn451x0ihkjo10lf,yplkxa7vey8d5umg96ox,b9za9kfor7z7tf1i7vh2,nz7m6w8xerwnhdssrqr"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"74450714-95cf...\",\n        \"title\": \"Genel Tatil Takvimi\",\n        \"is_active\": true,\n        \"description\": \"\",\n        \"company_id\": \"f89cbd8f-a97f-4f5e...\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"24516b0d-ce0d-4a15-99a9-fc89773a2634"},{"name":"delete","id":"0c984f20-7e0b-4830-9fd3-a359f548fe82","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{secretKey}}"}],"url":"https://api.passgage.com/api/public/v1/holiday_calendars/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","holiday_calendars",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"b7135a66-6dd7-4f13-9834-577cc0655d86","key":"id"}]}},"response":[{"id":"d3f93e11-c6fd-4b58-bb32-732781a9905d","name":"200","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"url":{"raw":"https://api.passgage.com/api/public/v1/holiday_calendars/:id","host":["https://api.passgage.com"],"path":["api","public","v1","holiday_calendars",":id"],"variable":[{"key":"id","value":"b7135a66-6dd7-4f13-9834-577cc0655d86"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"4440eb61-36ca-4cff-b03b-500f807e4d1d"},{"key":"X-Runtime","value":"0.141689"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"meh5pblqq2tlpbvlv8sy,j529cch5qivr2aqaubxj,g7ih59zo82k71fa89e9m,3b2orn451x0ihkjo10lf,yplkxa7vey8d5umg96ox,b9za9kfor7z7tf1i7vh2,nz7m6w8xerwnhdssrqr,qs5ds52qdpsjetn3t1h,kc6mkajx0bqo920916h8,agfaow9ljhsawpkfxf1c,ecgmgpdy70no4zgksbsn,f6qp7g0teynddzx1tjcq,u8i4m9guni4ff9yofa7n"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully deleted holiday calendar\",\n    \"data\": {\n        \"id\": \"b7135a66-6dd7-4f13-9834-577cc0655d86\",\n        \"title\": \"deneme 123\",\n        \"is_active\": false,\n        \"description\": \"deneme 123\",\n        \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d...\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"0c984f20-7e0b-4830-9fd3-a359f548fe82"}],"id":"08eaa415-632d-4031-9ef2-e3d0f34bba68","_postman_id":"08eaa415-632d-4031-9ef2-e3d0f34bba68","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Job Positions","item":[{"name":"list","id":"0d2aa102-a7a4-4536-af32-f78521d542b2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.passgage.com/api/public/v1/job_positions","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","job_positions"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"a43d1d90-5af5-4efe-9e11-ed5ac225d817","name":"200","originalRequest":{"method":"GET","header":[],"url":"https://api.passgage.com/api/public/v1/job_positions"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"ada1ce77-7dd5-4665-bc4d-34e1e67eeace"},{"key":"X-Runtime","value":"1.108595"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"kq3rdjpt7yqpdl43v54v,800xkzsof9hxp5k0ac4,xojnc1jl0ta9vlnqzc6b,4rwcxecn15e4ubnpy4xa"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"6937865c-09ed-4e70-9a62-eff4f70e43ea\",\n            \"name\": \"Satış Elemanı (Bijuteri)\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2024-02-05T15:01:33.229+03:00\",\n            \"updated_at\": \"2024-02-05T15:01:33.229+03:00\"\n        },\n        {\n            \"id\": \"a40455f0-ffed-47f4-bac5-edecec561044\",\n            \"name\": \"Ambalajcı (El İle)\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T10:03:28.260+03:00\",\n            \"updated_at\": \"2023-11-22T10:03:28.260+03:00\"\n        },\n        {\n            \"id\": \"26b5ba09-8917-4941-a91a-2ffa10724c4a\",\n            \"name\": \"Endüstri Mühendisi\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T09:55:27.042+03:00\",\n            \"updated_at\": \"2023-11-22T09:55:27.042+03:00\"\n        },\n        {\n            \"id\": \"18daf240-b356-41f3-afd3-05aabe8f3b3a\",\n            \"name\": \"Elektrik Teknisyeni\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T09:16:38.970+03:00\",\n            \"updated_at\": \"2023-11-22T09:16:38.970+03:00\"\n        },\n        {\n            \"id\": \"f5ce7f20-2799-4634-8239-8a62eac7e527\",\n            \"name\": \"İş Güvenliği Ve Sağlığı Uzm.\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:56:29.687+03:00\",\n            \"updated_at\": \"2023-11-22T08:56:29.687+03:00\"\n        },\n        {\n            \"id\": \"197ff19f-6bc0-4798-a9d1-82e1b3eed0d9\",\n            \"name\": \"İş Sağlığı Ve Güvenliği Uzmanı\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:49:02.264+03:00\",\n            \"updated_at\": \"2023-11-22T08:49:02.264+03:00\"\n        },\n        {\n            \"id\": \"6cbb3084-d097-421a-8383-5a83b0870780\",\n            \"name\": \"Usta Başı\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:36:50.896+03:00\",\n            \"updated_at\": \"2023-11-22T08:36:50.896+03:00\"\n        },\n        {\n            \"id\": \"c5a5884a-5f3f-40cc-a8d8-88d910496d20\",\n            \"name\": \"Modelist Yardımcısı(Tekstil)\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:36:47.733+03:00\",\n            \"updated_at\": \"2023-11-22T08:36:47.733+03:00\"\n        },\n        {\n            \"id\": \"cff55fec-4bee-477f-8c4c-759d2acd80ed\",\n            \"name\": \"Pazarlamacı (Satış Temsilcisi)\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:34:43.625+03:00\",\n            \"updated_at\": \"2023-11-22T08:34:43.625+03:00\"\n        },\n        {\n            \"id\": \"5baf79a8-4f97-453c-8437-e0300d3400d9\",\n            \"name\": \"Tasarımcı - Dekor\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:27:55.837+03:00\",\n            \"updated_at\": \"2023-11-22T08:27:55.837+03:00\"\n        },\n        {\n            \"id\": \"3d6099fe-b620-4e98-ac85-ce0b651369f8\",\n            \"name\": \"Ütü-Paket Elemanı\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:26:44.600+03:00\",\n            \"updated_at\": \"2023-11-22T08:26:44.600+03:00\"\n        },\n        {\n            \"id\": \"f99ef0bc-db1a-4b9d-9d92-b1a632af3c18\",\n            \"name\": \"Kafa Basım\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:26:30.007+03:00\",\n            \"updated_at\": \"2023-11-22T08:26:30.007+03:00\"\n        },\n        {\n            \"id\": \"917b652b-145b-4804-89c8-a20780d5145d\",\n            \"name\": \"Malzemeci-Paket\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:26:29.475+03:00\",\n            \"updated_at\": \"2023-11-22T08:26:29.475+03:00\"\n        },\n        {\n            \"id\": \"784d1d5b-c279-4d72-9094-b7916a8371f6\",\n            \"name\": \"Overlok\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:26:29.210+03:00\",\n            \"updated_at\": \"2023-11-22T08:26:29.210+03:00\"\n        },\n        {\n            \"id\": \"a691f458-6e11-4071-815c-6fe75470f91d\",\n            \"name\": \"Silikoncu\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:26:16.645+03:00\",\n            \"updated_at\": \"2023-11-22T08:26:16.645+03:00\"\n        },\n        {\n            \"id\": \"abfc76d2-58b5-476d-9366-22e52e5f592b\",\n            \"name\": \"Paket Elemanı\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:25:47.878+03:00\",\n            \"updated_at\": \"2023-11-22T08:25:47.878+03:00\"\n        },\n        {\n            \"id\": \"d993c0d5-dde8-45b3-944a-549b0855a222\",\n            \"name\": \"Zikzak\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:25:35.236+03:00\",\n            \"updated_at\": \"2023-11-22T08:25:35.236+03:00\"\n        },\n        {\n            \"id\": \"28fe9615-dd51-4a8f-8a2e-49921782d341\",\n            \"name\": \"Takatori Makine\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:24:35.970+03:00\",\n            \"updated_at\": \"2023-11-22T08:24:35.970+03:00\"\n        },\n        {\n            \"id\": \"28e964b8-4375-4531-bbfd-eb41a57df2e7\",\n            \"name\": \"Punterez Mak.\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:23:34.527+03:00\",\n            \"updated_at\": \"2023-11-22T08:23:34.527+03:00\"\n        },\n        {\n            \"id\": \"211426ae-b502-4501-8af7-da384ff6b436\",\n            \"name\": \"Sevkiyat\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:23:19.575+03:00\",\n            \"updated_at\": \"2023-11-22T08:23:19.575+03:00\"\n        },\n        {\n            \"id\": \"33d49d26-6865-42db-ba3e-b6dddaa4e61a\",\n            \"name\": \"Makina Bakımcı\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:23:05.946+03:00\",\n            \"updated_at\": \"2023-11-22T08:23:05.946+03:00\"\n        },\n        {\n            \"id\": \"c592a97f-e45c-437a-a5f6-27e6949414fa\",\n            \"name\": \"Cortesa-Ütü\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:23:04.749+03:00\",\n            \"updated_at\": \"2023-11-22T08:23:04.749+03:00\"\n        },\n        {\n            \"id\": \"f6d91bdf-764b-4e53-a07a-186310bb8594\",\n            \"name\": \"Mal Açma\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:21:34.370+03:00\",\n            \"updated_at\": \"2023-11-22T08:21:34.370+03:00\"\n        },\n        {\n            \"id\": \"13d30659-44d9-4966-be32-53990ea701eb\",\n            \"name\": \"Bant Sorumlusu(Doğum İzni)\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:21:19.815+03:00\",\n            \"updated_at\": \"2023-11-22T08:21:19.815+03:00\"\n        },\n        {\n            \"id\": \"c37e6e6c-1bf1-4590-a20b-f13864fbf38e\",\n            \"name\": \"Lok\",\n            \"description\": null,\n            \"is_active\": true,\n            \"created_at\": \"2023-11-22T08:21:07.085+03:00\",\n            \"updated_at\": \"2023-11-22T08:21:07.085+03:00\"\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 12,\n        \"total_count\": 282\n    }\n}"}],"_postman_id":"0d2aa102-a7a4-4536-af32-f78521d542b2"},{"name":"show","id":"33b15c25-b414-412f-a4c5-d7609258a531","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.passgage.com/api/public/v1/job_positions/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","job_positions",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"6937865c-09ed-4e70-9a62-eff4f70e43ea","key":"id"}]}},"response":[{"id":"f53fde74-16a3-4295-a476-f678064c830e","name":"200","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.passgage.com/api/public/v1/job_positions/:id","host":["https://api.passgage.com"],"path":["api","public","v1","job_positions",":id"],"variable":[{"key":"id","value":"6937865c-09ed-4e70-9a62-eff4f70e43ea"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"0148e4f7-cd5e-4e9a-b40a-7c7a87afcde5"},{"key":"X-Runtime","value":"0.101456"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"hr35ns4a8vi9vwks59lo,800xkzsof9hxp5k0ac4,xojnc1jl0ta9vlnqzc6b,4rwcxecn15e4ubnpy4xa,kq3rdjpt7yqpdl43v54v"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"6937865c-09ed-4e70-9a62-eff4f70e43ea\",\n        \"name\": \"Satış Elemanı (Bijuteri)\",\n        \"description\": null,\n        \"is_active\": true,\n        \"created_at\": \"2024-02-05T15:01:33.229+03:00\",\n        \"updated_at\": \"2024-02-05T15:01:33.229+03:00\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"33b15c25-b414-412f-a4c5-d7609258a531"},{"name":"delete","id":"261f0190-efbc-4e99-98cf-4d4f05c9cf8a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api.passgage.com/api/public/v1/job_positions/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","job_positions",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"6937865c-09ed-4e70-9a62-eff4f70e43ea","key":"id"}]}},"response":[{"id":"0c646ff7-d3fc-4bfd-be42-7e9e3a191ff9","name":"200","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api.passgage.com/api/public/v1/job_positions/:id","host":["https://api.passgage.com"],"path":["api","public","v1","job_positions",":id"],"variable":[{"key":"id","value":"6937865c-09ed-4e70-9a62-eff4f70e43ea"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"0586caa1-47fb-4824-b74f-3ae87d25c434"},{"key":"X-Runtime","value":"1.967887"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"bigsyupt4qgvbq29mwc6,800xkzsof9hxp5k0ac4,xojnc1jl0ta9vlnqzc6b,4rwcxecn15e4ubnpy4xa,kq3rdjpt7yqpdl43v54v,hr35ns4a8vi9vwks59lo"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully deleted job position\",\n    \"data\": {\n        \"id\": \"6937865c-09ed-4e70-9a62-eff4f70e43ea\",\n        \"name\": \"Satış Elemanı (Bijuteri)\",\n        \"description\": null,\n        \"is_active\": true,\n        \"created_at\": \"2024-02-05T15:01:33.229+03:00\",\n        \"updated_at\": \"2024-02-05T15:01:33.229+03:00\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"261f0190-efbc-4e99-98cf-4d4f05c9cf8a"},{"name":"update","id":"5dfc021b-22ff-47a9-97f0-82b43714ab3b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"job_position\": {\n        \"name\": \"Kristen Smitham\",\n        \"client_id\": \"492\",\n        \"description\": \"\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/job_positions/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","job_positions",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"a40455f0-ffed-47f4-bac5-edecec561044","key":"id"}]}},"response":[{"id":"85aa818e-41d8-45b8-91b5-b95ed0f89a84","name":"200","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"job_position\": {\n        \"name\": \"camilla.com\",\n        \"client_id\": \"329\",\n        \"description\": \"\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/job_positions/:id","host":["https://api.passgage.com"],"path":["api","public","v1","job_positions",":id"],"variable":[{"key":"id","value":"a40455f0-ffed-47f4-bac5-edecec561044"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"e8245fba-94e7-4a9b-a1ba-015d15919cac"},{"key":"X-Runtime","value":"1.389258"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"owfdxjux5vc5a4m65g2a,800xkzsof9hxp5k0ac4,xojnc1jl0ta9vlnqzc6b,4rwcxecn15e4ubnpy4xa,kq3rdjpt7yqpdl43v54v,hr35ns4a8vi9vwks59lo,bigsyupt4qgvbq29mwc6,x9l6ym3p56a13pbpty29"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully updated job position\",\n    \"data\": {\n        \"id\": \"a40455f0-ffed-47f4-bac5-edecec561044\",\n        \"name\": \"hallie.org\",\n        \"description\": \"\",\n        \"is_active\": true,\n        \"created_at\": \"2023-11-22T10:03:28.260+03:00\",\n        \"updated_at\": \"2024-03-06T00:00:39.826+03:00\"\n    },\n    \"meta\": {}\n}"},{"id":"b9402d17-0577-4e8b-b6c2-822f80528a1a","name":"422","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"job_position\": {\n        \"name\": \"\",\n        \"client_id\": \"615\",\n        \"description\": \"\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/job_positions/:id","host":["https://api.passgage.com"],"path":["api","public","v1","job_positions",":id"],"variable":[{"key":"id","value":"a40455f0-ffed-47f4-bac5-edecec561044"}]}},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"588e92b7-a1ea-4ccb-83f8-91b29e80f26d"},{"key":"X-Runtime","value":"1.254480"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 422,\n    \"message\": \"Unprocessable entity\",\n    \"errors\": [\n        {\n            \"field_name\": \"name\",\n            \"messages\": [\n                \"Pozisyon Adı doldurulmalı\",\n                \"Pozisyon Adı hali hazırda kullanılmakta\"\n            ]\n        }\n    ]\n}"}],"_postman_id":"5dfc021b-22ff-47a9-97f0-82b43714ab3b"},{"name":"create","id":"3424ce0b-947d-48ea-ab45-1ef60fd073a1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"job_position\": {\n        \"name\": \"Javier Hickle\",\n        \"client_id\": \"385\",\n        \"description\": \"\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/job_positions","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","job_positions"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"24e60fc7-f115-4782-8b87-39615a22b8ac","name":"422","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"job_position\": {\n        \"name\": \"\",\n        \"client_id\": \"126\",\n        \"description\": \"\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/job_positions/:id","host":["https://api.passgage.com"],"path":["api","public","v1","job_positions",":id"],"variable":[{"key":"id","value":"a40455f0-ffed-47f4-bac5-edecec561044"}]}},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"588e92b7-a1ea-4ccb-83f8-91b29e80f26d"},{"key":"X-Runtime","value":"1.254480"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 422,\n    \"message\": \"Unprocessable entity\",\n    \"errors\": [\n        {\n            \"field_name\": \"name\",\n            \"messages\": [\n                \"Pozisyon Adı doldurulmalı\",\n                \"Pozisyon Adı hali hazırda kullanılmakta\"\n            ]\n        }\n    ]\n}"},{"id":"d7d17889-528b-4800-9577-eafa3b85342c","name":"201","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"job_position\": {\n        \"name\": \"Elijah Leffler\",\n        \"client_id\": \"805\",\n        \"description\": \"\",\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/job_positions"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"58802bfa-d32c-49d7-adb5-3de10b890cf0"},{"key":"X-Runtime","value":"0.381228"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"fpfhn2y648xbpwfqs537,800xkzsof9hxp5k0ac4,xojnc1jl0ta9vlnqzc6b,4rwcxecn15e4ubnpy4xa,kq3rdjpt7yqpdl43v54v,hr35ns4a8vi9vwks59lo,bigsyupt4qgvbq29mwc6,x9l6ym3p56a13pbpty29,owfdxjux5vc5a4m65g2a,zb8oqk33mgbgk1ieji64,eczx4o86midfe6ufvota"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Successfully created job position\",\n    \"data\": {\n        \"id\": \"784f7ba3-eb47-43d3-9d06-01c3ad7c28bf\",\n        \"name\": \"Mamie Gerlach MD\",\n        \"description\": \"\",\n        \"is_active\": true,\n        \"created_at\": \"2024-03-06T00:02:08.910+03:00\",\n        \"updated_at\": \"2024-03-06T00:02:08.910+03:00\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"3424ce0b-947d-48ea-ab45-1ef60fd073a1"}],"id":"26dc8031-cb06-45fe-a6b4-85db4829df6b","description":"<p><code>JobPosition</code> api, şirket içindeki iş pozisyonlarını tanımlar ve yönetir. Bu api, iş pozisyonlarının özelliklerini, aktiflik durumunu ve bu pozisyonlara bağlı kullanıcıların takibini içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Her iş pozisyonu, bir isim, açıklama, aktiflik durumu ve o pozisyona bağlı kullanıcı sayısını içerir.</p>\n</li>\n<li><p>İş pozisyonları, şirketin organizasyonel yapısını ve çalışanların görev tanımlarını belirler.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><code>name</code>: Her iş pozisyonu için isim alanı zorunludur ve her şirket içinde benzersiz olmalıdır.</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li>İş pozisyonları, şirketin analitik vardiya sistemine dahil edilip edilmeyeceğini (<code>include_in_rate</code>) belirleyebilir. Bu ayar, şirketin vardiya ayarlarına bağlı olarak değişkenlik gösterebilir.</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>İş Pozisyonu Oluşturma</strong></td>\n<td>Yeni iş pozisyonu kaydı</td>\n<td><code>name</code></td>\n</tr>\n<tr>\n<td><strong>İş Pozisyonu Güncelleme</strong></td>\n<td>Mevcut iş pozisyonu bilgilerini güncelleme</td>\n<td>İş pozisyonu detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>İş Pozisyonu Silme</strong></td>\n<td>İş pozisyonu kaydını sistemden kaldırma</td>\n<td>İş pozisyonuna bağlı kullanıcılar kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni İş Pozisyonu Kaydı</strong>: İnsan kaynakları yöneticileri veya sistem yöneticileri, organizasyonel yapıya uygun yeni iş pozisyonları oluşturabilir. Bu iş pozisyonları, belirli iş fonksiyonları veya projeler için roller tanımlar.</p>\n</li>\n<li><p><strong>İş Pozisyonu Bilgilerinin Güncellenmesi</strong>: İş pozisyonu adı gibi bilgiler zamanla güncellenebilir. Bu işlemler, iş pozisyonunun güncel durumu ve şirket içindeki konumunu yansıtacak şekilde yapılabilir.</p>\n</li>\n<li><p><strong>İş Pozisyonu Silme ve Yeniden Yapılandırma</strong>: İş pozisyonları, iş gereksinimleri değiştiğinde yeniden yapılandırılabilir veya silinebilir. İş pozisyonu silme işlemi, pozisyona bağlı kullanıcıların yönetimiyle yakından ilgilidir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><p><strong>İş Pozisyonu ve Kullanıcı İlişkisi</strong>: Bir iş pozisyonu silinmek istendiğinde, öncelikle o pozisyona kayıtlı kullanıcıların durumu göz önünde bulundurulur. Eğer pozisyonda kullanıcılar varsa, bu kullanıcıların başka bir iş pozisyonuna taşınması gerekmektedir.</p>\n</li>\n<li><p><strong>Analitik Vardiya Sistemi Entegrasyonu</strong>: Bazı iş pozisyonları, şirketin analitik vardiya sistemine dahil edilebilir. Bu durum, pozisyonun vardiya analizlerinde nasıl değerlendirileceğini etkiler.</p>\n</li>\n</ul>\n<h3 id=\"parametreler\">PARAMETRELER</h3>\n<h4 id=\"name\">Name</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> İş pozisyonunun adı veya tanımlayıcısı.</p>\n</li>\n<li><p><strong>Tip:</strong> String</p>\n</li>\n<li><p><strong>Gerekli:</strong> Evet</p>\n</li>\n</ul>\n<h4 id=\"description\">Description</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> İş pozisyonunun açıklaması.</p>\n</li>\n<li><p><strong>Tip:</strong> Text</p>\n</li>\n<li><p><strong>Gerekli:</strong> Hayır</p>\n</li>\n</ul>\n<h4 id=\"include-in-rate\">Include in Rate</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> Bu iş pozisyonunun oran hesaplamalarına dahil edilip edilmediği.</p>\n</li>\n<li><p><strong>Tip:</strong> Boolean</p>\n</li>\n<li><p><strong>Gerekli:</strong> Hayır</p>\n</li>\n<li><p><strong>Varsayılan:</strong> false</p>\n</li>\n</ul>\n<h4 id=\"is-active\">Is Active</h4>\n<ul>\n<li><p><strong>Açıklama:</strong> İş pozisyonunun aktif olup olmadığını belirler.</p>\n</li>\n<li><p><strong>Tip:</strong> Boolean</p>\n</li>\n<li><p><strong>Gerekli:</strong> Hayır</p>\n</li>\n<li><p><strong>Varsayılan:</strong> true</p>\n</li>\n</ul>\n","_postman_id":"26dc8031-cb06-45fe-a6b4-85db4829df6b","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Kpi","item":[{"name":"create","id":"5dd28002-8048-4488-bb69-ccf9ef7dbabe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"target_category_name\": \"Sales Goals\",\n    \"target_name\": \"Quarterly Sales\",\n    \"department_name\": \"asdasdasdasd\",\n    \"client_id\": \"123345\",\n    \"target_value\": 1000024,\n    \"end_date\": \"2023-06-30\",\n    \"start_date\": \"2023-04-01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/kpis/set_goal","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","kpis","set_goal"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5dd28002-8048-4488-bb69-ccf9ef7dbabe"}],"id":"4ddb0bd2-694e-4c16-b2d8-34c499eb0b63","description":"<p>Hedeflerin tanımlarının ve değerlerinin yollandığı servis.</p>\n","_postman_id":"4ddb0bd2-694e-4c16-b2d8-34c499eb0b63","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Leaves","item":[{"name":"create","id":"f45030a9-1ce9-42d1-a23e-d878da5271c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secretKey}}"}],"body":{"mode":"raw","raw":"{\n    \"leave\": {\n        \"title\": \"Example Title\",\n        \"leave_type_id\": \"c53069da-0032-4488-9faa-372cc087f0f7\", // *\n        \"start_date_daily\": \"2023-11-12\", // Daily leaves *\n        \"end_date_daily\": \"2023-11-13\", // Daily leaves *\n        \"is_hourly_leave\": \"0\", //if use_hourly_leave will be 1, we use start and end date_hourly *\n        \"is_signed\": 1,\n        \"description\": \"Rapor\",\n        \"user_id\": \"8b39998d-67a8-4a6c-bc1a-c52660781e0e\",\n        \"status\": \"approved\" //*  approaching, awaiting_approval, approved, rejected, document_delivery_awaiting, hr_rejection, hr_approval, cancellation_request_hr_approval, leave_canceled, on_administrator_approval, rejected_by_administrator, finished\n\n        //\"start_date_hourly\": \"2023-11-12 13:00\" // Hourly leaves *\n        //\"end_date_hourly\": \"2023-11-12 13:00\" // Hourly leaves *\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/leaves","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","leaves"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"58f49d72-9f0a-48ad-97c7-0399c00a3ac2","name":"201","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer psg_cmp_sZ2xQwuzYSUwN1SNtLXUqMWAcFKNEZ","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"leave[title]","value":"asdasd","type":"text"},{"key":"leave[leave_type_id]","value":"68d8a231-5ab2-41b7-bfa7-7a3e33e1c252","type":"text"},{"key":"leave[start_date_daily]","value":"2023-12-12","type":"text"},{"key":"leave[end_date_daily]","value":"2023-12-30","type":"text"},{"key":"leave[use_hourly_leave]","value":"0","type":"text"},{"key":"leave[is_signed]","value":"0","type":"text"},{"key":"leave[description]","value":"asdasdasdas","type":"text"},{"key":"leave[user_id]","value":"c027d70b-091a-4af7-baf1-356f2ea2c3a4","type":"text"},{"key":"files[]","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","src":"/Users/ahmetkaptan/Desktop/Screenshot 2023-10-24 at 11.56.39.png"}]},"url":"https://api.passgage.com/api/public/v1/leaves"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"09cda12c-85c9-4fb9-a9ce-210c4ee4aaf1"},{"key":"X-Runtime","value":"4.786073"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"5qelzzws7hj1pvhqk8jf,qsdj28ibpgct5asqib86,ed1092s7u590gfgm0oi4,hfuvs59h4fpeorjz5kvg,zssusi15l6j6y6yo1o5v,h9sm9za6lylq14l7juec,fk2ch2gtyde5f6gwfai9,lvfs7tmhlr9hru1uu1c9"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"İzin talebi başarıyla oluşturuldu\",\n    \"data\": {\n        \"id\": \"6b78ab6e-991c-4498-a0f8-0b84ae123b67\",\n        \"title\": \"asdasd\",\n        \"description\": \"asdasdasdas\",\n        \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n        \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n        \"leave_type_id\": \"68d8a231-5ab2-41b7-bfa7-7a3e33e1c252\",\n        \"start_date\": \"2023-12-12T00:00:00.000+03:00\",\n        \"end_date\": \"2023-12-30T23:59:59.999+03:00\",\n        \"days_off_count\": 456,\n        \"status\": \"awaiting_approval\",\n        \"is_signed\": false,\n        \"date_of_return\": null,\n        \"created_at\": \"2023-11-01T11:22:24.500+03:00\",\n        \"updated_at\": \"2023-11-01T11:22:24.640+03:00\",\n        \"manager_id\": null,\n        \"manager_comment\": null,\n        \"hr_id\": null,\n        \"hr_comment\": null,\n        \"signed_date\": null,\n        \"reason_for_rejection\": null,\n        \"is_approved_by_manager\": false,\n        \"is_approved_by_hr\": false,\n        \"working_days\": null,\n        \"holiday_days\": null,\n        \"total_days\": null,\n        \"fin_year\": \"2022\",\n        \"client_id\": null\n    },\n    \"meta\": {}\n}"}],"_postman_id":"f45030a9-1ce9-42d1-a23e-d878da5271c3"},{"name":"update","id":"342b2529-8690-4236-9a18-cd296c0b8c70","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"formdata","formdata":[{"key":"leave[title]","value":"Create Deneme 121","type":"text"},{"key":"leave[leave_type_id]","value":"c53069da-0032-4488-9faa-372cc087f0f7","type":"text"},{"key":"leave[start_date_daily]","value":"2024-11-15 00:00","type":"text"},{"key":"leave[end_date_daily]","value":"2024-11-20 00:00","type":"text"},{"key":"leave[is_hourly_leave]","value":"0","type":"text"},{"key":"leave[is_signed]","value":"1","type":"text"},{"key":"leave[description]","value":"Create Desc 121","type":"text"},{"key":"leave[user_id]","value":"000353d7-e5cb-4275-a052-323e1c5f1047","type":"text","disabled":true},{"key":"files[]","type":"file","src":"/Users/ahmetkaptan/Downloads/Ahmet-Kaptann.png"}]},"url":"https://api.passgage.com/api/public/v1/leaves/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","leaves",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"58e8dfa3-4d0f-447e-810b-f05774190ebc","key":"id"}]}},"response":[{"id":"6aa31e0c-056c-4bb9-b2cc-2b24578807ef","name":"200","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer psg_cmp_sZ2xQwuzYSUwN1SNtLXUqMWAcFKNEZ","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"leave[title]","value":"Create Deneme 121","type":"text"},{"key":"leave[leave_type_id]","value":"ad31633a-4e18-46be-8a02-2780a2b8e9fc","type":"text"},{"key":"leave[start_date_daily]","value":"2023-13-10 00:00","type":"text"},{"key":"leave[end_date_daily]","value":"2023-20-11 00:00","type":"text"},{"key":"leave[use_hourly_leave]","value":"0","type":"text"},{"key":"leave[is_signed]","value":"1","type":"text"},{"key":"leave[description]","value":"Create Desc 121","type":"text"},{"key":"leave[user_id]","value":"000353d7-e5cb-4275-a052-323e1c5f1047","type":"text","disabled":true},{"key":"files[]","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","src":"/Users/ahmetkaptan/Downloads/Ahmet-Kaptann.png"}]},"url":{"raw":"https://api.passgage.com/api/public/v1/leaves/:id","host":["https://api.passgage.com"],"path":["api","public","v1","leaves",":id"],"variable":[{"key":"id","value":"76db9ca0-078b-4e3d-9405-15030066ae57"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"faa2ba13-ccc4-4e53-b4f9-52b60e8e1662"},{"key":"X-Runtime","value":"0.259568"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"rpqwbygnhc7ngzf0j7tr,qsdj28ibpgct5asqib86,ed1092s7u590gfgm0oi4,hfuvs59h4fpeorjz5kvg,zssusi15l6j6y6yo1o5v,h9sm9za6lylq14l7juec,1cya6d3hlcfb6xwoithh,489gqt1v24xjaoecmtcj,1ki132dhnbrwkzfdvylh,uk2okvea835x55wk992t"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"İzin talebi başarıyla güncellendi\",\n    \"data\": {\n        \"title\": \"Create Deneme 121\",\n        \"description\": \"Create Desc 121\",\n        \"leave_type_id\": \"ad31633a-4e18-46be-8a02-2780a2b8e9fc\",\n        \"is_signed\": true,\n        \"days_off_count\": 72,\n        \"id\": \"76db9ca0-078b-4e3d-9405-15030066ae57\",\n        \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n        \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n        \"start_date\": \"2023-11-10T00:00:00.000+03:00\",\n        \"end_date\": \"2023-11-12T23:59:59.999+03:00\",\n        \"status\": \"awaiting_approval\",\n        \"date_of_return\": null,\n        \"created_at\": \"2023-11-01T13:53:25.887+03:00\",\n        \"updated_at\": \"2023-11-01T14:06:59.833+03:00\",\n        \"manager_id\": null,\n        \"manager_comment\": null,\n        \"hr_id\": null,\n        \"hr_comment\": null,\n        \"signed_date\": null,\n        \"reason_for_rejection\": null,\n        \"is_approved_by_manager\": false,\n        \"is_approved_by_hr\": false,\n        \"working_days\": null,\n        \"holiday_days\": null,\n        \"total_days\": null,\n        \"fin_year\": \"2022\",\n        \"client_id\": null\n    },\n    \"meta\": {}\n}"}],"_postman_id":"342b2529-8690-4236-9a18-cd296c0b8c70"},{"name":"show","id":"47de150b-c1f2-4ee5-b6de-06503a4c1c54","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/leaves/:id","urlObject":{"path":["api","public","v1","leaves",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"33c68789-a576-4df7-8694-17b865a1e544","key":"id"}]}},"response":[{"id":"6a810ce1-5f2a-4d4b-b995-f2240d708369","name":"200","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer psg_cmp_sZ2xQwuzYSUwN1SNtLXUqMWAcFKNEZ","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/leaves/:id","host":["https://api.passgage.com"],"path":["api","public","v1","leaves",":id"],"variable":[{"key":"id","value":"76db9ca0-078b-4e3d-9405-15030066ae57"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"X-bullet-footer-text","value":"[\"user: ahmetkaptan  USE eager loading detected    ActiveStorage::Attachment =\\u003e [:blob]\\n  Add to your query: .includes([:blob])\",\"user: ahmetkaptan  USE eager loading detected    Device =\\u003e [:zone_devices]\\n  Add to your query: .includes([:zone_devices])\",\"user: ahmetkaptan  USE eager loading detected    Device =\\u003e [:zones]\\n  Add to your query: .includes([:zones])\"]"},{"key":"X-bullet-console-text","value":"[\"user: ahmetkaptan\\nUSE eager loading detected\\n  ActiveStorage::Attachment =\\u003e [:blob]\\n  Add to your query: .includes([:blob])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/models/leave.rb:112:in `block in file_urls'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/models/leave.rb:112:in `file_urls'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/base_controller.rb:41:in `render_json'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/leaves_controller.rb:36:in `show'\\n\\n\",\"user: ahmetkaptan\\nUSE eager loading detected\\n  Device =\\u003e [:zone_devices]\\n  Add to your query: .includes([:zone_devices])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/base_controller.rb:41:in `render_json'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/leaves_controller.rb:36:in `show'\\n\\n\",\"user: ahmetkaptan\\nUSE eager loading detected\\n  Device =\\u003e [:zones]\\n  Add to your query: .includes([:zones])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/base_controller.rb:41:in `render_json'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/leaves_controller.rb:36:in `show'\\n\\n\"]"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"478268ec-617e-4a96-b499-ed1814b6e6a4"},{"key":"X-Runtime","value":"0.166953"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"j5uquhkgxy03fcoyvpsw,qsdj28ibpgct5asqib86,ed1092s7u590gfgm0oi4,hfuvs59h4fpeorjz5kvg,zssusi15l6j6y6yo1o5v,h9sm9za6lylq14l7juec,1cya6d3hlcfb6xwoithh,489gqt1v24xjaoecmtcj,1ki132dhnbrwkzfdvylh,uk2okvea835x55wk992t,rpqwbygnhc7ngzf0j7tr,gltja2a5aj6req4px03z,1aewrsei7d579d1bypkp"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"76db9ca0-078b-4e3d-9405-15030066ae57\",\n        \"title\": \"Evlilik İzni\",\n        \"user\": {\n            \"id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n            \"username\": \"onurmarketsosyal\",\n            \"email\": \"passgagetest+27@gmail.com\",\n            \"first_name\": \"passgage\",\n            \"last_name\": \"Test\",\n            \"avatar\": null,\n            \"gsm\": null,\n            \"is_active\": true,\n            \"user_type\": \"user\",\n            \"employee_type\": \"student\",\n            \"created_at\": \"2023-01-31T11:41:53.823+03:00\",\n            \"updated_at\": \"2023-11-01T10:48:59.567+03:00\",\n            \"activation_date\": \"2023-01-01T00:00:00.000+03:00\",\n            \"citizenship_number\": \"\",\n            \"client_id\": \"43486\",\n            \"gender\": null,\n            \"birth_date\": null,\n            \"expired_date\": null,\n            \"leave_balance\": \"0.0\",\n            \"leave_balanced_at\": \"2020-01-01T00:00:00.000+03:00\",\n            \"reason_for_leave_id\": null,\n            \"bank_name\": \"\",\n            \"account_type\": \"\",\n            \"account_number\": \"\",\n            \"iban\": \"\",\n            \"emergency_contact_person\": \"\",\n            \"emergency_person_proximity_degree\": \"\",\n            \"emergency_contact_phone\": \"\",\n            \"emergency_contact_person_1\": \"\",\n            \"emergency_person_proximity_degree_1\": \"\",\n            \"emergency_contact_phone_1\": \"\",\n            \"marital_status\": \"\",\n            \"spouses_employment_status\": \"\",\n            \"address\": null,\n            \"city\": null,\n            \"country\": null,\n            \"postal_code\": null,\n            \"nationality\": null,\n            \"faculty_name\": null,\n            \"university_department\": null,\n            \"number_of_children\": \"\",\n            \"educational_status\": \"\",\n            \"graduation_level\": \"\",\n            \"graduation_school\": \"\",\n            \"pacs_settings\": {\n                \"can_take_overtime\": \"\",\n                \"type_of_work\": \"full_time\",\n                \"calculation_type\": \"\",\n                \"shift_module\": \"webshift\"\n            },\n            \"leaves\": [\n                {\n                    \"id\": \"2c9a8184-a572-498b-bc8f-d7782c5114fd\",\n                    \"title\": null,\n                    \"description\": \"\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                    \"leave_type_id\": \"4d376888-b9f1-453c-ae8d-ce29b5f2abca\",\n                    \"start_date\": \"2023-07-24T00:00:00.000+03:00\",\n                    \"end_date\": \"2023-07-25T23:59:59.999+03:00\",\n                    \"days_off_count\": 48,\n                    \"status\": \"approved\",\n                    \"is_signed\": false,\n                    \"date_of_return\": null,\n                    \"created_at\": \"2023-07-12T15:19:08.814+03:00\",\n                    \"updated_at\": \"2023-07-12T15:19:56.822+03:00\",\n                    \"manager_id\": null,\n                    \"manager_comment\": null,\n                    \"hr_id\": null,\n                    \"hr_comment\": null,\n                    \"signed_date\": null,\n                    \"reason_for_rejection\": null,\n                    \"is_approved_by_manager\": false,\n                    \"is_approved_by_hr\": false,\n                    \"working_days\": null,\n                    \"holiday_days\": null,\n                    \"total_days\": null,\n                    \"fin_year\": \"2022\",\n                    \"client_id\": null\n                },\n                {\n                    \"id\": \"4d6a1950-f61c-4566-80e9-3878bf0480f3\",\n                    \"title\": null,\n                    \"description\": \"\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                    \"leave_type_id\": \"4d376888-b9f1-453c-ae8d-ce29b5f2abca\",\n                    \"start_date\": \"2023-06-05T00:00:00.000+03:00\",\n                    \"end_date\": \"2023-06-11T23:59:59.999+03:00\",\n                    \"days_off_count\": 144,\n                    \"status\": \"approved\",\n                    \"is_signed\": false,\n                    \"date_of_return\": null,\n                    \"created_at\": \"2023-07-12T14:57:09.595+03:00\",\n                    \"updated_at\": \"2023-07-12T14:57:17.814+03:00\",\n                    \"manager_id\": null,\n                    \"manager_comment\": null,\n                    \"hr_id\": null,\n                    \"hr_comment\": null,\n                    \"signed_date\": null,\n                    \"reason_for_rejection\": null,\n                    \"is_approved_by_manager\": false,\n                    \"is_approved_by_hr\": false,\n                    \"working_days\": null,\n                    \"holiday_days\": null,\n                    \"total_days\": null,\n                    \"fin_year\": \"2022\",\n                    \"client_id\": null\n                },\n                {\n                    \"id\": \"40e41857-d356-421e-90c5-dd260d54d687\",\n                    \"title\": null,\n                    \"description\": \"maz\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                    \"leave_type_id\": \"e6120959-a1da-444d-8131-b23822add3cf\",\n                    \"start_date\": \"2023-11-01T00:00:00.000+03:00\",\n                    \"end_date\": \"2023-11-05T23:59:59.999+03:00\",\n                    \"days_off_count\": 120,\n                    \"status\": \"awaiting_approval\",\n                    \"is_signed\": true,\n                    \"date_of_return\": null,\n                    \"created_at\": \"2023-11-01T11:22:58.287+03:00\",\n                    \"updated_at\": \"2023-11-01T11:22:58.287+03:00\",\n                    \"manager_id\": null,\n                    \"manager_comment\": null,\n                    \"hr_id\": null,\n                    \"hr_comment\": null,\n                    \"signed_date\": null,\n                    \"reason_for_rejection\": null,\n                    \"is_approved_by_manager\": false,\n                    \"is_approved_by_hr\": false,\n                    \"working_days\": null,\n                    \"holiday_days\": null,\n                    \"total_days\": null,\n                    \"fin_year\": \"2022\",\n                    \"client_id\": null\n                },\n                {\n                    \"id\": \"1be5b510-6ade-4856-bb71-c6f1b97bfd71\",\n                    \"title\": null,\n                    \"description\": \"\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                    \"leave_type_id\": \"e6120959-a1da-444d-8131-b23822add3cf\",\n                    \"start_date\": \"2023-11-05T00:00:00.000+03:00\",\n                    \"end_date\": \"2023-11-06T23:59:59.999+03:00\",\n                    \"days_off_count\": 48,\n                    \"status\": \"awaiting_approval\",\n                    \"is_signed\": false,\n                    \"date_of_return\": null,\n                    \"created_at\": \"2023-11-01T11:23:19.412+03:00\",\n                    \"updated_at\": \"2023-11-01T11:23:19.412+03:00\",\n                    \"manager_id\": null,\n                    \"manager_comment\": null,\n                    \"hr_id\": null,\n                    \"hr_comment\": null,\n                    \"signed_date\": null,\n                    \"reason_for_rejection\": null,\n                    \"is_approved_by_manager\": false,\n                    \"is_approved_by_hr\": false,\n                    \"working_days\": null,\n                    \"holiday_days\": null,\n                    \"total_days\": null,\n                    \"fin_year\": \"2022\",\n                    \"client_id\": null\n                },\n                {\n                    \"id\": \"bf64b6f5-dff4-4a43-9667-8ea437eca68f\",\n                    \"title\": \"Create Deneme\",\n                    \"description\": \"Create Desc\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                    \"leave_type_id\": \"334c233f-1001-4654-b274-63dfafb101c3\",\n                    \"start_date\": \"2023-11-10T00:00:00.000+03:00\",\n                    \"end_date\": \"2023-11-12T23:59:59.999+03:00\",\n                    \"days_off_count\": 72,\n                    \"status\": \"awaiting_approval\",\n                    \"is_signed\": true,\n                    \"date_of_return\": null,\n                    \"created_at\": \"2023-11-01T13:55:45.140+03:00\",\n                    \"updated_at\": \"2023-11-01T13:55:45.478+03:00\",\n                    \"manager_id\": null,\n                    \"manager_comment\": null,\n                    \"hr_id\": null,\n                    \"hr_comment\": null,\n                    \"signed_date\": null,\n                    \"reason_for_rejection\": null,\n                    \"is_approved_by_manager\": false,\n                    \"is_approved_by_hr\": false,\n                    \"working_days\": null,\n                    \"holiday_days\": null,\n                    \"total_days\": null,\n                    \"fin_year\": \"2022\",\n                    \"client_id\": null\n                },\n                {\n                    \"id\": \"76db9ca0-078b-4e3d-9405-15030066ae57\",\n                    \"title\": \"Create Deneme 121\",\n                    \"description\": \"Create Desc 121\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                    \"leave_type_id\": \"ad31633a-4e18-46be-8a02-2780a2b8e9fc\",\n                    \"start_date\": \"2023-11-10T00:00:00.000+03:00\",\n                    \"end_date\": \"2023-11-12T23:59:59.999+03:00\",\n                    \"days_off_count\": 72,\n                    \"status\": \"awaiting_approval\",\n                    \"is_signed\": true,\n                    \"date_of_return\": null,\n                    \"created_at\": \"2023-11-01T13:53:25.887+03:00\",\n                    \"updated_at\": \"2023-11-01T14:06:59.833+03:00\",\n                    \"manager_id\": null,\n                    \"manager_comment\": null,\n                    \"hr_id\": null,\n                    \"hr_comment\": null,\n                    \"signed_date\": null,\n                    \"reason_for_rejection\": null,\n                    \"is_approved_by_manager\": false,\n                    \"is_approved_by_hr\": false,\n                    \"working_days\": null,\n                    \"holiday_days\": null,\n                    \"total_days\": null,\n                    \"fin_year\": \"2022\",\n                    \"client_id\": null\n                }\n            ],\n            \"job_position\": null,\n            \"department\": null,\n            \"user_group\": null,\n            \"branch\": {\n                \"id\": \"65658f60-e6f5-4205-9daa-2aa8bb7d5ff2\",\n                \"title\": \"1050 Konutlar Mağazası\",\n                \"is_active\": true,\n                \"description\": null,\n                \"latitude\": null,\n                \"longitude\": null,\n                \"range\": \"30\",\n                \"range_matter\": \"1\",\n                \"created_at\": \"2023-05-01T01:43:15.440+03:00\",\n                \"updated_at\": \"2023-05-01T01:43:15.440+03:00\"\n            },\n            \"sub_company\": null,\n            \"title\": null,\n            \"organization_unit\": null,\n            \"holiday_calendar\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"devices\": [\n                {\n                    \"id\": \"c0a7e195-533e-4a26-9621-6ace901f3a7e\",\n                    \"latitude\": 41.01332,\n                    \"longitude\": 28.787037,\n                    \"qr_code_id\": \"9e57c34e-e400-4e76-8073-decee3bd9e3c\",\n                    \"direction\": \"check_out\",\n                    \"zones\": [\n                        {\n                            \"name\": \"merkez turnike\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"updated_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"314e32c0-fb96-4a70-83ae-d295e83ba570\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        },\n                        {\n                            \"name\": \"VİP\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"updated_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"5f7e5909-e609-47c5-b10b-f2a20ee6ffc6\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        }\n                    ],\n                    \"device_type\": \"card_scanner\",\n                    \"name\": \"MERKEZ TURNİKE ÇIKIŞ\",\n                    \"range\": \"50\",\n                    \"range_matter\": \"1\",\n                    \"created_at\": \"2023-02-10T16:52:12.398+03:00\",\n                    \"updated_at\": \"2023-05-30T17:29:07.205+03:00\",\n                    \"port\": 65000,\n                    \"external_ip\": \"195.175.203.182\",\n                    \"device_usage\": \"pdks\",\n                    \"description\": \"\",\n                    \"build_id\": null,\n                    \"relay\": \"r2\",\n                    \"device_brand\": \"passgage\",\n                    \"proxy_type\": \"passgage_proxy\",\n                    \"door_trigger_ip\": \"\",\n                    \"door_trigger_port\": null,\n                    \"delay_time\": 1,\n                    \"client_id\": null,\n                    \"is_main_device\": false,\n                    \"is_dining_hall\": false,\n                    \"is_dormitory\": false,\n                    \"gym\": false,\n                    \"is_active\": true\n                },\n                {\n                    \"id\": \"5cfca4af-9772-455c-8535-d992f00afca6\",\n                    \"latitude\": 41.01332,\n                    \"longitude\": 28.787037,\n                    \"qr_code_id\": \"a4f5df67-5793-4f5b-aecb-a7a4bed81d11\",\n                    \"direction\": \"check_in\",\n                    \"zones\": [\n                        {\n                            \"name\": \"merkez turnike\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"updated_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"314e32c0-fb96-4a70-83ae-d295e83ba570\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        },\n                        {\n                            \"name\": \"VİP\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"updated_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"5f7e5909-e609-47c5-b10b-f2a20ee6ffc6\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        }\n                    ],\n                    \"device_type\": \"card_scanner\",\n                    \"name\": \"MERKEZ TURNİKE GİRİŞ\",\n                    \"range\": \"50\",\n                    \"range_matter\": \"1\",\n                    \"created_at\": \"2023-02-10T16:50:52.560+03:00\",\n                    \"updated_at\": \"2023-05-30T17:29:01.694+03:00\",\n                    \"port\": 65000,\n                    \"external_ip\": \"195.175.203.182\",\n                    \"device_usage\": \"pdks\",\n                    \"description\": \"\",\n                    \"build_id\": null,\n                    \"relay\": \"r1\",\n                    \"device_brand\": \"passgage\",\n                    \"proxy_type\": \"passgage_proxy\",\n                    \"door_trigger_ip\": \"\",\n                    \"door_trigger_port\": null,\n                    \"delay_time\": 1,\n                    \"client_id\": null,\n                    \"is_main_device\": false,\n                    \"is_dining_hall\": false,\n                    \"is_dormitory\": false,\n                    \"gym\": false,\n                    \"is_active\": true\n                },\n                {\n                    \"id\": \"a3d3e9dd-a4b5-483f-a74b-dd8795792622\",\n                    \"latitude\": 41.01332,\n                    \"longitude\": 28.787037,\n                    \"qr_code_id\": \"71eada83-3d07-4f87-a67d-6f48b5c916e1\",\n                    \"direction\": \"check_out\",\n                    \"zones\": [\n                        {\n                            \"name\": \"merkez turnike\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"updated_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"314e32c0-fb96-4a70-83ae-d295e83ba570\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        },\n                        {\n                            \"name\": \"VİP\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"updated_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"5f7e5909-e609-47c5-b10b-f2a20ee6ffc6\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        }\n                    ],\n                    \"device_type\": \"card_scanner\",\n                    \"name\": \"MERKEZ TURNİKE ÇIKIŞ-1\",\n                    \"range\": \"50\",\n                    \"range_matter\": \"1\",\n                    \"created_at\": \"2023-04-07T11:54:03.124+03:00\",\n                    \"updated_at\": \"2023-05-30T17:29:05.934+03:00\",\n                    \"port\": 65001,\n                    \"external_ip\": \"195.175.203.182\",\n                    \"device_usage\": \"pdks\",\n                    \"description\": \"\",\n                    \"build_id\": null,\n                    \"relay\": \"r2\",\n                    \"device_brand\": \"passgage\",\n                    \"proxy_type\": \"passgage_proxy\",\n                    \"door_trigger_ip\": \"\",\n                    \"door_trigger_port\": null,\n                    \"delay_time\": 1,\n                    \"client_id\": null,\n                    \"is_main_device\": false,\n                    \"is_dining_hall\": false,\n                    \"is_dormitory\": false,\n                    \"gym\": false,\n                    \"is_active\": true\n                },\n                {\n                    \"id\": \"f702d674-d719-49fa-b193-bb7d6c39f363\",\n                    \"latitude\": 41.01332,\n                    \"longitude\": 28.787037,\n                    \"qr_code_id\": \"ebe677d9-4907-4976-a422-c1ec058ae62a\",\n                    \"direction\": \"check_in\",\n                    \"zones\": [\n                        {\n                            \"name\": \"merkez turnike\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"updated_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"314e32c0-fb96-4a70-83ae-d295e83ba570\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        },\n                        {\n                            \"name\": \"VİP\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"updated_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"5f7e5909-e609-47c5-b10b-f2a20ee6ffc6\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        }\n                    ],\n                    \"device_type\": \"card_scanner\",\n                    \"name\": \"MERKEZ TURNİKE GİRİŞ-1\",\n                    \"range\": \"50\",\n                    \"range_matter\": \"1\",\n                    \"created_at\": \"2023-04-07T11:52:30.102+03:00\",\n                    \"updated_at\": \"2023-05-30T17:29:10.647+03:00\",\n                    \"port\": 65001,\n                    \"external_ip\": \"195.175.203.182\",\n                    \"device_usage\": \"pdks\",\n                    \"description\": \"\",\n                    \"build_id\": null,\n                    \"relay\": \"r1\",\n                    \"device_brand\": \"passgage\",\n                    \"proxy_type\": \"passgage_proxy\",\n                    \"door_trigger_ip\": \"\",\n                    \"door_trigger_port\": null,\n                    \"delay_time\": 1,\n                    \"client_id\": null,\n                    \"is_main_device\": false,\n                    \"is_dining_hall\": false,\n                    \"is_dormitory\": false,\n                    \"gym\": false,\n                    \"is_active\": true\n                }\n            ],\n            \"zones\": [\n                {\n                    \"id\": \"60b6b332-2d25-40c9-9252-591b38805a25\",\n                    \"name\": \"Çorlu Bağlar Mağazası\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"is_active\": true,\n                    \"description\": \"\",\n                    \"build_id\": null,\n                    \"created_at\": \"2023-04-30T21:24:28.518+03:00\",\n                    \"updated_at\": \"2023-07-03T16:59:33.211+03:00\"\n                }\n            ],\n            \"areas\": [],\n            \"cards\": [],\n            \"rooms\": [],\n            \"parent\": null\n        },\n        \"description\": \"Create Desc 121\",\n        \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n        \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n        \"leave_type_id\": \"ad31633a-4e18-46be-8a02-2780a2b8e9fc\",\n        \"start_date\": \"2023-11-10T00:00:00.000+03:00\",\n        \"end_date\": \"2023-11-12T23:59:59.999+03:00\",\n        \"days_off_count\": 72,\n        \"status\": \"awaiting_approval\",\n        \"is_signed\": true,\n        \"hr_comment\": null,\n        \"is_approved_by_hr\": false,\n        \"is_approved_by_manager\": false,\n        \"manager_comment\": null,\n        \"reason_for_rejection\": null,\n        \"file_urls\": [\n            \"http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJaWt6WmpVNU1EWmlZeTFoWW1ZeExUUmxaRFl0T1RobFppMWhPRFV3TWpjMVpqTmlOV1FHT2daRlZBPT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2JfaWQifX0=--72438bb836202d0ba7ba6c269155dda1802eb20b/Ahmet-Kaptann.png\",\n            \"http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJaWxtWkRFMFpHRmlPUzAzT0RobExUUTJPREl0WWpOaE5TMHlNR0kxT0RNME5qQXlOalFHT2daRlZBPT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2JfaWQifX0=--a3600fcf5a934ede658897113e517e0dc677d2ce/Screenshot%202023-10-24%20at%2011.56.39.png\"\n        ],\n        \"created_at\": \"2023-11-01T13:53:25.887+03:00\",\n        \"updated_at\": \"2023-11-01T14:06:59.833+03:00\",\n        \"date_of_return\": null,\n        \"signed_date\": null,\n        \"working_days\": null,\n        \"holiday_days\": null,\n        \"total_days\": null,\n        \"leave_type\": {\n            \"id\": \"ad31633a-4e18-46be-8a02-2780a2b8e9fc\",\n            \"title\": \"Evlilik İzni\",\n            \"description\": null,\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": null,\n            \"leave_day\": 3,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.194+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.194+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"yearly\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        }\n    },\n    \"meta\": {}\n}"}],"_postman_id":"47de150b-c1f2-4ee5-b6de-06503a4c1c54"},{"name":"lists","id":"6ec7987b-23ab-4f8f-a5c6-68cf69436d4a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{api_key}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/leaves?page=1&per_page=25&q[user_client_id_cont]=1005485&q[start_date_gteq]=2025-05-20&q[end_date_lteq]=2025-05-20","urlObject":{"path":["api","public","v1","leaves"],"host":["https://api.passgage.com"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"25"},{"key":"q[user_client_id_cont]","value":"1005485"},{"key":"q[start_date_gteq]","value":"2025-05-20"},{"key":"q[end_date_lteq]","value":"2025-05-20"}],"variable":[]}},"response":[{"id":"be8f1182-e6e4-4288-b5f0-bfdb3bda9861","name":"200","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer psg_cmp_sZ2xQwuzYSUwN1SNtLXUqMWAcFKNEZ","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/leaves?page=1&per_page=10","host":["https://api.passgage.com"],"path":["api","public","v1","leaves"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"10"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"e16e8dff-5c95-4725-a753-75a1c583fffa"},{"key":"X-Runtime","value":"0.178238"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"26yzffbkgrjos57th5za,qsdj28ibpgct5asqib86,ed1092s7u590gfgm0oi4,hfuvs59h4fpeorjz5kvg,zssusi15l6j6y6yo1o5v,h9sm9za6lylq14l7juec,1cya6d3hlcfb6xwoithh,489gqt1v24xjaoecmtcj,1ki132dhnbrwkzfdvylh,uk2okvea835x55wk992t,rpqwbygnhc7ngzf0j7tr,gltja2a5aj6req4px03z,1aewrsei7d579d1bypkp,j5uquhkgxy03fcoyvpsw,tfwsvd1pchxwnblvar9v"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"dbd63eba-1ef5-495b-8d03-bb4d574d2024\",\n            \"title\": \"Ücretsiz İzni\",\n            \"user\": {\n                \"id\": \"fb853599-efa2-46ec-b3b4-299ba4542809\",\n                \"username\": \"_32\",\n                \"job_title\": null,\n                \"avatar\": \"https://ui-avatars.com/api/?name=123123+123123.jpeg\"\n            },\n            \"description\": \"asfda\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"user_id\": \"fb853599-efa2-46ec-b3b4-299ba4542809\",\n            \"leave_type_id\": \"12b3ef1c-e2c2-4693-a303-51a0c018f548\",\n            \"start_date\": \"2023-07-06T00:00:00.000+03:00\",\n            \"end_date\": \"2023-07-07T23:59:59.999+03:00\",\n            \"days_off_count\": 48,\n            \"status\": \"approved\",\n            \"is_signed\": false,\n            \"hr_comment\": null,\n            \"is_approved_by_hr\": false,\n            \"is_approved_by_manager\": false,\n            \"manager_comment\": null,\n            \"reason_for_rejection\": null,\n            \"file_urls\": [],\n            \"created_at\": \"2023-07-13T01:29:32.101+03:00\",\n            \"updated_at\": \"2023-07-13T01:30:18.074+03:00\"\n        },\n        {\n            \"id\": \"08c7d04a-f9c0-44ee-909a-cb10a1d3d2cd\",\n            \"title\": \"Ücretsiz İzni\",\n            \"user\": {\n                \"id\": \"fb853599-efa2-46ec-b3b4-299ba4542809\",\n                \"username\": \"_32\",\n                \"job_title\": null,\n                \"avatar\": \"https://ui-avatars.com/api/?name=123123+123123.jpeg\"\n            },\n            \"description\": \"fff\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"user_id\": \"fb853599-efa2-46ec-b3b4-299ba4542809\",\n            \"leave_type_id\": \"12b3ef1c-e2c2-4693-a303-51a0c018f548\",\n            \"start_date\": \"2023-07-03T00:00:00.000+03:00\",\n            \"end_date\": \"2023-07-04T23:59:59.999+03:00\",\n            \"days_off_count\": 48,\n            \"status\": \"approved\",\n            \"is_signed\": false,\n            \"hr_comment\": null,\n            \"is_approved_by_hr\": false,\n            \"is_approved_by_manager\": false,\n            \"manager_comment\": null,\n            \"reason_for_rejection\": null,\n            \"file_urls\": [],\n            \"created_at\": \"2023-07-13T01:34:24.106+03:00\",\n            \"updated_at\": \"2023-07-13T01:36:10.290+03:00\"\n        },\n        {\n            \"id\": \"bb9da968-9467-409d-9ac5-fddeb6a0f891\",\n            \"title\": \"Ücretsiz İzni\",\n            \"user\": {\n                \"id\": \"fb853599-efa2-46ec-b3b4-299ba4542809\",\n                \"username\": \"_32\",\n                \"job_title\": null,\n                \"avatar\": \"https://ui-avatars.com/api/?name=123123+123123.jpeg\"\n            },\n            \"description\": \"gasg\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"user_id\": \"fb853599-efa2-46ec-b3b4-299ba4542809\",\n            \"leave_type_id\": \"12b3ef1c-e2c2-4693-a303-51a0c018f548\",\n            \"start_date\": \"2023-06-26T00:00:00.000+03:00\",\n            \"end_date\": \"2023-06-27T23:59:59.999+03:00\",\n            \"days_off_count\": 48,\n            \"status\": \"rejected\",\n            \"is_signed\": false,\n            \"hr_comment\": null,\n            \"is_approved_by_hr\": false,\n            \"is_approved_by_manager\": false,\n            \"manager_comment\": null,\n            \"reason_for_rejection\": null,\n            \"file_urls\": [],\n            \"created_at\": \"2023-07-13T01:38:13.952+03:00\",\n            \"updated_at\": \"2023-07-13T01:38:21.117+03:00\"\n        },\n        {\n            \"id\": \"36676f66-b541-43d1-badc-de71dd00a31e\",\n            \"title\": \"Ücretsiz İzni\",\n            \"user\": {\n                \"id\": \"98afa989-e1d5-4814-bfe7-a9442119da06\",\n                \"username\": \"muharrem_yilmaz\",\n                \"job_title\": \"Manav Görevlisi\",\n                \"avatar\": \"https://ui-avatars.com/api/?name=Muharrem+Yılmaz.jpeg\"\n            },\n            \"description\": \"adfs\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"user_id\": \"98afa989-e1d5-4814-bfe7-a9442119da06\",\n            \"leave_type_id\": \"12b3ef1c-e2c2-4693-a303-51a0c018f548\",\n            \"start_date\": \"2023-07-18T00:00:00.000+03:00\",\n            \"end_date\": \"2023-07-19T23:59:59.999+03:00\",\n            \"days_off_count\": 48,\n            \"status\": \"approved\",\n            \"is_signed\": false,\n            \"hr_comment\": null,\n            \"is_approved_by_hr\": false,\n            \"is_approved_by_manager\": false,\n            \"manager_comment\": null,\n            \"reason_for_rejection\": null,\n            \"file_urls\": [],\n            \"created_at\": \"2023-07-20T23:48:21.750+03:00\",\n            \"updated_at\": \"2023-07-20T23:48:51.634+03:00\"\n        },\n        {\n            \"id\": \"d0ba7f17-ee69-482f-8948-b9e379f6fb77\",\n            \"title\": \"Ücretsiz İzni\",\n            \"user\": {\n                \"id\": \"98afa989-e1d5-4814-bfe7-a9442119da06\",\n                \"username\": \"muharrem_yilmaz\",\n                \"job_title\": \"Manav Görevlisi\",\n                \"avatar\": \"https://ui-avatars.com/api/?name=Muharrem+Yılmaz.jpeg\"\n            },\n            \"description\": \"asdf\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"user_id\": \"98afa989-e1d5-4814-bfe7-a9442119da06\",\n            \"leave_type_id\": \"12b3ef1c-e2c2-4693-a303-51a0c018f548\",\n            \"start_date\": \"2023-08-09T00:00:00.000+03:00\",\n            \"end_date\": \"2023-08-10T23:59:59.999+03:00\",\n            \"days_off_count\": 48,\n            \"status\": \"awaiting_approval\",\n            \"is_signed\": false,\n            \"hr_comment\": null,\n            \"is_approved_by_hr\": false,\n            \"is_approved_by_manager\": false,\n            \"manager_comment\": null,\n            \"reason_for_rejection\": null,\n            \"file_urls\": [],\n            \"created_at\": \"2023-07-21T00:01:07.443+03:00\",\n            \"updated_at\": \"2023-07-21T00:01:07.443+03:00\"\n        },\n        {\n            \"id\": \"585ca581-1241-4683-aa4a-194b72fe1efd\",\n            \"title\": \"Askerlik İzni\",\n            \"user\": {\n                \"id\": \"98afa989-e1d5-4814-bfe7-a9442119da06\",\n                \"username\": \"muharrem_yilmaz\",\n                \"job_title\": \"Manav Görevlisi\",\n                \"avatar\": \"https://ui-avatars.com/api/?name=Muharrem+Yılmaz.jpeg\"\n            },\n            \"description\": \"asdf\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"user_id\": \"98afa989-e1d5-4814-bfe7-a9442119da06\",\n            \"leave_type_id\": \"accf8532-d96f-41bf-845b-604856f5e752\",\n            \"start_date\": \"2023-08-09T00:00:00.000+03:00\",\n            \"end_date\": \"2023-08-10T23:59:59.999+03:00\",\n            \"days_off_count\": 48,\n            \"status\": \"awaiting_approval\",\n            \"is_signed\": false,\n            \"hr_comment\": null,\n            \"is_approved_by_hr\": false,\n            \"is_approved_by_manager\": false,\n            \"manager_comment\": null,\n            \"reason_for_rejection\": null,\n            \"file_urls\": [],\n            \"created_at\": \"2023-07-21T00:04:05.875+03:00\",\n            \"updated_at\": \"2023-07-21T00:04:05.875+03:00\"\n        },\n        {\n            \"id\": \"2c9a8184-a572-498b-bc8f-d7782c5114fd\",\n            \"title\": \"Yıllık İzin\",\n            \"user\": {\n                \"id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                \"username\": \"onurmarketsosyal\",\n                \"job_title\": null,\n                \"avatar\": \"https://ui-avatars.com/api/?name=passgage+Test.jpeg\"\n            },\n            \"description\": \"\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n            \"leave_type_id\": \"4d376888-b9f1-453c-ae8d-ce29b5f2abca\",\n            \"start_date\": \"2023-07-24T00:00:00.000+03:00\",\n            \"end_date\": \"2023-07-25T23:59:59.999+03:00\",\n            \"days_off_count\": 48,\n            \"status\": \"approved\",\n            \"is_signed\": false,\n            \"hr_comment\": null,\n            \"is_approved_by_hr\": false,\n            \"is_approved_by_manager\": false,\n            \"manager_comment\": null,\n            \"reason_for_rejection\": null,\n            \"file_urls\": [],\n            \"created_at\": \"2023-07-12T15:19:08.814+03:00\",\n            \"updated_at\": \"2023-07-12T15:19:56.822+03:00\"\n        },\n        {\n            \"id\": \"7224c7cf-e0ae-4d51-8ee0-1c09b6aa7ed2\",\n            \"title\": \"Babalık İzni\",\n            \"user\": {\n                \"id\": \"fb853599-efa2-46ec-b3b4-299ba4542809\",\n                \"username\": \"_32\",\n                \"job_title\": null,\n                \"avatar\": \"https://ui-avatars.com/api/?name=123123+123123.jpeg\"\n            },\n            \"description\": \"rwrwerwe\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"user_id\": \"fb853599-efa2-46ec-b3b4-299ba4542809\",\n            \"leave_type_id\": \"892734c2-18d8-48c2-86e6-24d1f2e5c1c0\",\n            \"start_date\": \"2023-09-06T00:00:00.000+03:00\",\n            \"end_date\": \"2023-09-08T23:59:59.999+03:00\",\n            \"days_off_count\": 72,\n            \"status\": \"awaiting_approval\",\n            \"is_signed\": true,\n            \"hr_comment\": null,\n            \"is_approved_by_hr\": false,\n            \"is_approved_by_manager\": false,\n            \"manager_comment\": null,\n            \"reason_for_rejection\": null,\n            \"file_urls\": [\n                \"http://localhost:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJaWsxT1RSaFltSXlPQzB6TUdWaExUUTFNVGN0WWpWbE15MWhaVEEyTUdGaU5HVmhZeklHT2daRlZBPT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2JfaWQifX0=--40dc9875e0c2e9c17d81789fb9f6073b70c23408/direction-1.svg\"\n            ],\n            \"created_at\": \"2023-09-05T08:29:41.853+03:00\",\n            \"updated_at\": \"2023-09-05T08:29:41.876+03:00\"\n        },\n        {\n            \"id\": \"0bfcad1e-5b8a-4f4e-b6fe-9253a882dc4a\",\n            \"title\": \"Yıllık İzin\",\n            \"user\": {\n                \"id\": \"98afa989-e1d5-4814-bfe7-a9442119da06\",\n                \"username\": \"muharrem_yilmaz\",\n                \"job_title\": \"Manav Görevlisi\",\n                \"avatar\": \"https://ui-avatars.com/api/?name=Muharrem+Yılmaz.jpeg\"\n            },\n            \"description\": \"\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"user_id\": \"98afa989-e1d5-4814-bfe7-a9442119da06\",\n            \"leave_type_id\": \"4d376888-b9f1-453c-ae8d-ce29b5f2abca\",\n            \"start_date\": \"2023-07-11T00:00:00.000+03:00\",\n            \"end_date\": \"2023-07-13T23:59:59.999+03:00\",\n            \"days_off_count\": 72,\n            \"status\": \"awaiting_approval\",\n            \"is_signed\": true,\n            \"hr_comment\": null,\n            \"is_approved_by_hr\": false,\n            \"is_approved_by_manager\": false,\n            \"manager_comment\": null,\n            \"reason_for_rejection\": null,\n            \"file_urls\": [],\n            \"created_at\": \"2023-07-09T16:45:41.266+03:00\",\n            \"updated_at\": \"2023-07-09T16:46:15.308+03:00\"\n        },\n        {\n            \"id\": \"3620e653-8b6a-41ec-beac-fe33503e5c63\",\n            \"title\": \"Yıllık İzin\",\n            \"user\": {\n                \"id\": \"98afa989-e1d5-4814-bfe7-a9442119da06\",\n                \"username\": \"muharrem_yilmaz\",\n                \"job_title\": \"Manav Görevlisi\",\n                \"avatar\": \"https://ui-avatars.com/api/?name=Muharrem+Yılmaz.jpeg\"\n            },\n            \"description\": \"asdf\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"user_id\": \"98afa989-e1d5-4814-bfe7-a9442119da06\",\n            \"leave_type_id\": \"4d376888-b9f1-453c-ae8d-ce29b5f2abca\",\n            \"start_date\": \"2023-07-20T00:00:00.000+03:00\",\n            \"end_date\": \"2023-07-22T23:59:59.999+03:00\",\n            \"days_off_count\": 72,\n            \"status\": \"rejected\",\n            \"is_signed\": false,\n            \"hr_comment\": null,\n            \"is_approved_by_hr\": false,\n            \"is_approved_by_manager\": false,\n            \"manager_comment\": null,\n            \"reason_for_rejection\": null,\n            \"file_urls\": [],\n            \"created_at\": \"2023-07-09T16:51:10.057+03:00\",\n            \"updated_at\": \"2023-07-09T16:51:57.380+03:00\"\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 4,\n        \"total_count\": 38\n    }\n}"}],"_postman_id":"6ec7987b-23ab-4f8f-a5c6-68cf69436d4a"},{"name":"delete","id":"a6208ee5-808a-4a7f-99ef-2f767622dd6e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/leaves/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","leaves",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"4ef0d7e5-4aa1-4b9e-98d0-64fb8eb43022","key":"id"}]}},"response":[{"id":"fd6265fe-f2be-4177-b025-eefc0dabee9c","name":"200","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer psg_cmp_sZ2xQwuzYSUwN1SNtLXUqMWAcFKNEZ","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/leaves/:id","host":["https://api.passgage.com"],"path":["api","public","v1","leaves",":id"],"variable":[{"key":"id","value":"6b78ab6e-991c-4498-a0f8-0b84ae123b67"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"X-bullet-footer-text","value":"[\"user: ahmetkaptan  USE eager loading detected    Device =\\u003e [:zone_devices]\\n  Add to your query: .includes([:zone_devices])\",\"user: ahmetkaptan  USE eager loading detected    Device =\\u003e [:zones]\\n  Add to your query: .includes([:zones])\"]"},{"key":"X-bullet-console-text","value":"[\"user: ahmetkaptan\\nUSE eager loading detected\\n  Device =\\u003e [:zone_devices]\\n  Add to your query: .includes([:zone_devices])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/base_controller.rb:41:in `render_json'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/leaves_controller.rb:43:in `destroy'\\n\\n\",\"user: ahmetkaptan\\nUSE eager loading detected\\n  Device =\\u003e [:zones]\\n  Add to your query: .includes([:zones])\\nCall stack\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/base_controller.rb:41:in `render_json'\\n  /Users/ahmetkaptan/Desktop/andromeda/app/controllers/api/public/v1/leaves_controller.rb:43:in `destroy'\\n\\n\"]"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"dde9a951-8d70-407d-ad4c-89f2054c047a"},{"key":"X-Runtime","value":"0.409469"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"489gqt1v24xjaoecmtcj,qsdj28ibpgct5asqib86,ed1092s7u590gfgm0oi4,hfuvs59h4fpeorjz5kvg,zssusi15l6j6y6yo1o5v,h9sm9za6lylq14l7juec,1cya6d3hlcfb6xwoithh,wdqs5mk0ntduntpf7lt4"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully deleted leave\",\n    \"data\": {\n        \"id\": \"6b78ab6e-991c-4498-a0f8-0b84ae123b67\",\n        \"title\": \"Hastalık İzni\",\n        \"user\": {\n            \"id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n            \"username\": \"onurmarketsosyal\",\n            \"email\": \"passgagetest+27@gmail.com\",\n            \"first_name\": \"passgage\",\n            \"last_name\": \"Test\",\n            \"avatar\": null,\n            \"gsm\": null,\n            \"is_active\": true,\n            \"user_type\": \"user\",\n            \"employee_type\": \"student\",\n            \"created_at\": \"2023-01-31T11:41:53.823+03:00\",\n            \"updated_at\": \"2023-11-01T10:48:59.567+03:00\",\n            \"activation_date\": \"2023-01-01T00:00:00.000+03:00\",\n            \"citizenship_number\": \"\",\n            \"client_id\": \"43486\",\n            \"gender\": null,\n            \"birth_date\": null,\n            \"expired_date\": null,\n            \"leave_balance\": \"0.0\",\n            \"leave_balanced_at\": \"2020-01-01T00:00:00.000+03:00\",\n            \"reason_for_leave_id\": null,\n            \"bank_name\": \"\",\n            \"account_type\": \"\",\n            \"account_number\": \"\",\n            \"iban\": \"\",\n            \"emergency_contact_person\": \"\",\n            \"emergency_person_proximity_degree\": \"\",\n            \"emergency_contact_phone\": \"\",\n            \"emergency_contact_person_1\": \"\",\n            \"emergency_person_proximity_degree_1\": \"\",\n            \"emergency_contact_phone_1\": \"\",\n            \"marital_status\": \"\",\n            \"spouses_employment_status\": \"\",\n            \"address\": null,\n            \"city\": null,\n            \"country\": null,\n            \"postal_code\": null,\n            \"nationality\": null,\n            \"faculty_name\": null,\n            \"university_department\": null,\n            \"number_of_children\": \"\",\n            \"educational_status\": \"\",\n            \"graduation_level\": \"\",\n            \"graduation_school\": \"\",\n            \"pacs_settings\": {\n                \"can_take_overtime\": \"\",\n                \"type_of_work\": \"full_time\",\n                \"calculation_type\": \"\",\n                \"shift_module\": \"webshift\"\n            },\n            \"leaves\": [\n                {\n                    \"id\": \"2c9a8184-a572-498b-bc8f-d7782c5114fd\",\n                    \"title\": null,\n                    \"description\": \"\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                    \"leave_type_id\": \"4d376888-b9f1-453c-ae8d-ce29b5f2abca\",\n                    \"start_date\": \"2023-07-24T00:00:00.000+03:00\",\n                    \"end_date\": \"2023-07-25T23:59:59.999+03:00\",\n                    \"days_off_count\": 48,\n                    \"status\": \"approved\",\n                    \"is_signed\": false,\n                    \"date_of_return\": null,\n                    \"created_at\": \"2023-07-12T15:19:08.814+03:00\",\n                    \"updated_at\": \"2023-07-12T15:19:56.822+03:00\",\n                    \"manager_id\": null,\n                    \"manager_comment\": null,\n                    \"hr_id\": null,\n                    \"hr_comment\": null,\n                    \"signed_date\": null,\n                    \"reason_for_rejection\": null,\n                    \"is_approved_by_manager\": false,\n                    \"is_approved_by_hr\": false,\n                    \"working_days\": null,\n                    \"holiday_days\": null,\n                    \"total_days\": null,\n                    \"fin_year\": \"2022\",\n                    \"client_id\": null\n                },\n                {\n                    \"id\": \"4d6a1950-f61c-4566-80e9-3878bf0480f3\",\n                    \"title\": null,\n                    \"description\": \"\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                    \"leave_type_id\": \"4d376888-b9f1-453c-ae8d-ce29b5f2abca\",\n                    \"start_date\": \"2023-06-05T00:00:00.000+03:00\",\n                    \"end_date\": \"2023-06-11T23:59:59.999+03:00\",\n                    \"days_off_count\": 144,\n                    \"status\": \"approved\",\n                    \"is_signed\": false,\n                    \"date_of_return\": null,\n                    \"created_at\": \"2023-07-12T14:57:09.595+03:00\",\n                    \"updated_at\": \"2023-07-12T14:57:17.814+03:00\",\n                    \"manager_id\": null,\n                    \"manager_comment\": null,\n                    \"hr_id\": null,\n                    \"hr_comment\": null,\n                    \"signed_date\": null,\n                    \"reason_for_rejection\": null,\n                    \"is_approved_by_manager\": false,\n                    \"is_approved_by_hr\": false,\n                    \"working_days\": null,\n                    \"holiday_days\": null,\n                    \"total_days\": null,\n                    \"fin_year\": \"2022\",\n                    \"client_id\": null\n                },\n                {\n                    \"id\": \"40e41857-d356-421e-90c5-dd260d54d687\",\n                    \"title\": null,\n                    \"description\": \"maz\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                    \"leave_type_id\": \"e6120959-a1da-444d-8131-b23822add3cf\",\n                    \"start_date\": \"2023-11-01T00:00:00.000+03:00\",\n                    \"end_date\": \"2023-11-05T23:59:59.999+03:00\",\n                    \"days_off_count\": 120,\n                    \"status\": \"awaiting_approval\",\n                    \"is_signed\": true,\n                    \"date_of_return\": null,\n                    \"created_at\": \"2023-11-01T11:22:58.287+03:00\",\n                    \"updated_at\": \"2023-11-01T11:22:58.287+03:00\",\n                    \"manager_id\": null,\n                    \"manager_comment\": null,\n                    \"hr_id\": null,\n                    \"hr_comment\": null,\n                    \"signed_date\": null,\n                    \"reason_for_rejection\": null,\n                    \"is_approved_by_manager\": false,\n                    \"is_approved_by_hr\": false,\n                    \"working_days\": null,\n                    \"holiday_days\": null,\n                    \"total_days\": null,\n                    \"fin_year\": \"2022\",\n                    \"client_id\": null\n                },\n                {\n                    \"id\": \"1be5b510-6ade-4856-bb71-c6f1b97bfd71\",\n                    \"title\": null,\n                    \"description\": \"\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                    \"leave_type_id\": \"e6120959-a1da-444d-8131-b23822add3cf\",\n                    \"start_date\": \"2023-11-05T00:00:00.000+03:00\",\n                    \"end_date\": \"2023-11-06T23:59:59.999+03:00\",\n                    \"days_off_count\": 48,\n                    \"status\": \"awaiting_approval\",\n                    \"is_signed\": false,\n                    \"date_of_return\": null,\n                    \"created_at\": \"2023-11-01T11:23:19.412+03:00\",\n                    \"updated_at\": \"2023-11-01T11:23:19.412+03:00\",\n                    \"manager_id\": null,\n                    \"manager_comment\": null,\n                    \"hr_id\": null,\n                    \"hr_comment\": null,\n                    \"signed_date\": null,\n                    \"reason_for_rejection\": null,\n                    \"is_approved_by_manager\": false,\n                    \"is_approved_by_hr\": false,\n                    \"working_days\": null,\n                    \"holiday_days\": null,\n                    \"total_days\": null,\n                    \"fin_year\": \"2022\",\n                    \"client_id\": null\n                },\n                {\n                    \"id\": \"76db9ca0-078b-4e3d-9405-15030066ae57\",\n                    \"title\": \"Create Deneme\",\n                    \"description\": \"Create Desc\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                    \"leave_type_id\": \"334c233f-1001-4654-b274-63dfafb101c3\",\n                    \"start_date\": \"2023-11-10T00:00:00.000+03:00\",\n                    \"end_date\": \"2023-11-12T23:59:59.999+03:00\",\n                    \"days_off_count\": 72,\n                    \"status\": \"awaiting_approval\",\n                    \"is_signed\": true,\n                    \"date_of_return\": null,\n                    \"created_at\": \"2023-11-01T13:53:25.887+03:00\",\n                    \"updated_at\": \"2023-11-01T13:53:26.310+03:00\",\n                    \"manager_id\": null,\n                    \"manager_comment\": null,\n                    \"hr_id\": null,\n                    \"hr_comment\": null,\n                    \"signed_date\": null,\n                    \"reason_for_rejection\": null,\n                    \"is_approved_by_manager\": false,\n                    \"is_approved_by_hr\": false,\n                    \"working_days\": null,\n                    \"holiday_days\": null,\n                    \"total_days\": null,\n                    \"fin_year\": \"2022\",\n                    \"client_id\": null\n                },\n                {\n                    \"id\": \"bf64b6f5-dff4-4a43-9667-8ea437eca68f\",\n                    \"title\": \"Create Deneme\",\n                    \"description\": \"Create Desc\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n                    \"leave_type_id\": \"334c233f-1001-4654-b274-63dfafb101c3\",\n                    \"start_date\": \"2023-11-10T00:00:00.000+03:00\",\n                    \"end_date\": \"2023-11-12T23:59:59.999+03:00\",\n                    \"days_off_count\": 72,\n                    \"status\": \"awaiting_approval\",\n                    \"is_signed\": true,\n                    \"date_of_return\": null,\n                    \"created_at\": \"2023-11-01T13:55:45.140+03:00\",\n                    \"updated_at\": \"2023-11-01T13:55:45.478+03:00\",\n                    \"manager_id\": null,\n                    \"manager_comment\": null,\n                    \"hr_id\": null,\n                    \"hr_comment\": null,\n                    \"signed_date\": null,\n                    \"reason_for_rejection\": null,\n                    \"is_approved_by_manager\": false,\n                    \"is_approved_by_hr\": false,\n                    \"working_days\": null,\n                    \"holiday_days\": null,\n                    \"total_days\": null,\n                    \"fin_year\": \"2022\",\n                    \"client_id\": null\n                }\n            ],\n            \"job_position\": null,\n            \"department\": null,\n            \"user_group\": null,\n            \"branch\": {\n                \"id\": \"65658f60-e6f5-4205-9daa-2aa8bb7d5ff2\",\n                \"title\": \"1050 Konutlar Mağazası\",\n                \"is_active\": true,\n                \"description\": null,\n                \"latitude\": null,\n                \"longitude\": null,\n                \"range\": \"30\",\n                \"range_matter\": \"1\",\n                \"created_at\": \"2023-05-01T01:43:15.440+03:00\",\n                \"updated_at\": \"2023-05-01T01:43:15.440+03:00\"\n            },\n            \"sub_company\": null,\n            \"title\": null,\n            \"organization_unit\": null,\n            \"holiday_calendar\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"devices\": [\n                {\n                    \"id\": \"c0a7e195-533e-4a26-9621-6ace901f3a7e\",\n                    \"latitude\": 41.01332,\n                    \"longitude\": 28.787037,\n                    \"qr_code_id\": \"9e57c34e-e400-4e76-8073-decee3bd9e3c\",\n                    \"direction\": \"check_out\",\n                    \"zones\": [\n                        {\n                            \"name\": \"merkez turnike\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"updated_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"314e32c0-fb96-4a70-83ae-d295e83ba570\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        },\n                        {\n                            \"name\": \"VİP\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"updated_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"5f7e5909-e609-47c5-b10b-f2a20ee6ffc6\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        }\n                    ],\n                    \"device_type\": \"card_scanner\",\n                    \"name\": \"MERKEZ TURNİKE ÇIKIŞ\",\n                    \"range\": \"50\",\n                    \"range_matter\": \"1\",\n                    \"created_at\": \"2023-02-10T16:52:12.398+03:00\",\n                    \"updated_at\": \"2023-05-30T17:29:07.205+03:00\",\n                    \"port\": 65000,\n                    \"external_ip\": \"195.175.203.182\",\n                    \"device_usage\": \"pdks\",\n                    \"description\": \"\",\n                    \"build_id\": null,\n                    \"relay\": \"r2\",\n                    \"device_brand\": \"passgage\",\n                    \"proxy_type\": \"passgage_proxy\",\n                    \"door_trigger_ip\": \"\",\n                    \"door_trigger_port\": null,\n                    \"delay_time\": 1,\n                    \"client_id\": null,\n                    \"is_main_device\": false,\n                    \"is_dining_hall\": false,\n                    \"is_dormitory\": false,\n                    \"gym\": false,\n                    \"is_active\": true\n                },\n                {\n                    \"id\": \"5cfca4af-9772-455c-8535-d992f00afca6\",\n                    \"latitude\": 41.01332,\n                    \"longitude\": 28.787037,\n                    \"qr_code_id\": \"a4f5df67-5793-4f5b-aecb-a7a4bed81d11\",\n                    \"direction\": \"check_in\",\n                    \"zones\": [\n                        {\n                            \"name\": \"merkez turnike\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"updated_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"314e32c0-fb96-4a70-83ae-d295e83ba570\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        },\n                        {\n                            \"name\": \"VİP\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"updated_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"5f7e5909-e609-47c5-b10b-f2a20ee6ffc6\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        }\n                    ],\n                    \"device_type\": \"card_scanner\",\n                    \"name\": \"MERKEZ TURNİKE GİRİŞ\",\n                    \"range\": \"50\",\n                    \"range_matter\": \"1\",\n                    \"created_at\": \"2023-02-10T16:50:52.560+03:00\",\n                    \"updated_at\": \"2023-05-30T17:29:01.694+03:00\",\n                    \"port\": 65000,\n                    \"external_ip\": \"195.175.203.182\",\n                    \"device_usage\": \"pdks\",\n                    \"description\": \"\",\n                    \"build_id\": null,\n                    \"relay\": \"r1\",\n                    \"device_brand\": \"passgage\",\n                    \"proxy_type\": \"passgage_proxy\",\n                    \"door_trigger_ip\": \"\",\n                    \"door_trigger_port\": null,\n                    \"delay_time\": 1,\n                    \"client_id\": null,\n                    \"is_main_device\": false,\n                    \"is_dining_hall\": false,\n                    \"is_dormitory\": false,\n                    \"gym\": false,\n                    \"is_active\": true\n                },\n                {\n                    \"id\": \"a3d3e9dd-a4b5-483f-a74b-dd8795792622\",\n                    \"latitude\": 41.01332,\n                    \"longitude\": 28.787037,\n                    \"qr_code_id\": \"71eada83-3d07-4f87-a67d-6f48b5c916e1\",\n                    \"direction\": \"check_out\",\n                    \"zones\": [\n                        {\n                            \"name\": \"merkez turnike\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"updated_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"314e32c0-fb96-4a70-83ae-d295e83ba570\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        },\n                        {\n                            \"name\": \"VİP\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"updated_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"5f7e5909-e609-47c5-b10b-f2a20ee6ffc6\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        }\n                    ],\n                    \"device_type\": \"card_scanner\",\n                    \"name\": \"MERKEZ TURNİKE ÇIKIŞ-1\",\n                    \"range\": \"50\",\n                    \"range_matter\": \"1\",\n                    \"created_at\": \"2023-04-07T11:54:03.124+03:00\",\n                    \"updated_at\": \"2023-05-30T17:29:05.934+03:00\",\n                    \"port\": 65001,\n                    \"external_ip\": \"195.175.203.182\",\n                    \"device_usage\": \"pdks\",\n                    \"description\": \"\",\n                    \"build_id\": null,\n                    \"relay\": \"r2\",\n                    \"device_brand\": \"passgage\",\n                    \"proxy_type\": \"passgage_proxy\",\n                    \"door_trigger_ip\": \"\",\n                    \"door_trigger_port\": null,\n                    \"delay_time\": 1,\n                    \"client_id\": null,\n                    \"is_main_device\": false,\n                    \"is_dining_hall\": false,\n                    \"is_dormitory\": false,\n                    \"gym\": false,\n                    \"is_active\": true\n                },\n                {\n                    \"id\": \"f702d674-d719-49fa-b193-bb7d6c39f363\",\n                    \"latitude\": 41.01332,\n                    \"longitude\": 28.787037,\n                    \"qr_code_id\": \"ebe677d9-4907-4976-a422-c1ec058ae62a\",\n                    \"direction\": \"check_in\",\n                    \"zones\": [\n                        {\n                            \"name\": \"merkez turnike\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"updated_at\": \"2023-05-30T18:12:31.405+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"314e32c0-fb96-4a70-83ae-d295e83ba570\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        },\n                        {\n                            \"name\": \"VİP\",\n                            \"is_active\": true,\n                            \"description\": \"\",\n                            \"created_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"updated_at\": \"2023-06-01T20:59:01.153+03:00\",\n                            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                            \"id\": \"5f7e5909-e609-47c5-b10b-f2a20ee6ffc6\",\n                            \"build_id\": null,\n                            \"client_id\": null,\n                            \"branch_id\": null,\n                            \"erp_lock\": false\n                        }\n                    ],\n                    \"device_type\": \"card_scanner\",\n                    \"name\": \"MERKEZ TURNİKE GİRİŞ-1\",\n                    \"range\": \"50\",\n                    \"range_matter\": \"1\",\n                    \"created_at\": \"2023-04-07T11:52:30.102+03:00\",\n                    \"updated_at\": \"2023-05-30T17:29:10.647+03:00\",\n                    \"port\": 65001,\n                    \"external_ip\": \"195.175.203.182\",\n                    \"device_usage\": \"pdks\",\n                    \"description\": \"\",\n                    \"build_id\": null,\n                    \"relay\": \"r1\",\n                    \"device_brand\": \"passgage\",\n                    \"proxy_type\": \"passgage_proxy\",\n                    \"door_trigger_ip\": \"\",\n                    \"door_trigger_port\": null,\n                    \"delay_time\": 1,\n                    \"client_id\": null,\n                    \"is_main_device\": false,\n                    \"is_dining_hall\": false,\n                    \"is_dormitory\": false,\n                    \"gym\": false,\n                    \"is_active\": true\n                }\n            ],\n            \"zones\": [\n                {\n                    \"id\": \"60b6b332-2d25-40c9-9252-591b38805a25\",\n                    \"name\": \"Çorlu Bağlar Mağazası\",\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"is_active\": true,\n                    \"description\": \"\",\n                    \"build_id\": null,\n                    \"created_at\": \"2023-04-30T21:24:28.518+03:00\",\n                    \"updated_at\": \"2023-07-03T16:59:33.211+03:00\"\n                }\n            ],\n            \"areas\": [],\n            \"cards\": [],\n            \"rooms\": [],\n            \"parent\": null\n        },\n        \"description\": \"asdasdasdas\",\n        \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n        \"user_id\": \"c027d70b-091a-4af7-baf1-356f2ea2c3a4\",\n        \"leave_type_id\": \"68d8a231-5ab2-41b7-bfa7-7a3e33e1c252\",\n        \"start_date\": \"2023-12-12T00:00:00.000+03:00\",\n        \"end_date\": \"2023-12-30T23:59:59.999+03:00\",\n        \"days_off_count\": 456,\n        \"status\": \"awaiting_approval\",\n        \"is_signed\": false,\n        \"hr_comment\": null,\n        \"is_approved_by_hr\": false,\n        \"is_approved_by_manager\": false,\n        \"manager_comment\": null,\n        \"reason_for_rejection\": null,\n        \"file_urls\": [],\n        \"created_at\": \"2023-11-01T11:22:24.500+03:00\",\n        \"updated_at\": \"2023-11-01T14:04:42.180+03:00\",\n        \"date_of_return\": null,\n        \"signed_date\": null,\n        \"working_days\": null,\n        \"holiday_days\": null,\n        \"total_days\": null,\n        \"leave_type\": {\n            \"id\": \"68d8a231-5ab2-41b7-bfa7-7a3e33e1c252\",\n            \"title\": \"Hastalık İzni\",\n            \"description\": null,\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": null,\n            \"leave_day\": 40,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.203+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.203+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"yearly\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        }\n    },\n    \"meta\": {}\n}"}],"_postman_id":"a6208ee5-808a-4a7f-99ef-2f767622dd6e"}],"id":"462d6340-1514-423a-8788-2804a8426eb4","description":"<h4 id=\"genel-bakış\">Genel Bakış</h4>\n<p><code>Leave</code> api, sistem içerisinde kullanıcıların izinlerini yönetir. Bu model, izin süreçlerini yönetmek için gerekli işlevsellikleri sağlar ve izinlerin onaylanması, reddedilmesi ve izin sürelerinin hesaplanması gibi işlemleri içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>İzinler, başlangıç ve bitiş tarihleri, toplam gün sayısı, izin türü ve ilgili onaylar gibi bilgileri barındırır.</p>\n</li>\n<li><p>Kullanıcılar, izin sürecinde belgeler yükleyebilir ve izinleri için gerekli onay akışlarını takip edebilirler.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><p><code>start_date</code>, <code>end_date</code>: İzin başlangıç tarihi her zaman bitiş tarihinden önce olmalıdır.</p>\n</li>\n<li><p><strong>Başlangıç Tarihi</strong>: Girilen tarih dahil olmak üzere iznin başladığı günü belirtir. Bu tarih, iznin resmi olarak başladığı ilk gün olarak kabul edilir.</p>\n</li>\n<li><p><strong>Bitiş Tarihi</strong>: Girilen tarih dahil, iznin sona erdiği günü belirtir. İzin bitiş tarihini takip eden gün, çalışanın iş başı yapacağı ilk gündür.</p>\n</li>\n<li><p><code>user_id</code>, <code>leave_type_id</code>: Bu alanlar her izin kaydı için zorunludur.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li><p>İzin süreci sırasında kullanıcının mevcut izin bakiyesi kontrol edilir ve izin gün sayısı bakiyeyi aşmamalıdır.</p>\n</li>\n<li><p>İzin türüne bağlı olarak izinlerde belge yüklenmesi gerekebilir.</p>\n</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>İzin Oluşturma</strong></td>\n<td>Yeni izin kaydı</td>\n<td><code>start_date</code>, <code>end_date</code>, <code>leave_type_id</code></td>\n</tr>\n<tr>\n<td><strong>İzin Güncelleme</strong></td>\n<td>Mevcut izin bilgilerini güncelleme</td>\n<td>İzin detayları, onay durumları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>İzin Silme</strong></td>\n<td>İzin kaydını sistemden kaldırma</td>\n<td>İlgili izin kaydı ve onayları silinir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni İzin Kaydı</strong>: Kullanıcılar, sistemde yeni bir izin talebi oluşturabilir. Bu süreçte başlangıç ve bitiş tarihleri, izin türü gibi temel bilgiler gereklidir.</p>\n</li>\n<li><p><strong>İzin Onayı</strong>: Yöneticiler veya insan kaynakları tarafından izinler onaylanabilir veya reddedilebilir. Onay ve red işlemleri sırasında ilgili yorumlar ve belgeler eklenir.</p>\n</li>\n<li><p><strong>İzin İptali</strong>: Kullanıcılar veya yöneticiler, izin taleplerini iptal edebilir. İptal işlemleri, sistemde kayıtlı izin onay akışına bağlı olarak gerçekleşir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><p><strong>Eş Zamanlı İzin Kontrolü</strong>: Kullanıcılar, aynı tarihlerde birden fazla onaylanmış izin talebi oluşturamazlar. Bu durum, izin oluşturma ve güncelleme işlemleri sırasında kontrol edilir.</p>\n</li>\n<li><p><strong>Çalışma Saatlerine Göre İzin Hesaplama</strong>: İzin süresi, tanımlanan çalışma saatleri üzerinden hesaplanır. Bu süreç, kullanıcının çalışma modülüne (örneğin, vardiyalı çalışma) bağlı olarak farklılık gösterebilir.</p>\n</li>\n</ul>\n<h2 id=\"api-yanıt-alanları\">API Yanıt Alanları</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>UUID</td>\n<td>İzin kaydının benzersiz tanımlayıcısı</td>\n<td>\"550e8400-e29b-41d4-a716-446655440000\"</td>\n</tr>\n<tr>\n<td>title</td>\n<td>String</td>\n<td>İzin başlığı</td>\n<td>\"Yıllık İzin\"</td>\n</tr>\n<tr>\n<td>description</td>\n<td>String</td>\n<td>İzin açıklaması</td>\n<td>\"Yıllık izin talebi\"</td>\n</tr>\n<tr>\n<td>start_date</td>\n<td>DateTime</td>\n<td>İzin başlangıç tarihi</td>\n<td>\"2024-01-01T00:00:00Z\"</td>\n</tr>\n<tr>\n<td>end_date</td>\n<td>DateTime</td>\n<td>İzin bitiş tarihi</td>\n<td>\"2024-01-05T00:00:00Z\"</td>\n</tr>\n<tr>\n<td>days_off_count</td>\n<td>Integer</td>\n<td>İzin süresi (dk)</td>\n<td>450</td>\n</tr>\n<tr>\n<td>status</td>\n<td>Integer</td>\n<td>İzin durumu</td>\n<td>2</td>\n</tr>\n<tr>\n<td>tracking_number</td>\n<td>String</td>\n<td>İzin takip numarası</td>\n<td>\"2024-001\"</td>\n</tr>\n<tr>\n<td>is_hourly_leave</td>\n<td>Boolean</td>\n<td>İznin saatlik olup olmadığı</td>\n<td>false</td>\n</tr>\n<tr>\n<td>leave_type_code</td>\n<td>String</td>\n<td>İzin türünün benzersiz kodu</td>\n<td>\"ANNUAL_LEAVE_001\"</td>\n</tr>\n<tr>\n<td>leave_type_short_code</td>\n<td>String</td>\n<td>İzin türünün kısa kodu</td>\n<td>\"AL\"</td>\n</tr>\n<tr>\n<td>file_urls</td>\n<td>Array</td>\n<td>Ek dosya URL'leri</td>\n<td>[\"https://...\"]</td>\n</tr>\n<tr>\n<td>is_signed</td>\n<td>Boolean</td>\n<td>İmzalı olup olmadığı</td>\n<td>false</td>\n</tr>\n<tr>\n<td>created_at</td>\n<td>DateTime</td>\n<td>Oluşturulma tarihi</td>\n<td>\"2024-01-01T10:00:00Z\"</td>\n</tr>\n<tr>\n<td>updated_at</td>\n<td>DateTime</td>\n<td>Son güncelleme tarihi</td>\n<td>\"2024-01-01T10:00:00Z\"</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"filtreleme-özellikleri\">Filtreleme Özellikleri</h2>\n<p>Leave API'si, kapsamlı filtreleme özellikleri sunar. Filtreler <code>q</code> parametresi altında gönderilmelidir.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Açıklama</th>\n<th>Format</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>q[created_at_gteq]</td>\n<td>Oluşturulma tarihi &gt;=</td>\n<td>YYYY-MM-DD</td>\n<td>?q[created_at_gteq]=2024-01-01</td>\n</tr>\n<tr>\n<td>q[created_at_lteq]</td>\n<td>Oluşturulma tarihi &lt;=</td>\n<td>YYYY-MM-DD</td>\n<td>?q[created_at_lteq]=2024-12-31</td>\n</tr>\n<tr>\n<td>q[start_date_gteq]</td>\n<td>Başlangıç tarihi &gt;=</td>\n<td>YYYY-MM-DD</td>\n<td>?q[start_date_gteq]=2024-01-01</td>\n</tr>\n<tr>\n<td>q[end_date_lteq]</td>\n<td>Bitiş tarihi &lt;=</td>\n<td>YYYY-MM-DD</td>\n<td>?q[end_date_lteq]=2024-12-31</td>\n</tr>\n<tr>\n<td>q[user_client_id_eq]</td>\n<td>Kullanıcı sicil no</td>\n<td>String</td>\n<td>?q[user_client_id_eq]=777666</td>\n</tr>\n<tr>\n<td>q[status_eq]</td>\n<td>İzin durumu</td>\n<td>Integer</td>\n<td>?q[status_eq]=2</td>\n</tr>\n<tr>\n<td>q[leave_type_id_eq]</td>\n<td>İzin tipi ID</td>\n<td>UUID</td>\n<td>?q[leave_type_id_eq]=uuid</td>\n</tr>\n<tr>\n<td>q[days_off_count_eq]</td>\n<td>İzin gün sayısı</td>\n<td>Integer</td>\n<td>?q[days_off_count_eq]=5</td>\n</tr>\n<tr>\n<td>q[is_hourly_leave_eq]</td>\n<td>Saatlik izin filtresi</td>\n<td>Boolean</td>\n<td>?q[is_hourly_leave_eq]=true</td>\n</tr>\n<tr>\n<td>q[leave_type_code_eq]</td>\n<td>İzin türü kodu ile filtreleme</td>\n<td>String</td>\n<td>?q[leave_type_code_eq]=ANNUAL_LEAVE_001</td>\n</tr>\n<tr>\n<td>q[leave_type_short_code_eq]</td>\n<td>İzin türü kısa kodu ile filtreleme</td>\n<td>String</td>\n<td>?q[leave_type_short_code_eq]=AL</td>\n</tr>\n<tr>\n<td>q[tracking_number_eq]</td>\n<td>Takip numarası ile filtreleme</td>\n<td>String</td>\n<td>?q[tracking_number_eq]=2024-001</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"i̇lişkisel-filtreleme-parametreleri\">İlişkisel Filtreleme Parametreleri</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Açıklama</th>\n<th>Format</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>q[user_first_name_cont]</td>\n<td>Kullanıcı adı içerir</td>\n<td>String</td>\n<td><code>?q[user_first_name_cont]=John</code></td>\n</tr>\n<tr>\n<td>q[user_last_name_cont]</td>\n<td>Kullanıcı soyadı içerir</td>\n<td>String</td>\n<td><code>?q[user_last_name_cont]=Doe</code></td>\n</tr>\n<tr>\n<td>q[leave_type_title_cont]</td>\n<td>İzin türü başlığı içerir</td>\n<td>String</td>\n<td><code>?q[leave_type_title_cont]=Yıllık</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"sıralama-parametreleri\">Sıralama Parametreleri</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Açıklama</th>\n<th>Değerler</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>q[s]</td>\n<td>Sıralama yönü</td>\n<td>Kolon adı + asc/desc</td>\n<td><code>?q[s]=created_at desc</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"durum-status-kodları\">Durum (Status) Kodları</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-ruby\">status: {\n  approaching: 0,\n  awaiting_approval: 1,\n  approved: 2,\n  rejected: 3,\n  document_delivery_awaiting: 4,\n  hr_rejection: 5,\n  hr_approval: 6,\n  cancellation_request_hr_approval: 7,\n  leave_canceled: 8,\n  on_administrator_approval: 9,\n  rejected_by_administrator: 10,\n  finished: 11\n}\n\n</code></pre>\n<h3 id=\"örnek-filtre-kullanımları\">Örnek Filtre Kullanımları</h3>\n<ol>\n<li><p>GET /api/public/v1/leaves?q[start_date_gteq]=2024-01-01&amp;q[end_date_lteq]=2024-12-31&amp;q[status_eq]=2</p>\n</li>\n<li><p>GET /api/public/v1/leaves?q[user_client_id_eq]=777666</p>\n</li>\n<li><p>GET /api/public/v1/leaves?q[created_at_gteq]=2024-01-01&amp;q[leave_type_title_cont]=Yıllık</p>\n</li>\n<li><p>GET /api/public/v1/leaves?q[status_eq]=1&amp;q[s]=created_at desc</p>\n</li>\n</ol>\n<h3 id=\"sayfalama\">Sayfalama</h3>\n<p>API yanıtları sayfalanır. Sayfalama parametreleri:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Açıklama</th>\n<th>Varsayılan</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>page</td>\n<td>Sayfa numarası</td>\n<td>1</td>\n<td><code>?page=2</code></td>\n</tr>\n<tr>\n<td>per_page</td>\n<td>Sayfa başına kayıt</td>\n<td>25</td>\n<td><code>?per_page=50</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"örnek-curl-i̇steği\">Örnek Curl İsteği</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \\\n  'https://api.example.com/api/public/v1/leaves?q[start_date_gteq]=2024-01-01&amp;q[status_eq]=2&amp;page=1&amp;per_page=25' \\\n  -H 'Authorization: Bearer your-token'\n\n</code></pre>\n<h3 id=\"örnek-yanıt\">Örnek Yanıt</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"data\": [\n    {\n      \"id\": \"uuid\",\n      \"title\": \"Yıllık İzin\",\n      \"user\": {\n        \"id\": \"uuid\",\n        \"username\": \"johndoe\",\n        \"job_title\": \"Developer\",\n        \"client_id\": \"777666\",\n        \"avatar\": \"https://...\"\n      },\n      \"start_date\": \"2024-01-01\",\n      \"end_date\": \"2024-01-05\",\n      \"days_off_count\": 5,\n      \"status\": \"approved\"\n      // ... diğer alanlar\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"total_pages\": 10,\n    \"total_count\": 250\n  }\n}\n\n</code></pre>\n","_postman_id":"462d6340-1514-423a-8788-2804a8426eb4","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Leave Balance Import","item":[{"name":"List Leave Balance Imports","id":"4dad9709-d5cf-44b5-a387-3827b63c4d31","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/leave_balance_imports?page=1&per_page=25","description":"<p>Retrieves a paginated list of leave balance imports for the authenticated company</p>\n","urlObject":{"path":["api","public","v1","leave_balance_imports"],"host":["https://api.passgage.com"],"query":[{"description":{"content":"<p>Page number</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>Records per page (max 100)</p>\n","type":"text/plain"},"key":"per_page","value":"25"},{"disabled":true,"description":{"content":"<p>Search by user first name (optional)</p>\n","type":"text/plain"},"key":"q[user_first_name_cont]","value":""},{"disabled":true,"description":{"content":"<p>Search by user last name (optional)</p>\n","type":"text/plain"},"key":"q[user_last_name_cont]","value":""},{"disabled":true,"description":{"content":"<p>Search by user client ID (optional)</p>\n","type":"text/plain"},"key":"q[user_client_id_eq]","value":""}],"variable":[]}},"response":[],"_postman_id":"4dad9709-d5cf-44b5-a387-3827b63c4d31"},{"name":"Get Leave Balance Import","id":"342d13f0-8412-4a67-b054-69dfbb410631","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/leave_balance_imports/{{leave_balance_import_id}}","description":"<p>Retrieves a single leave balance import by ID</p>\n","urlObject":{"path":["api","public","v1","leave_balance_imports","{{leave_balance_import_id}}"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"342d13f0-8412-4a67-b054-69dfbb410631"},{"name":"Create Leave Balance Import (Days)","id":"f6a61fdc-d7e8-4525-8644-e9c0d259d530","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"leave_balance_import\": {\n    \"user_id\": \"{{user_id}}\",\n    \"leave_type_id\": \"{{leave_type_id}}\",\n    \"balance_days\": 5.0,\n    \"balanced_at\": \"2025-01-01\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/leave_balance_imports","description":"<p>Creates a new leave balance import using balance_days. The system will automatically calculate balance in minutes.</p>\n","urlObject":{"path":["api","public","v1","leave_balance_imports"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f6a61fdc-d7e8-4525-8644-e9c0d259d530"},{"name":"Create Leave Balance Import (Minutes)","id":"b3167a99-7a09-4051-8259-518d056bed4c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"leave_balance_import\": {\n    \"user_id\": \"{{user_id}}\",\n    \"leave_type_id\": \"{{leave_type_id}}\",\n    \"balance\": 2400,\n    \"balanced_at\": \"2025-01-01\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/leave_balance_imports","description":"<p>Creates a new leave balance import using balance in minutes (2400 minutes = 5 days for 8-hour workday)</p>\n","urlObject":{"path":["api","public","v1","leave_balance_imports"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b3167a99-7a09-4051-8259-518d056bed4c"},{"name":"Update Leave Balance Import","id":"741ded04-aec0-422a-a0c5-110803a663c7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"leave_balance_import\": {\n    \"balance_days\": -10,\n    \"balanced_at\": \"2025-05-15\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/leave_balance_imports/{{leave_balance_import_id}}","description":"<p>Updates an existing leave balance import</p>\n","urlObject":{"path":["api","public","v1","leave_balance_imports","{{leave_balance_import_id}}"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"741ded04-aec0-422a-a0c5-110803a663c7"},{"name":"Delete Leave Balance Import","id":"9404f9c2-6613-4203-b548-3b7edf69c700","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/leave_balance_imports/{{leave_balance_import_id}}","description":"<p>Deletes a leave balance import</p>\n","urlObject":{"path":["api","public","v1","leave_balance_imports","{{leave_balance_import_id}}"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9404f9c2-6613-4203-b548-3b7edf69c700"}],"id":"cbd128e6-f869-4f43-b336-6191aefe682c","description":"<h1 id=\"leave-balance-import-public-api\">Leave Balance Import Public API</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>Bu API, leave balance import (izin bakiyesi aktarımı) işlemlerini yönetmek için kullanılır. Public API v1 namespace'i altında yer alır ve token-based authentication kullanır.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>API Key tabanlı authentication gereklidir. Her request'te <code>Authorization: Bearer</code> header'ı gönderilmelidir.</p>\n<h2 id=\"base-url\">Base URL</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>POST /api/public/v1/leave_balance_imports\nGET  /api/public/v1/leave_balance_imports\nGET  /api/public/v1/leave_balance_imports/:id\nPUT  /api/public/v1/leave_balance_imports/:id\nDELETE /api/public/v1/leave_balance_imports/:id\n\n</code></pre><h2 id=\"endpoints\">Endpoints</h2>\n<h3 id=\"1-list-leave-balance-imports\">1. List Leave Balance Imports</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">GET /api/public/v1/leave_balance_imports\n\n</code></pre>\n<p><strong>Query Parameters:</strong></p>\n<ul>\n<li><p><code>page</code> (optional): Sayfa numarası (default: 1)</p>\n</li>\n<li><p><code>per_page</code> (optional): Sayfa başına kayıt sayısı (default: 25)</p>\n</li>\n<li><p><code>q[field_name_cont]</code> (optional): Ransack search parameters</p>\n</li>\n</ul>\n<p><strong>Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"id\": \"uuid\",\n      \"balance\": 2400,\n      \"balance_days\": 5.0,\n      \"balanced_at\": \"2025-01-01\",\n      \"created_at\": \"2025-06-11T10:00:00.000Z\",\n      \"updated_at\": \"2025-06-11T10:00:00.000Z\",\n      \"user\": {\n        \"id\": \"uuid\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\",\n        \"full_name\": \"John Doe\",\n        \"email\": \"john@example.com\",\n        \"client_id\": \"EMP001\",\n        \"citizenship_number\": \"12345678901\"\n      },\n      \"leave_type\": {\n        \"id\": \"uuid\",\n        \"title\": \"Yıllık İzin\",\n        \"one_day_working_hour\": 8.0,\n        \"one_day_working_hour_in_minutes\": 480,\n        \"client_id\": \"ANNUAL\"\n      },\n      \"company\": {\n        \"id\": \"uuid\",\n        \"name\": \"Şirket Adı\",\n        \"legal_name\": \"Şirket A.Ş.\"\n      }\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"total_pages\": 5,\n    \"total_count\": 100\n  }\n}\n\n</code></pre>\n<h3 id=\"2-create-leave-balance-import\">2. Create Leave Balance Import</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">POST /api/public/v1/leave_balance_imports\n\n</code></pre>\n<p><strong>Request Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"leave_balance_import\": {\n    \"user_id\": \"uuid\",\n    \"leave_type_id\": \"uuid\",\n    \"balance_days\": 5.0,\n    \"balanced_at\": \"2025-01-01\"\n  }\n}\n\n</code></pre>\n<p><strong>Alternative Request Body (with minutes):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"leave_balance_import\": {\n    \"user_id\": \"uuid\",\n    \"leave_type_id\": \"uuid\",\n    \"balance\": 2400,\n    \"balanced_at\": \"2025-01-01\"\n  }\n}\n\n</code></pre>\n<p><strong>Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 201,\n  \"message\": \"Successfully created leave balance import\",\n  \"data\": {\n    \"id\": \"uuid\",\n    \"balance\": 2400,\n    \"balance_days\": 5.0,\n    \"balanced_at\": \"2025-01-01\",\n    \"created_at\": \"2025-06-11T10:00:00.000Z\",\n    \"updated_at\": \"2025-06-11T10:00:00.000Z\",\n    \"user\": {\n      \"id\": \"uuid\",\n      \"first_name\": \"John\",\n      \"last_name\": \"Doe\",\n      \"full_name\": \"John Doe\",\n      \"email\": \"john@example.com\",\n      \"client_id\": \"EMP001\",\n      \"citizenship_number\": \"12345678901\"\n    },\n    \"leave_type\": {\n      \"id\": \"uuid\",\n      \"title\": \"Yıllık İzin\",\n      \"one_day_working_hour\": 8.0,\n      \"one_day_working_hour_in_minutes\": 480,\n      \"client_id\": \"ANNUAL\"\n    },\n    \"company\": {\n      \"id\": \"uuid\",\n      \"name\": \"Şirket Adı\",\n      \"legal_name\": \"Şirket A.Ş.\"\n    }\n  }\n}\n\n</code></pre>\n<h3 id=\"3-get-single-leave-balance-import\">3. Get Single Leave Balance Import</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">GET /api/public/v1/leave_balance_imports/:id\n\n</code></pre>\n<p><strong>Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": {\n    \"id\": \"uuid\",\n    \"balance\": 2400,\n    \"balance_days\": 5.0,\n    \"balanced_at\": \"2025-01-01\",\n    \"created_at\": \"2025-06-11T10:00:00.000Z\",\n    \"updated_at\": \"2025-06-11T10:00:00.000Z\",\n    \"user\": {\n      \"id\": \"uuid\",\n      \"first_name\": \"John\",\n      \"last_name\": \"Doe\",\n      \"full_name\": \"John Doe\",\n      \"email\": \"john@example.com\",\n      \"client_id\": \"EMP001\",\n      \"citizenship_number\": \"12345678901\"\n    },\n    \"leave_type\": {\n      \"id\": \"uuid\",\n      \"title\": \"Yıllık İzin\",\n      \"one_day_working_hour\": 8.0,\n      \"one_day_working_hour_in_minutes\": 480,\n      \"client_id\": \"ANNUAL\"\n    },\n    \"company\": {\n      \"id\": \"uuid\",\n      \"name\": \"Şirket Adı\",\n      \"legal_name\": \"Şirket A.Ş.\"\n    }\n  }\n}\n\n</code></pre>\n<h3 id=\"4-update-leave-balance-import\">4. Update Leave Balance Import</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">PUT /api/public/v1/leave_balance_imports/:id\n\n</code></pre>\n<p><strong>Request Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"leave_balance_import\": {\n    \"balance_days\": 7.5,\n    \"balanced_at\": \"2025-01-15\"\n  }\n}\n\n</code></pre>\n<p><strong>Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"Successfully updated leave balance import\",\n  \"data\": {\n    \"id\": \"uuid\",\n    \"balance\": 3600,\n    \"balance_days\": 7.5,\n    \"balanced_at\": \"2025-01-15\",\n    \"created_at\": \"2025-06-11T10:00:00.000Z\",\n    \"updated_at\": \"2025-06-11T10:15:00.000Z\",\n    \"user\": {...},\n    \"leave_type\": {...},\n    \"company\": {...}\n  }\n}\n\n</code></pre>\n<h3 id=\"5-delete-leave-balance-import\">5. Delete Leave Balance Import</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">DELETE /api/public/v1/leave_balance_imports/:id\n\n</code></pre>\n<p><strong>Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"Successfully deleted leave balance import\",\n  \"data\": {\n    \"id\": \"uuid\",\n    \"balance\": 3600,\n    \"balance_days\": 7.5,\n    \"balanced_at\": \"2025-01-15\",\n    \"created_at\": \"2025-06-11T10:00:00.000Z\",\n    \"updated_at\": \"2025-06-11T10:15:00.000Z\",\n    \"user\": {...},\n    \"leave_type\": {...},\n    \"company\": {...}\n  }\n}\n\n</code></pre>\n<h2 id=\"error-responses\">Error Responses</h2>\n<h3 id=\"validation-errors\">Validation Errors</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 422,\n  \"message\": \"Unprocessable entity\",\n  \"errors\": [\n    {\n      \"property\": \"user_id\",\n      \"constraints\": {\n        \"blank\": \"can't be blank\"\n      }\n    }\n  ]\n}\n\n</code></pre>\n<h3 id=\"not-found\">Not Found</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 404,\n  \"message\": \"Record not found\",\n  \"errors\": []\n}\n\n</code></pre>\n<h3 id=\"unauthorized\">Unauthorized</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 401,\n  \"message\": \"Access denied\",\n  \"errors\": []\n}\n\n</code></pre>\n<h2 id=\"model-validations\">Model Validations</h2>\n<h3 id=\"required-fields\">Required Fields</h3>\n<ul>\n<li><p><code>user_id</code>: Kullanıcı ID'si (UUID)</p>\n</li>\n<li><p><code>leave_type_id</code>: İzin türü ID'si (UUID)</p>\n</li>\n<li><p><code>balanced_at</code>: Bakiye tarihi (Date)</p>\n</li>\n<li><p><code>balance</code> OR <code>balance_days</code>: Bakiye (dakika cinsinden) veya gün cinsinden</p>\n</li>\n</ul>\n<h3 id=\"business-rules\">Business Rules</h3>\n<ul>\n<li><p>Aynı kullanıcı, aynı izin türü ve aynı şirket için yalnızca bir kayıt olabilir (unique constraint)</p>\n</li>\n<li><p><code>balance_days</code> girilirse otomatik olarak dakika cinsinden <code>balance</code> hesaplanır</p>\n</li>\n</ul>\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p><code>balance_days</code> kullanıldığında, sistem otomatik olarak leave_type'ın <code>one_day_working_hour_in_minutes</code> değerini kullanarak dakika cinsinden balance hesaplar</p>\n</li>\n<li><p>API, company scope altında çalışır - yalnızca API key'in ait olduğu şirketin verileri görüntülenir/değiştirilebilir</p>\n</li>\n<li><p>Tüm datetime değerleri ISO 8601 formatında döner</p>\n</li>\n<li><p>Pagination varsayılan olarak 25 kayıt per sayfa şeklindedir, maksimum 100 kayıt request edilebilir</p>\n</li>\n</ul>\n","_postman_id":"cbd128e6-f869-4f43-b336-6191aefe682c","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Leave Rules","item":[{"name":"list","id":"30c5c55e-71cb-45bd-a1c1-ea6ef3ed8d33","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"url":"https://api.passgage.com/api/public/v1/leave_rules","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","leave_rules"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"de6bf4a1-9622-4a37-83e0-3a65c797b4ee","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"url":"https://api.passgage.com/api/public/v1/leave_rules"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"292965b9-afa7-4ed2-8f0d-6b28b6a6c37f"},{"key":"X-Runtime","value":"1.091484"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"gj4zzxbpb6zry8c0htqv,2tn3fxrzl5l7ejpeosas"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"65f022df-c32a-4cbc-8609-3..\",\n            \"title\": \"Türk Iş Kanunu\",\n            \"description\": null,\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd..\"\n        },\n        {\n            \"id\": \"6fa3e4da-2594-494a-b323-a9474f0..\",\n            \"title\": \"Türk İş Kanunu\",\n            \"description\": null,\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d...\"\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 1,\n        \"total_count\": 2\n    }\n}"}],"_postman_id":"30c5c55e-71cb-45bd-a1c1-ea6ef3ed8d33"},{"name":"create","id":"dcc40540-6673-4797-b5f8-00010e1c0efa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"leave_rule\": {\n        \"title\": \"deneme\",\n        \"description\": \"deneme\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/leave_rules","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","leave_rules"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"d86ab881-f7b4-4781-ba42-edccf7449b47","name":"201","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"leave_rule\": {\n        \"title\": \"deneme\",\n        \"description\": \"deneme\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/leave_rules"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"6970ac49-a947-4f38-aa16-cc5325cf745d"},{"key":"X-Runtime","value":"0.868594"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"dv1v886zfqrvkersjyzs,2tn3fxrzl5l7ejpeosas,gj4zzxbpb6zry8c0htqv,f4ykrh9fos8wmqyu5bvy,xrh5p1dnh4mlhcsyg8ez,vri9fnr393uh6iljj2y2"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Successfully created leave rule\",\n    \"data\": {\n        \"id\": \"c107da1e-829b-48b1-9858-d61c5ced71df\",\n        \"title\": \"deneme\",\n        \"description\": \"deneme\",\n        \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"dcc40540-6673-4797-b5f8-00010e1c0efa"},{"name":"update","id":"b6f79bb7-d4e7-439b-8df7-8daf342f9b9e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"leave_rule\": {\n        \"title\": \"deneme 1\",\n        \"description\": \"deneme 1\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/leave_rules/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","leave_rules",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"c107da1e-829b-48b1-9858-d61c5ced71df","key":"id"}]}},"response":[{"id":"2ef500d6-a3d7-46ae-90bb-71e7893c6551","name":"200","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"leave_rule\": {\n        \"title\": \"deneme 1\",\n        \"description\": \"deneme 1\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/leave_rules/:id","host":["https://api.passgage.com"],"path":["api","public","v1","leave_rules",":id"],"variable":[{"key":"id","value":"c107da1e-829b-48b1-9858-d61c5ced71df"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"1d450171-a752-465d-bb6e-798658544801"},{"key":"X-Runtime","value":"0.833599"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"afqltkfo6jcp22bl1bii,2tn3fxrzl5l7ejpeosas,gj4zzxbpb6zry8c0htqv,f4ykrh9fos8wmqyu5bvy,xrh5p1dnh4mlhcsyg8ez,vri9fnr393uh6iljj2y2,dv1v886zfqrvkersjyzs"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully updated leave rule\",\n    \"data\": {\n        \"id\": \"c107da1e-829b-48b1-9858-d61c5ced71df\",\n        \"title\": \"deneme 1\",\n        \"description\": \"deneme 1\",\n        \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"b6f79bb7-d4e7-439b-8df7-8daf342f9b9e"},{"name":"show","id":"ededa031-92ba-4d95-bd0b-cb065a6806bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"url":"https://api.passgage.com/api/public/v1/leave_rules/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","leave_rules",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"","key":"id"}]}},"response":[{"id":"9df7cbed-c174-46f9-ad9f-865189d59f60","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"url":{"raw":"https://api.passgage.com/api/public/v1/leave_rules/:id","host":["https://api.passgage.com"],"path":["api","public","v1","leave_rules",":id"],"variable":[{"key":"id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"b33484d4-e3ce-4c62-80a4-26255290d897"},{"key":"X-Runtime","value":"0.891000"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"vri9fnr393uh6iljj2y2,2tn3fxrzl5l7ejpeosas,gj4zzxbpb6zry8c0htqv,f4ykrh9fos8wmqyu5bvy,xrh5p1dnh4mlhcsyg8ez"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"65f022df-c32a-4cbc-8609..\",\n        \"title\": \"Türk Iş Kanunu\",\n        \"description\": null,\n        \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d...\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"ededa031-92ba-4d95-bd0b-cb065a6806bf"},{"name":"delete","id":"955f9d26-0800-4197-bfb8-9c0b6ae99495","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"url":"https://api.passgage.com/api/public/v1/leave_rules/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","leave_rules",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"c107da1e-829b-48b1-9858-d61c5ced71df","key":"id"}]}},"response":[{"id":"0f202eb6-dc17-4acc-93df-7ba6d879a5e5","name":"200","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"url":{"raw":"https://api.passgage.com/api/public/v1/leave_rules/:id","host":["https://api.passgage.com"],"path":["api","public","v1","leave_rules",":id"],"variable":[{"key":"id","value":"c107da1e-829b-48b1-9858-d61c5ced71df"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"8ad209bd-d22c-4161-8eb3-4671e35ad895"},{"key":"X-Runtime","value":"0.121596"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"83iahd6j3lvktc38wx4b,2tn3fxrzl5l7ejpeosas,gj4zzxbpb6zry8c0htqv,f4ykrh9fos8wmqyu5bvy,xrh5p1dnh4mlhcsyg8ez,vri9fnr393uh6iljj2y2,dv1v886zfqrvkersjyzs,afqltkfo6jcp22bl1bii"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully deleted leave rule\",\n    \"data\": {\n        \"id\": \"c107da1e-829b-48b1-9858-d61c5ced71df\",\n        \"title\": \"deneme 1\",\n        \"description\": \"deneme 1\",\n        \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"955f9d26-0800-4197-bfb8-9c0b6ae99495"}],"id":"6139725e-8a5e-4d24-85a9-9f5d25dd8799","_postman_id":"6139725e-8a5e-4d24-85a9-9f5d25dd8799","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Leave Type","item":[{"name":"List","id":"258999f0-0042-4a4d-bb02-b5b34c5f81ec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/leave_types?page=1&q[client_id_eq]=3016&per_page=20&q[title_eq]=abc","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","leave_types"],"host":["https://api.passgage.com"],"query":[{"key":"page","value":"1"},{"key":"q[client_id_eq]","value":"3016"},{"key":"per_page","value":"20"},{"key":"q[title_eq]","value":"abc"}],"variable":[]}},"response":[{"id":"7b4aff1c-d865-46f7-be55-6223d0bdbdc4","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer psg_cmp_sZ2xQwuzYSUwN1SNtLXUqMWAcFKNEZ","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/leave_types?page=1&per_page=20","host":["https://api.passgage.com"],"path":["api","public","v1","leave_types"],"query":[{"key":"page","value":"1"},{"key":"q[title_eq]","value":"","type":"text","disabled":true},{"key":"per_page","value":"20"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"643a954e-5d1a-4321-a2d2-25cf164479fb"},{"key":"X-Runtime","value":"0.184822"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"5r011qwuzhinmqpak1r0,qsdj28ibpgct5asqib86,ed1092s7u590gfgm0oi4,hfuvs59h4fpeorjz5kvg,zssusi15l6j6y6yo1o5v,h9sm9za6lylq14l7juec,1cya6d3hlcfb6xwoithh,o31e5purcx4ke8uadod9,8c0650g92en2faqrdu9v,il5aphb0jeq5g4gsb1u2,28v1vvgemot75f42un60,1lkhtt18bjphaqbcopk7,s39d48y131zyyndpatw2,q2hmxu2roaigoenisg4m,34hfe2spu19uykflasn1"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"1571c755-5a99-42f2-8f81-daf08638c4ba\",\n            \"title\": \"Test izin\",\n            \"description\": \"asdasdsa\",\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"32b35824-b4b7-4bb5-9428-916a9e5ea8f9\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": 4,\n            \"leave_day\": 11,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-08-10T22:00:13.650+03:00\",\n            \"updated_at\": \"2023-08-10T22:00:13.650+03:00\",\n            \"is_annual_leave\": true,\n            \"is_annual_leave_reset\": true,\n            \"is_document_required\": false,\n            \"period_type\": \"by_the_new_year\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": \"man\",\n            \"is_negative_balance\": false,\n            \"limit_min\": 1,\n            \"is_working_saturday\": true,\n            \"is_add_week_break\": true,\n            \"is_include_friday\": true,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"32b35824-b4b7-4bb5-9428-916a9e5ea8f9\",\n                \"title\": \"Test\",\n                \"description\": \"12312312\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-08-10T21:58:47.505+03:00\",\n                \"updated_at\": \"2023-08-10T21:58:47.505+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"a00494b7-760a-4d52-86fc-09ef25c19a0a\",\n            \"title\": \"testEmre\",\n            \"description\": \"testEmretestEmretestEmre\",\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"32b35824-b4b7-4bb5-9428-916a9e5ea8f9\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": 6,\n            \"leave_day\": 21,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": true,\n            \"created_at\": \"2023-08-11T12:25:58.542+03:00\",\n            \"updated_at\": \"2023-08-11T12:25:58.542+03:00\",\n            \"is_annual_leave\": true,\n            \"is_annual_leave_reset\": true,\n            \"is_document_required\": true,\n            \"period_type\": \"monthly\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": \"man\",\n            \"is_negative_balance\": true,\n            \"limit_min\": 3,\n            \"is_working_saturday\": true,\n            \"is_add_week_break\": true,\n            \"is_include_friday\": true,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"32b35824-b4b7-4bb5-9428-916a9e5ea8f9\",\n                \"title\": \"Test\",\n                \"description\": \"12312312\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-08-10T21:58:47.505+03:00\",\n                \"updated_at\": \"2023-08-10T21:58:47.505+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"40a08a45-4e5a-4ef7-b7e9-35cfdbef6723\",\n            \"title\": \"asdasd\",\n            \"description\": \"asdasda\",\n            \"leave_type\": \"free\",\n            \"leave_rule_id\": \"32b35824-b4b7-4bb5-9428-916a9e5ea8f9\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": 11,\n            \"leave_day\": null,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-08-14T11:11:15.253+03:00\",\n            \"updated_at\": \"2023-08-14T11:11:15.253+03:00\",\n            \"is_annual_leave\": true,\n            \"is_annual_leave_reset\": true,\n            \"is_document_required\": false,\n            \"period_type\": \"yearly\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": \"man\",\n            \"is_negative_balance\": false,\n            \"limit_min\": 1,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"32b35824-b4b7-4bb5-9428-916a9e5ea8f9\",\n                \"title\": \"Test\",\n                \"description\": \"12312312\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-08-10T21:58:47.505+03:00\",\n                \"updated_at\": \"2023-08-10T21:58:47.505+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"6689d3d4-df32-4191-91a4-5e5d7a888583\",\n            \"title\": \"123123\",\n            \"description\": \"saasd\",\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"32b35824-b4b7-4bb5-9428-916a9e5ea8f9\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": null,\n            \"limit\": null,\n            \"leave_day\": null,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-08-14T18:55:15.492+03:00\",\n            \"updated_at\": \"2023-08-14T18:55:15.492+03:00\",\n            \"is_annual_leave\": true,\n            \"is_annual_leave_reset\": true,\n            \"is_document_required\": false,\n            \"period_type\": \"yearly\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": null,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"32b35824-b4b7-4bb5-9428-916a9e5ea8f9\",\n                \"title\": \"Test\",\n                \"description\": \"12312312\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-08-10T21:58:47.505+03:00\",\n                \"updated_at\": \"2023-08-10T21:58:47.505+03:00\"\n            },\n            \"leave_type_users\": [\n                {\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"leave_type_id\": \"6689d3d4-df32-4191-91a4-5e5d7a888583\",\n                    \"segmentation_type\": \"Department\",\n                    \"segmentation_id\": \"b44b7ba1-8875-493b-91eb-7e528f514a4f\",\n                    \"segmentation\": {\n                        \"id\": \"b44b7ba1-8875-493b-91eb-7e528f514a4f\",\n                        \"name\": \"Manav Alanı\",\n                        \"users_count\": 4,\n                        \"is_active\": true,\n                        \"client_id\": null,\n                        \"created_at\": \"2023-04-30T20:22:55.738+03:00\",\n                        \"updated_at\": \"2023-04-30T20:22:55.738+03:00\"\n                    },\n                    \"created_at\": \"2023-08-14T18:55:15.496+03:00\",\n                    \"updated_at\": \"2023-08-14T18:55:15.496+03:00\",\n                    \"segmentation_gid\": \"gid://andromeda/Department/b44b7ba1-8875-493b-91eb-7e528f514a4f\"\n                }\n            ],\n            \"leave_type_extra_days\": [\n                {\n                    \"leave_type_id\": \"6689d3d4-df32-4191-91a4-5e5d7a888583\",\n                    \"extra_type\": \"equal\",\n                    \"extra_days\": 4,\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"min\": 32,\n                    \"max\": 34,\n                    \"created_at\": \"2023-08-14T18:55:15.498+03:00\",\n                    \"updated_at\": \"2023-08-14T18:55:15.498+03:00\"\n                }\n            ],\n            \"leave_type_age_extra_days\": [\n                {\n                    \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                    \"leave_type_id\": \"6689d3d4-df32-4191-91a4-5e5d7a888583\",\n                    \"extra_type\": \"equal\",\n                    \"extra_days\": 3,\n                    \"min\": 21,\n                    \"max\": 25,\n                    \"created_at\": \"2023-08-14T18:55:15.502+03:00\",\n                    \"updated_at\": \"2023-08-14T18:55:15.502+03:00\"\n                }\n            ]\n        },\n        {\n            \"id\": \"785b22bd-b681-4187-91fe-838577f904c0\",\n            \"title\": \"asdassadas\",\n            \"description\": \"asdasd\",\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"32b35824-b4b7-4bb5-9428-916a9e5ea8f9\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": null,\n            \"limit\": null,\n            \"leave_day\": null,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-08-11T12:16:09.841+03:00\",\n            \"updated_at\": \"2023-08-11T12:16:09.841+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": true,\n            \"is_document_required\": false,\n            \"period_type\": \"yearly\",\n            \"one_day_working_hour\": null,\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": null,\n            \"is_working_saturday\": true,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"32b35824-b4b7-4bb5-9428-916a9e5ea8f9\",\n                \"title\": \"Test\",\n                \"description\": \"12312312\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-08-10T21:58:47.505+03:00\",\n                \"updated_at\": \"2023-08-10T21:58:47.505+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"1efae448-400d-4673-ad29-3d670df7a76d\",\n            \"title\": \"asd123\",\n            \"description\": \"\",\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": 14,\n            \"leave_day\": 14,\n            \"calculation_method\": null,\n            \"standby_time\": false,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-08-11T12:20:10.786+03:00\",\n            \"updated_at\": \"2023-08-11T12:20:10.786+03:00\",\n            \"is_annual_leave\": true,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"yearly\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": true,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"892734c2-18d8-48c2-86e6-24d1f2e5c1c0\",\n            \"title\": \"Babalık İzni\",\n            \"description\": \"\",\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": 5,\n            \"leave_day\": null,\n            \"calculation_method\": null,\n            \"standby_time\": false,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.231+03:00\",\n            \"updated_at\": \"2023-07-09T17:38:27.644+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"unlimited\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": true,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"334c233f-1001-4654-b274-63dfafb101c3\",\n            \"title\": \"Doğum İzin\",\n            \"description\": null,\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": 112,\n            \"leave_day\": 112,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.174+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.174+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"yearly\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"475d36aa-1889-40c3-a952-303f2755fe11\",\n            \"title\": \"Doğum Sonrası\",\n            \"description\": null,\n            \"leave_type\": \"free\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": null,\n            \"leave_day\": 180,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.186+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.186+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"yearly\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"ad31633a-4e18-46be-8a02-2780a2b8e9fc\",\n            \"title\": \"Evlilik İzni\",\n            \"description\": null,\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": null,\n            \"leave_day\": 3,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.194+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.194+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"yearly\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"68d8a231-5ab2-41b7-bfa7-7a3e33e1c252\",\n            \"title\": \"Hastalık İzni\",\n            \"description\": null,\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": null,\n            \"leave_day\": 40,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.203+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.203+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"yearly\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"b6043b70-3e88-4298-a861-be5448fb6848\",\n            \"title\": \"İş Arama İzni\",\n            \"description\": null,\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": null,\n            \"leave_day\": null,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.217+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.217+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"unlimited\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"2a80c0a7-1cf7-4cbf-937e-8599f3cd0ce8\",\n            \"title\": \"Süt İzni\",\n            \"description\": null,\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": null,\n            \"leave_day\": null,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.244+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.244+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"unlimited\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"12b3ef1c-e2c2-4693-a303-51a0c018f548\",\n            \"title\": \"Ücretsiz İzni\",\n            \"description\": null,\n            \"leave_type\": \"free\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": null,\n            \"leave_day\": null,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.251+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.251+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"unlimited\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"262bd9ab-76c1-46db-9165-b96a0815b24a\",\n            \"title\": \"Vefat İzni\",\n            \"description\": null,\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": 3,\n            \"leave_day\": null,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.262+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.262+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"unlimited\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"accf8532-d96f-41bf-845b-604856f5e752\",\n            \"title\": \"Askerlik İzni\",\n            \"description\": null,\n            \"leave_type\": \"free\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": 21,\n            \"leave_day\": 21,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.270+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.270+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"unlimited\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"8714e405-6a86-4865-98df-76ce83beba76\",\n            \"title\": \"Yol İzni\",\n            \"description\": null,\n            \"leave_type\": \"free\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": null,\n            \"leave_day\": null,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.287+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.287+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"unlimited\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"fc54cc2b-895f-431c-80a3-602a426729c8\",\n            \"title\": \"Taşınma İzni\",\n            \"description\": null,\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": null,\n            \"leave_day\": null,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.296+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.296+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"unlimited\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"f14512cf-90da-4e4b-bc29-caf69d12c138\",\n            \"title\": \"Eğitim İzni\",\n            \"description\": null,\n            \"leave_type\": \"free\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": null,\n            \"leave_day\": null,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.304+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.304+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"unlimited\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        },\n        {\n            \"id\": \"e5da41ad-d239-4e88-b1dd-7e7d2ca1316d\",\n            \"title\": \"Denkleştirme İzni\",\n            \"description\": null,\n            \"leave_type\": \"paid\",\n            \"leave_rule_id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n            \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n            \"is_active\": true,\n            \"limit\": null,\n            \"leave_day\": null,\n            \"calculation_method\": null,\n            \"standby_time\": null,\n            \"standby_time_days\": null,\n            \"is_request_hourly\": false,\n            \"created_at\": \"2023-07-09T14:10:45.312+03:00\",\n            \"updated_at\": \"2023-07-09T14:10:45.312+03:00\",\n            \"is_annual_leave\": false,\n            \"is_annual_leave_reset\": false,\n            \"is_document_required\": false,\n            \"period_type\": \"unlimited\",\n            \"one_day_working_hour\": \"8.0\",\n            \"gender_type\": null,\n            \"is_negative_balance\": false,\n            \"limit_min\": 0,\n            \"is_working_saturday\": false,\n            \"is_add_week_break\": false,\n            \"is_include_friday\": false,\n            \"client_id\": null,\n            \"leave_rule\": {\n                \"id\": \"199f5508-6786-4819-9fa7-a2bc457b4bdc\",\n                \"title\": \"Türk Iş Kanunu\",\n                \"description\": \"\",\n                \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n                \"created_at\": \"2023-07-05T16:34:44.075+03:00\",\n                \"updated_at\": \"2023-07-13T14:18:54.401+03:00\"\n            },\n            \"leave_type_users\": [],\n            \"leave_type_extra_days\": [],\n            \"leave_type_age_extra_days\": []\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 2,\n        \"total_count\": 25\n    }\n}"}],"_postman_id":"258999f0-0042-4a4d-bb02-b5b34c5f81ec"}],"id":"5760120f-2d0b-481e-978f-35dd5c5f99e4","description":"<h4 id=\"genel-bakış\">Genel Bakış</h4>\n<p><code>LeaveType</code> api, izin türlerini tanımlar ve yönetir. Bu api, izin türlerinin özelliklerini, kısıtlamalarını ve özel kurallarını barındırır. İzin türlerinin her biri, belirli izin süreçlerine uygulanan özel koşulları tanımlar.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>İzin türleri, izinlerin hesaplanma yöntemini, izin gün sayısını, izin türüne özel kuralları ve izin süreçlerini içerir.</p>\n</li>\n<li><p>İzin türleri, şirket politikalarına ve çalışma koşullarına uygun şekilde özelleştirilebilir.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><p><code>title</code>, <code>period_type</code>: İzin türü başlığı ve periyot türü gibi temel bilgiler her izin türü için zorunludur.</p>\n</li>\n<li><p><code>leave_rule_id</code>: Her izin türü, bir şirkete ve izin kuralına bağlı olmalıdır.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li><p>İzin türleri, belirli bir cinsiyete veya çalışma şartına göre sınırlı olabilir. Örneğin, sadece kadın çalışanlar için izin türleri veya cumartesi günleri çalışanlar için özel izin türleri ayarlanabilir.</p>\n</li>\n<li><p>İzin türleri, belge gerektirme, onay süreçlerinden muaf tutma gibi özelliklere sahip olabilir.</p>\n</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>İzin Türü Oluşturma</strong></td>\n<td>Yeni izin türü kaydı</td>\n<td><code>title</code>, <code>leave_rule_id</code></td>\n</tr>\n<tr>\n<td><strong>İzin Türü Güncelleme</strong></td>\n<td>Mevcut izin türü bilgilerini güncelleme</td>\n<td>İzin türü detayları, kısıtlamalar güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>İzin Türü Silme</strong></td>\n<td>İzin türünü sistemden kaldırma</td>\n<td>İlgili izin türü ve bağlı izinler kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni İzin Türü Kaydı</strong>: İnsan kaynakları yöneticileri veya sistem yöneticileri, şirket politika ve ihtiyaçlarına uygun yeni izin türleri oluşturabilir. Bu izin türleri, çalışanların kullanabileceği izinlerin çeşitliliğini ve esnekliğini artırır.</p>\n</li>\n<li><p><strong>İzin Türü Onay ve Red Koşulları</strong>: İzin türleri, otomatik onay veya belirli onay akışları gerektirebilir. Ayrıca, belirli izin türleri için belge yüklenmesi zorunlu kılınabilir.</p>\n</li>\n<li><p><strong>İzin Türü Özelleştirmeleri</strong>: İzin türleri, yıl içinde sıfırlanabilir, saatlik izin taleplerine izin verebilir veya yalnızca belirli cinsiyetlere özel olabilir. Bu tür özelleştirmeler, organizasyonun ihtiyaçlarına göre düzenlenebilir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><p><strong>Çalışma Saatleri ve İzin Hesaplama</strong>: İzin süreleri, tanımlanan çalışma saatleri üzerinden hesaplanabilir. İzin türüne göre, bir tam gün izin için gereken saat sayısı ayarlanabilir.</p>\n</li>\n<li><p><strong>Cinsiyet ve Diğer Demografik Koşullar</strong>: İzin türleri, yalnızca belirli demografik özelliklere sahip çalışanlar için geçerli olabilir. Bu, özellikle sağlık veya aile izinleri gibi durumlar için uygulanabilir.</p>\n</li>\n</ul>\n","_postman_id":"5760120f-2d0b-481e-978f-35dd5c5f99e4","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Night Works","item":[{"name":"List","id":"04ad20de-56f2-4c1e-9516-433929709524","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/night_works?page=1&per_page=20","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","night_works"],"host":["https://api.passgage.com"],"query":[{"key":"page","value":"1"},{"disabled":true,"key":"q[title_eq]","value":""},{"key":"per_page","value":"20"}],"variable":[]}},"response":[{"id":"07d92af6-88fa-42bd-840f-a41a1932042f","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/night_works?page=1&per_page=20","host":["https://api.passgage.com"],"path":["api","public","v1","night_works"],"query":[{"key":"page","value":"1"},{"key":"q[title_eq]","value":"","type":"text","disabled":true},{"key":"per_page","value":"20"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"3cac4b06-007b-4a28-8fa9-f98cdca4315f"},{"key":"X-Runtime","value":"0.168733"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"fv1g4kaolv951l6icgsm,af3bsczaqo8jyachfysd"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"9f86c39b-e40d-4fd7-a0c1-6c396a5e80b5\",\n            \"shift_id\": \"9c224e69-6236-48f3-8785\",\n            \"minutes\": 240,\n            \"work_type\": \"extra_time\"\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 1,\n        \"total_count\": 1\n    }\n}"}],"_postman_id":"04ad20de-56f2-4c1e-9516-433929709524"},{"name":"Update","id":"7ef19795-0f44-4e8b-8fb5-094b9fd1a147","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"night_work\": {\n            \"end_time\": \"14:00\",\n            \"start_time\": \"12:00\",\n            \"work_type\": \"extra_time\",\n            \"shift_id\": \"9c224e69-6236-48f3-8785-a47814766bc6\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/night_works/:id","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n<th>Örnek Kullanım</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>end_time</td>\n<td>String</td>\n<td>Bitiş Saati</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>start_time</td>\n<td>String</td>\n<td>Başlama Saati</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>work_type</td>\n<td>String</td>\n<td>Çalışma Tipi</td>\n<td>Evet</td>\n<td>night_work,  <br />extra_time</td>\n<td>\"night_work\"</td>\n</tr>\n<tr>\n<td>shift_id</td>\n<td>String</td>\n<td>Benzersiz Vardiya ID'si</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","night_works",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>night work id</p>\n","type":"text/plain"},"type":"any","value":"2d91d2cf-77ab-472b-a6f4-b009f52a6917","key":"id"}]}},"response":[{"id":"37477678-61c4-4b60-8e99-4d0f62404c22","name":"200","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"night_work\": {\n            \"end_time\": \"14:00\",\n            \"start_time\": \"12:00\",\n            \"work_type\": \"extra_time\",\n            \"shift_id\": \"9c224e69-6236-48f3-8785-a47814766bc6\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/night_works/:id","host":["https://api.passgage.com"],"path":["api","public","v1","night_works",":id"],"variable":[{"key":"id","value":"2d91d2cf-77ab-472b-a6f4-b009f52a6917","description":"night work id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"473225e4-bdf2-4387-9adc-efddfb7a7bc1"},{"key":"X-Runtime","value":"0.191029"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"de41ji00rksj38e3xvtt,bur2bhqtm97n4rre35i3,1nxwb66vbka9tojk9mns,c64q88yll5gspvyw44xn"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully updated the night work\",\n    \"data\": {\n        \"id\": \"2d91d2cf-77ab-472b-a6f4-b009f52a6917\",\n        \"shift_id\": \"9c224e69-6236-48f3-8785\",\n        \"minutes\": 120,\n        \"work_type\": \"extra_time\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"7ef19795-0f44-4e8b-8fb5-094b9fd1a147"},{"name":"Create","id":"d8ab39cc-e391-41a2-9dfa-3af059a57435","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"night_work\": {\n            \"end_time\": \"14:00\",\n            \"start_time\": \"12:00\",\n            \"work_type\": 0,\n            \"shift_id\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/night_works","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n<th>Örnek Kullanım</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>end_time</td>\n<td>String</td>\n<td>Bitiş Saati</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>start_time</td>\n<td>String</td>\n<td>Başlama Saati</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>work_type</td>\n<td>String</td>\n<td>Çalışma Tipi</td>\n<td>Evet</td>\n<td>night_work,  <br />extra_time</td>\n<td>\"night_work\"</td>\n</tr>\n<tr>\n<td>shift_id</td>\n<td>String</td>\n<td>Benzersiz Vardiya ID'si</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","night_works"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"key":"q[title_eq]","value":""}],"variable":[]}},"response":[{"id":"1d712674-7720-4877-ad71-3992247b76da","name":"201","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"night_work\": {\n            \"end_time\": \"14:00\",\n            \"start_time\": \"12:00\",\n            \"work_type\": 0,\n            \"shift_id\": \"9c224e69-6236-48f3-8785\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/night_works"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"44eb0661-3072-41be-b51c-8e5bae56767f"},{"key":"X-Runtime","value":"0.079796"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"j9n38n1wlfq7qb32w6e6,odii6tssipfglevk7pst,obdoik6uoflfp43ucoha,d81ckb6t1osqcz8yx524"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Successfully created the night work\",\n    \"data\": {\n        \"id\": \"c0043790-c7ca-4ea0-9b18-46305b0a0af5\",\n        \"shift_id\": \"9c224e69-6236-48f3-8785\",\n        \"minutes\": 120,\n        \"work_type\": \"night_work\"\n    },\n    \"meta\": {}\n}"},{"id":"f7a652bc-e825-4a78-a5be-be58ae7ee830","name":"422","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"night_work\": {\n            \"end_time\": \"14:00\",\n            \"start_time\": \"12:00\",\n            \"work_type\": 0,\n            \"shift_id\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/night_works","host":["https://api.passgage.com"],"path":["api","public","v1","night_works"],"query":[{"key":"q[title_eq]","value":"","type":"text","disabled":true}]}},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"593fa9ff-beb4-46d9-8487-f3406754b208"},{"key":"X-Runtime","value":"0.286245"},{"key":"Vary","value":"Origin"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 422,\n    \"message\": \"Night work could not be created\",\n    \"errors\": [\n        {\n            \"field_name\": \"shift\",\n            \"messages\": [\n                \"Shift doldurulmalı\"\n            ]\n        }\n    ]\n}"}],"_postman_id":"d8ab39cc-e391-41a2-9dfa-3af059a57435"},{"name":"Show","id":"0d0892c8-ff46-49a1-bc5e-581fc9783292","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/night_works/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","night_works",":id"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"key":"q[title_eq]","value":""}],"variable":[{"description":{"content":"<p>Night Work id</p>\n","type":"text/plain"},"type":"any","value":"9f86c39b-e40d-4fd7-a0c1-6c396a5e80b5","key":"id"}]}},"response":[{"id":"83a24b20-6d3c-4603-b713-7dbd88aa4e98","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/night_works/:id","host":["https://api.passgage.com"],"path":["api","public","v1","night_works",":id"],"query":[{"key":"q[title_eq]","value":"","type":"text","disabled":true}],"variable":[{"key":"id","value":"9f86c39b-e40d-4fd7-a0c1-6c396a5e80b5","description":"Night Work id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"8e817ac2-bcdf-4e69-9a42-4db20ec01c88"},{"key":"X-Runtime","value":"0.119456"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"hobgezlwahmdlw9hq5as,af3bsczaqo8jyachfysd,fv1g4kaolv951l6icgsm"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"9f86c39b-e40d-4fd7-a0c1-6c396a5e80b5\",\n        \"shift_id\": \"9c224e69-6236-48f3-8785-a47814766bc6\",\n        \"minutes\": 240,\n        \"work_type\": \"extra_time\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"0d0892c8-ff46-49a1-bc5e-581fc9783292"},{"name":"Delete","id":"6e6e72d2-6e84-4d4c-931c-d2fabee5593f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/night_works/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","night_works",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Night Work id</p>\n","type":"text/plain"},"type":"any","value":"9f86c39b-e40d-4fd7-a0c1-6c396a5e80b5","key":"id"}]}},"response":[{"id":"23470603-4375-4588-8656-cc327639e52c","name":"404","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/night_works/:id","host":["https://api.passgage.com"],"path":["api","public","v1","night_works",":id"],"query":[{"key":"q[title_eq]","value":"","type":"text","disabled":true}],"variable":[{"key":"id","value":"f5c8f352-debf-45e2-ae56-d14c8bbd5478","description":"Night Work id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"e744523f-5586-4f47-81e8-fe9a3300c4dc"},{"key":"X-Runtime","value":"1.463500"},{"key":"Vary","value":"Origin"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 404,\n    \"message\": \"NightWork Bulunamadı\",\n    \"errors\": []\n}"},{"id":"41ed3f37-f383-4cdd-9d38-c227fa342b58","name":"200","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/night_works/:id","host":["https://api.passgage.com"],"path":["api","public","v1","night_works",":id"],"variable":[{"key":"id","value":"9f86c39b-e40d-4fd7-a0c1-6c396a5e80b5","description":"Night Work id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"9fec8981-3c64-42b6-93f8-270595e8f2ea"},{"key":"X-Runtime","value":"0.109777"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"bfxssaud6wqjocfudqm5,af3bsczaqo8jyachfysd,fv1g4kaolv951l6icgsm,hobgezlwahmdlw9hq5as,ijunxnn3ae4w7wh3ggpt"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully deleted the night work\",\n    \"data\": {\n        \"id\": \"9f86c39b-e40d-4fd7-a0c1-6c396a5e80b5\",\n        \"shift_id\": \"9c224e69-6236-48f3-8785\",\n        \"minutes\": 240,\n        \"work_type\": \"extra_time\"\n    },\n    \"meta\": {}\n}"}],"_postman_id":"6e6e72d2-6e84-4d4c-931c-d2fabee5593f"}],"id":"938f1a24-f117-40f7-9500-c8b13ded1311","_postman_id":"938f1a24-f117-40f7-9500-c8b13ded1311","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Organization Units","item":[{"name":"list","id":"1f226a0b-d8e5-4d19-b85d-b58637e59cf7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/organization_units","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","organization_units"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"170ecd71-b8c8-43fd-8a81-0af35fd0d7fe","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/organization_units"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"6543c606-ac2a-4d8c-a437-7255131fd1b5"},{"key":"X-Runtime","value":"1.209392"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"ndsica4ft5osxj3e3nnq,bkf8mb009l5stjv2b14a"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"eab5b220-6645-4f82-ac30-b48473b5fb53\",\n            \"name\": \"New ou 2\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2024-05-18T13:37:38.735+03:00\",\n            \"updated_at\": \"2024-05-18T13:37:38.735+03:00\"\n        },\n        {\n            \"id\": \"5113119a-a011-4de7-9035-3dc428767f5d\",\n            \"name\": \"New ou 1\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2024-05-18T13:29:29.816+03:00\",\n            \"updated_at\": \"2024-05-18T13:29:29.816+03:00\"\n        },\n        {\n            \"id\": \"5ab17627-c879-4cec-8523-90ca6d37bce6\",\n            \"name\": \"Test\",\n            \"description\": \"\",\n            \"is_active\": true,\n            \"created_at\": \"2023-04-13T16:39:14.922+03:00\",\n            \"updated_at\": \"2023-04-13T16:39:14.922+03:00\"\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 1,\n        \"total_count\": 3\n    }\n}"}],"_postman_id":"1f226a0b-d8e5-4d19-b85d-b58637e59cf7"},{"name":"show","id":"2e2e9d27-c549-4244-9065-a6db1deff72f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/organization_units/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","organization_units",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"eab5b220-6645-4f82-ac30-b48473b5fb5","key":"id"}]}},"response":[{"id":"f9a37729-cec0-45d4-ad25-267ff3096d0a","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":{"raw":"https://api.passgage.com/api/public/v1/organization_units/:id","host":["https://api.passgage.com"],"path":["api","public","v1","organization_units",":id"],"variable":[{"key":"id","value":"eab5b220-6645-4f82-ac30-b48473b5fb53"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"9154bc31-9cb0-421b-beb4-e6cb10916efe"},{"key":"X-Runtime","value":"0.922777"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"nb58tmlg25v19ap0q2au,bkf8mb009l5stjv2b14a,ndsica4ft5osxj3e3nnq,r7zd463yg0dffnggvp7b,6f7xphuham9dosm1r6up,opnouqrpnwpj4lptm207,wh4wac45helysjymj6cu,he59akbay7lubc7hqwgo"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"eab5b220-6645-4f82-ac30-b48473b5fb53\",\n        \"name\": \"New ou 2\",\n        \"description\": null,\n        \"is_active\": null,\n        \"created_at\": \"2024-05-18T13:37:38.735+03:00\",\n        \"updated_at\": \"2024-05-18T13:37:38.735+03:00\"\n    },\n    \"meta\": {}\n}"},{"id":"a354786e-2c2f-4b08-938d-7b5e8e39a92f","name":"404","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":{"raw":"https://api.passgage.com/api/public/v1/organization_units/:id","host":["https://api.passgage.com"],"path":["api","public","v1","organization_units",":id"],"variable":[{"key":"id","value":"eab5b220-6645-4f82-ac30-b48473b5fb5"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"05a76896-723d-4268-9c8f-db5c5adfa2ed"},{"key":"X-Runtime","value":"0.059896"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 404,\n    \"message\": \"%{resource} Bulunamadı\",\n    \"errors\": []\n}"}],"_postman_id":"2e2e9d27-c549-4244-9065-a6db1deff72f"}],"id":"035d256b-7b68-4758-a5c9-8dacca842390","description":"<p><code>OrganizationUnit</code> api, bir şirketin organizasyonel birimlerini temsil eder. Bu api, organizasyonel birimlerin adını, açıklamasını ve aktiflik durumunu içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Her organizasyonel birim, bir isim ve açıklama gibi temel bilgileri barındırır.</p>\n</li>\n<li><p>Organizasyonel birimler, şirketin iç yapılanmasını ve iş bölümlerini tanımlar.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><code>name</code>: Organizasyonel birim adı zorunludur ve her birim için benzersiz olmalıdır.</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li>Organizasyonel birimlerin aktiflik durumu (<code>is_active</code>), birimin şirket içindeki operasyonel durumunu gösterir. İnaktif birimler operasyonel değildir.</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Organizasyonel Birim Oluşturma</strong></td>\n<td>Yeni birim kaydı</td>\n<td><code>name</code></td>\n</tr>\n<tr>\n<td><strong>Organizasyonel Birim Güncelleme</strong></td>\n<td>Mevcut birim bilgilerini güncelleme</td>\n<td>Birim detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Organizasyonel Birim Silme</strong></td>\n<td>Birim kaydını sistemden kaldırma</td>\n<td>İlgili birim kaydı kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Organizasyonel Birim Kaydı</strong>: Şirket yapılanmasında yeni bir departman veya bölüm oluşturulduğunda bu model kullanılarak sistemde yeni bir organizasyonel birim kaydı oluşturulur.</p>\n</li>\n<li><p><strong>Birim Bilgilerinin Güncellenmesi</strong>: Birim adı veya açıklaması gibi bilgiler zamanla güncellenebilir. Bu işlemler, birimin güncel durumu ve şirket içindeki konumunu yansıtacak şekilde yapılabilir.</p>\n</li>\n<li><p><strong>Birim Silme ve Yeniden Yapılandırma</strong>: İş gereksinimleri değiştiğinde organizasyonel birimler yeniden yapılandırılabilir veya sistemden silinebilir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><strong>Aktiflik Durumu</strong>: Organizasyonel birimlerin aktiflik durumu, birimin şirket içindeki faaliyetlerine katılıp katılmadığını belirler. İnaktif birimler, geçici olarak operasyonel olmayabilir.</li>\n</ul>\n","_postman_id":"035d256b-7b68-4758-a5c9-8dacca842390","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Shifts","item":[{"name":"list","id":"822998a3-ee2e-47f3-bd24-a5aa953abe0c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/shifts","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","shifts"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"0d10436d-1a79-44a5-8cea-8bf80a99cb4b","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/shifts?per_page=1&page=1","host":["https://api.passgage.com"],"path":["api","public","v1","shifts"],"query":[{"key":"per_page","value":"1","type":"text"},{"key":"page","value":"1","type":"text"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"a9a94caa-f57f-46a4-ac28-3f4a3ae7b1ff"},{"key":"X-Runtime","value":"0.969656"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"47vuf7793tbze3ymrr8v,ota56i6zld6v0yu7zm1n,a5rvg1inoh8z3u9lsy1w,r6urokqa0q4co8ru922t,3b1dnv4fcfust3rpukuo,e5h48pn93mh2pq0ecpon,ccy0dbjuh18j2u5rupc6,s8otku2e0qf3ks6iihlo,spdl4y74d2n5i9pcumhm,sd3uokteijp7ilpz4ave,jhct1fpofawp3fmbv3oz,mp6bulfiobdlglhkyiz5"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"created_at\": \"2024-08-20T10:22:13.801+03:00\",\n            \"updated_at\": \"2024-08-20T10:22:13.801+03:00\",\n            \"name\": \"Test\",\n            \"is_active\": true,\n            \"slacks\": [\n                {\n                    \"id\": \"b06ad886-e461-4077-9b16-0b4a9db18c72\",\n                    \"title\": \"Test Time Duration Updated\",\n                    \"description\": \"\",\n                    \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n                    \"starting_time\": \"15:00\",\n                    \"end_time\": \"11:00\",\n                    \"is_active\": false,\n                    \"slack_type\": \"time_range\",\n                    \"duration\": 200\n                },\n                {\n                    \"id\": \"6115f6b6-24d8-4f03-aec3-f05c5d7c1b5c\",\n                    \"title\": \"Test Time Duration\",\n                    \"description\": \"\",\n                    \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n                    \"starting_time\": \"15:00\",\n                    \"end_time\": \"12:00\",\n                    \"is_active\": false,\n                    \"slack_type\": \"time_range\",\n                    \"duration\": null\n                }\n            ],\n            \"night_works\": []\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 245,\n        \"total_count\": 245\n    }\n}"}],"_postman_id":"822998a3-ee2e-47f3-bd24-a5aa953abe0c"},{"name":"Extra Work Types","id":"ec7bf6ef-c7d2-4688-b16d-d295cd70899b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/shifts/extra_work_types","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","shifts","extra_work_types"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"8f37fffb-1063-44e4-9aa8-1fd2701581b7","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/shifts?per_page=1&page=1","host":["https://api.passgage.com"],"path":["api","public","v1","shifts"],"query":[{"key":"per_page","value":"1","type":"text"},{"key":"page","value":"1","type":"text"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"a9a94caa-f57f-46a4-ac28-3f4a3ae7b1ff"},{"key":"X-Runtime","value":"0.969656"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"47vuf7793tbze3ymrr8v,ota56i6zld6v0yu7zm1n,a5rvg1inoh8z3u9lsy1w,r6urokqa0q4co8ru922t,3b1dnv4fcfust3rpukuo,e5h48pn93mh2pq0ecpon,ccy0dbjuh18j2u5rupc6,s8otku2e0qf3ks6iihlo,spdl4y74d2n5i9pcumhm,sd3uokteijp7ilpz4ave,jhct1fpofawp3fmbv3oz,mp6bulfiobdlglhkyiz5"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"created_at\": \"2024-08-20T10:22:13.801+03:00\",\n            \"updated_at\": \"2024-08-20T10:22:13.801+03:00\",\n            \"name\": \"Test\",\n            \"is_active\": true,\n            \"slacks\": [\n                {\n                    \"id\": \"b06ad886-e461-4077-9b16-0b4a9db18c72\",\n                    \"title\": \"Test Time Duration Updated\",\n                    \"description\": \"\",\n                    \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n                    \"starting_time\": \"15:00\",\n                    \"end_time\": \"11:00\",\n                    \"is_active\": false,\n                    \"slack_type\": \"time_range\",\n                    \"duration\": 200\n                },\n                {\n                    \"id\": \"6115f6b6-24d8-4f03-aec3-f05c5d7c1b5c\",\n                    \"title\": \"Test Time Duration\",\n                    \"description\": \"\",\n                    \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n                    \"starting_time\": \"15:00\",\n                    \"end_time\": \"12:00\",\n                    \"is_active\": false,\n                    \"slack_type\": \"time_range\",\n                    \"duration\": null\n                }\n            ],\n            \"night_works\": []\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 245,\n        \"total_count\": 245\n    }\n}"}],"_postman_id":"ec7bf6ef-c7d2-4688-b16d-d295cd70899b"},{"name":"show","id":"8dfb6285-8460-4b83-a274-0cc8c1ea99b6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/shifts/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","shifts",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"8720e0e7-6184-4665-a147-cb71805fe580","key":"id"}]}},"response":[{"id":"693ff2e4-4d0e-4097-9720-060e2dda1067","name":"404","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:id","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":id"],"variable":[{"key":"id","value":"8720e0e7-6184-4665-a147-cb71805fe580"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"6ea9cfac-9181-43be-b3dd-359b0d7a13ab"},{"key":"X-Runtime","value":"2.197703"},{"key":"Vary","value":"Origin"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 404,\n    \"message\": \"%{resource} Bulunamadı\",\n    \"errors\": []\n}"},{"id":"a757f30e-fafe-45b1-9459-fe634e89f00c","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:id","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":id"],"variable":[{"key":"id","value":"8720e0e7-6184-4665-a147-cb71805fe580"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"83d9d6c6-2229-4175-8986-9497e233ae7f"},{"key":"X-Runtime","value":"1.453511"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"oobmuvk0whqbdox5qzg5,ota56i6zld6v0yu7zm1n,a5rvg1inoh8z3u9lsy1w,r6urokqa0q4co8ru922t,3b1dnv4fcfust3rpukuo,e5h48pn93mh2pq0ecpon,ccy0dbjuh18j2u5rupc6,s8otku2e0qf3ks6iihlo,spdl4y74d2n5i9pcumhm,sd3uokteijp7ilpz4ave,jhct1fpofawp3fmbv3oz,mp6bulfiobdlglhkyiz5,47vuf7793tbze3ymrr8v,d302nze9cwq15a7xl9mg,kxzunrykhc6e1hnmcaxu,c4ia8ontt2mn5k9allez,9os351qkj3jlmlzckm6p"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n        \"created_at\": \"2024-08-20T10:22:13.801+03:00\",\n        \"updated_at\": \"2024-08-20T10:22:13.801+03:00\",\n        \"name\": \"Test\",\n        \"is_active\": true,\n        \"slacks\": [\n            {\n                \"id\": \"b06ad886-e461-4077-9b16-0b4a9db18c72\",\n                \"title\": \"Test Time Duration Updated\",\n                \"description\": \"\",\n                \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n                \"starting_time\": \"15:00\",\n                \"end_time\": \"11:00\",\n                \"is_active\": false,\n                \"slack_type\": \"time_range\",\n                \"duration\": 200\n            },\n            {\n                \"id\": \"6115f6b6-24d8-4f03-aec3-f05c5d7c1b5c\",\n                \"title\": \"Test Time Duration\",\n                \"description\": \"\",\n                \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n                \"starting_time\": \"15:00\",\n                \"end_time\": \"12:00\",\n                \"is_active\": false,\n                \"slack_type\": \"time_range\",\n                \"duration\": null\n            }\n        ],\n        \"night_works\": []\n    },\n    \"meta\": {}\n}"}],"_postman_id":"8dfb6285-8460-4b83-a274-0cc8c1ea99b6"},{"name":"create","id":"20de590d-3bfa-42cc-9e84-163d02550235","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"shift\": {\n        \"name\": \"Deneme 5\",\n        \"shift_type\": \"still\",\n        \"check_in_time\": \"10:00\",\n        \"check_out_time\": \"10:01\",\n        \"is_active\": true,\n        \"is_holiday\": true,\n        \"is_shop_opening\": true,\n        \"is_shop_closing\": true,\n        \"late_check_in\": 10,\n        \"color_code\": \"#FF22FF\",\n        \"code\": \"deneme\",\n        \"late_check_out\": 10,\n        \"early_check_in\": 10,\n        \"early_check_out\": 10,\n        \"extra_work_type_id\": null,\n        \"holiday_extra_work_type_id\": null\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/shifts","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n<th>Örnek Kullanım</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>String</td>\n<td>Bitiş Saati</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>description</td>\n<td>String</td>\n<td>Başlama Saati</td>\n<td>Hayır</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>starting_time</td>\n<td>String</td>\n<td>Başlama Saati</td>\n<td>Evet</td>\n<td></td>\n<td>\"12:00\"</td>\n</tr>\n<tr>\n<td>end_time</td>\n<td>String</td>\n<td>Bitiş Saati</td>\n<td>Evet</td>\n<td></td>\n<td>\"15:00\"</td>\n</tr>\n<tr>\n<td>is_active</td>\n<td>Boolean</td>\n<td>Aktiflik</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>slack_type</td>\n<td>String</td>\n<td>Mola Türü</td>\n<td>Evet</td>\n<td>time_range,  <br />time_duration</td>\n<td>\"time_duration\"</td>\n</tr>\n<tr>\n<td>duration</td>\n<td>Integer</td>\n<td>Süre</td>\n<td>Evet</td>\n<td></td>\n<td>120</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>slack_type</strong> değerine göre duration, starting_time ve end_time kullanımı değişmektedir. Bu durum örneklerine bakmak için <a href=\"https://apidocs.passgage.com/#8c112ec9-e521-4730-85ea-722425ba65b4\">tıklayınız</a>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","shifts"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"07f03098-0111-434d-a96c-7d8946eb34a9","name":"422","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"shift\": {\n        \"name\": \"Deneme 3\",\n        \"shift_type\": \"still\",\n        \"check_in_time\": \"10:00\",\n        \"check_out_time\": \"10:01\",\n        \"is_active\": true,\n        \"is_holiday\": true,\n        \"is_shop_opening\": true,\n        \"is_shop_closing\": true,\n        \"late_check_in\": 10,\n        \"color_code\": \"#FF22FF\",\n        \"code\": \"deneme\",\n        \"late_check_out\": 10,\n        \"early_check_in\": 10,\n        \"early_check_out\": 10,\n        \"extra_work_type_id\": null,\n        \"holiday_extra_work_type_id\": null\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/shifts"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"76ce2113-e7e3-4d4c-bb1f-a45937310df0"},{"key":"X-Runtime","value":"0.868796"},{"key":"Vary","value":"Origin"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 422,\n    \"message\": \"Unprocessable entity\",\n    \"errors\": [\n        {\n            \"field_name\": \"name\",\n            \"messages\": [\n                \"Vardiya Adı Vardiya ismi kullanımda\"\n            ]\n        }\n    ]\n}"},{"id":"b66409be-8bd2-42a8-a92a-f4805b2f86b9","name":"201","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"shift\": {\n        \"name\": \"Deneme 4\",\n        \"shift_type\": \"still\",\n        \"check_in_time\": \"10:00\",\n        \"check_out_time\": \"10:01\",\n        \"is_active\": true,\n        \"is_holiday\": true,\n        \"is_shop_opening\": true,\n        \"is_shop_closing\": true,\n        \"late_check_in\": 10,\n        \"color_code\": \"#FF22FF\",\n        \"code\": \"deneme\",\n        \"late_check_out\": 10,\n        \"early_check_in\": 10,\n        \"early_check_out\": 10,\n        \"extra_work_type_id\": null,\n        \"holiday_extra_work_type_id\": null\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/shifts"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"c6507d45-6a4f-4d2c-bf5d-73c9b84c5a2a"},{"key":"X-Runtime","value":"0.154110"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"ulxx1ukqksp9tqw9em8f,m1e0xdzm2tzxnynv2gas,tsb3ou6vg643s3rzy13t,pkcecfvo36laqzawqzjd,lajtty9obsmmx6l2neeo,hr4wbbj4sybws42h9ke6,zstucet42b7lx3pxxue3,5xddvozo8rvioejoo68n,22nleodbwnqx8a5d9jpn"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Shift başarıyla oluşturuldu\",\n    \"data\": {\n        \"id\": \"50e01bac-e70f-4eba-b161-bc6eaf503be9\",\n        \"created_at\": \"2024-08-20T16:58:59.170+03:00\",\n        \"updated_at\": \"2024-08-20T16:58:59.170+03:00\",\n        \"name\": \"Deneme 4\",\n        \"is_active\": true,\n        \"slacks\": [],\n        \"night_works\": []\n    },\n    \"meta\": {}\n}"}],"_postman_id":"20de590d-3bfa-42cc-9e84-163d02550235"},{"name":"update","id":"d8fd659b-7669-4d3c-bae5-6255ae10ba64","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"shift\": {\n        \"name\": \"Deneme 5 Updated\",\n        \"shift_type\": \"still\",\n        \"check_in_time\": \"10:00\",\n        \"check_out_time\": \"10:01\",\n        \"is_active\": true,\n        \"is_holiday\": true,\n        \"is_shop_opening\": true,\n        \"is_shop_closing\": true,\n        \"late_check_in\": 10,\n        \"color_code\": \"#FF22FF\",\n        \"code\": \"deneme\",\n        \"late_check_out\": 10,\n        \"early_check_in\": 10,\n        \"early_check_out\": 10,\n        \"extra_work_type_id\": null,\n        \"holiday_extra_work_type_id\": null\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/shifts/:id","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n<th>Örnek Kullanım</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>String</td>\n<td>Bitiş Saati</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>description</td>\n<td>String</td>\n<td>Başlama Saati</td>\n<td>Hayır</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>starting_time</td>\n<td>String</td>\n<td>Başlama Saati</td>\n<td>Evet</td>\n<td></td>\n<td>\"12:00\"</td>\n</tr>\n<tr>\n<td>end_time</td>\n<td>String</td>\n<td>Bitiş Saati</td>\n<td>Evet</td>\n<td></td>\n<td>\"15:00\"</td>\n</tr>\n<tr>\n<td>is_active</td>\n<td>Boolean</td>\n<td>Aktiflik</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>slack_type</td>\n<td>String</td>\n<td>Mola Türü</td>\n<td>Evet</td>\n<td>time_range,  <br />time_duration</td>\n<td>\"time_duration\"</td>\n</tr>\n<tr>\n<td>duration</td>\n<td>Integer</td>\n<td>Süre</td>\n<td>Evet</td>\n<td></td>\n<td>120</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>slack_type</strong> değerine göre duration, starting_time ve end_time kullanımı değişmektedir. Bu durum örneklerine bakmak için <a href=\"https://apidocs.passgage.com/#8c112ec9-e521-4730-85ea-722425ba65b4\">tıklayınız</a>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","shifts",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"403fcd31-b88e-4690-afd6-8812070b448b","key":"id"}]}},"response":[{"id":"c9264ca7-70fc-4ef9-a61f-7ed131223583","name":"200","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"shift\": {\n        \"name\": \"Deneme 5 Updated\",\n        \"shift_type\": \"still\",\n        \"check_in_time\": \"10:00\",\n        \"check_out_time\": \"10:01\",\n        \"is_active\": true,\n        \"is_holiday\": true,\n        \"is_shop_opening\": true,\n        \"is_shop_closing\": true,\n        \"late_check_in\": 10,\n        \"color_code\": \"#FF22FF\",\n        \"code\": \"deneme\",\n        \"late_check_out\": 10,\n        \"early_check_in\": 10,\n        \"early_check_out\": 10,\n        \"extra_work_type_id\": null,\n        \"holiday_extra_work_type_id\": null\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:id","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":id"],"variable":[{"key":"id","value":"403fcd31-b88e-4690-afd6-8812070b448b"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"5c9de241-39cc-46e6-a15a-692d87c57b84"},{"key":"X-Runtime","value":"0.526538"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"9q6jbyu9h6schmish5w,l1064vnhea9d83eaefxe"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Shift başarıyla güncellendi\",\n    \"data\": {\n        \"id\": \"403fcd31-b88e-4690-afd6-8812070b448b\",\n        \"created_at\": \"2024-08-21T12:00:33.836+03:00\",\n        \"updated_at\": \"2024-08-22T10:49:54.671+03:00\",\n        \"name\": \"Deneme 5 Updated\",\n        \"is_active\": true,\n        \"slacks\": [],\n        \"night_works\": []\n    },\n    \"meta\": {}\n}"}],"_postman_id":"d8fd659b-7669-4d3c-bae5-6255ae10ba64"},{"name":"delete","id":"7695a0ef-476d-4582-a905-b2c7912c7e9a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/shifts/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","shifts",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"8720e0e7-6184-4665-a147-cb71805fe580","key":"id"}]}},"response":[{"id":"961f9ed8-295a-4a6f-b4e4-7b65110f591f","name":"200","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:id","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":id"],"variable":[{"key":"id","value":"8720e0e7-6184-4665-a147-cb71805fe580"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"5b8debc1-fea6-4f64-b78c-0e2106e27c7e"},{"key":"X-Runtime","value":"1.216653"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"x8td8lva59mv8r9zq5cz,ota56i6zld6v0yu7zm1n,a5rvg1inoh8z3u9lsy1w,r6urokqa0q4co8ru922t,3b1dnv4fcfust3rpukuo,e5h48pn93mh2pq0ecpon,ccy0dbjuh18j2u5rupc6,s8otku2e0qf3ks6iihlo,spdl4y74d2n5i9pcumhm,sd3uokteijp7ilpz4ave,jhct1fpofawp3fmbv3oz,mp6bulfiobdlglhkyiz5,47vuf7793tbze3ymrr8v,d302nze9cwq15a7xl9mg,kxzunrykhc6e1hnmcaxu,c4ia8ontt2mn5k9allez,9os351qkj3jlmlzckm6p,oobmuvk0whqbdox5qzg5"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Shift başarıyla silindi\",\n    \"data\": {\n        \"id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n        \"created_at\": \"2024-08-20T10:22:13.801+03:00\",\n        \"updated_at\": \"2024-08-20T10:22:13.801+03:00\",\n        \"name\": \"Test\",\n        \"is_active\": true,\n        \"slacks\": [\n            {\n                \"id\": \"b06ad886-e461-4077-9b16-0b4a9db18c72\",\n                \"title\": \"Test Time Duration Updated\",\n                \"description\": \"\",\n                \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n                \"starting_time\": \"15:00\",\n                \"end_time\": \"11:00\",\n                \"is_active\": false,\n                \"slack_type\": \"time_range\",\n                \"duration\": 200\n            },\n            {\n                \"id\": \"6115f6b6-24d8-4f03-aec3-f05c5d7c1b5c\",\n                \"title\": \"Test Time Duration\",\n                \"description\": \"\",\n                \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n                \"starting_time\": \"15:00\",\n                \"end_time\": \"12:00\",\n                \"is_active\": false,\n                \"slack_type\": \"time_range\",\n                \"duration\": null\n            }\n        ],\n        \"night_works\": []\n    },\n    \"meta\": {}\n}"},{"id":"bd16b99e-73f4-41b5-ae7e-9b4f992fb504","name":"404","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:id","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":id"],"variable":[{"key":"id","value":"8720e0e7-6184-4665-a147-cb71805fe5801"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"98e3ff34-0c18-4ac3-9b47-628065f48e4f"},{"key":"X-Runtime","value":"0.052017"},{"key":"Vary","value":"Origin"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 404,\n    \"message\": \"%{resource} Bulunamadı\",\n    \"errors\": []\n}"}],"_postman_id":"7695a0ef-476d-4582-a905-b2c7912c7e9a"}],"id":"4dcee5ab-e8cf-4d5e-8d89-4883374c6405","_postman_id":"4dcee5ab-e8cf-4d5e-8d89-4883374c6405","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Slacks","item":[{"name":"list","id":"58db3a04-b7e0-45b2-9b26-0ec5b1dad08f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/shifts/:sihft_id/slacks","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","shifts",":sihft_id","slacks"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Shift ID</p>\n","type":"text/plain"},"type":"any","value":"8720e0e7-6184-4665-a147-cb71805fe580","key":"sihft_id"}]}},"response":[{"id":"e9af306b-5b38-464d-b6ac-bc55905a90b2","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:sihft_id/slacks","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":sihft_id","slacks"],"variable":[{"key":"sihft_id","value":"8720e0e7-6184-4665-a147-cb71805fe580","description":"Shift ID"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"16a4e16d-43c7-43da-88dd-7c4ff7094013"},{"key":"X-Runtime","value":"0.265711"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"e5h48pn93mh2pq0ecpon,ota56i6zld6v0yu7zm1n,a5rvg1inoh8z3u9lsy1w,r6urokqa0q4co8ru922t,3b1dnv4fcfust3rpukuo"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"6115f6b6-24d8-4f03-aec3-f05c5d7c1b5c\",\n            \"title\": \"Test Time Duration\",\n            \"description\": \"\",\n            \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n            \"starting_time\": \"15:00\",\n            \"end_time\": \"12:00\",\n            \"is_active\": false,\n            \"slack_type\": \"time_range\",\n            \"duration\": null\n        },\n        {\n            \"id\": \"b06ad886-e461-4077-9b16-0b4a9db18c72\",\n            \"title\": \"Test Time Duration Updated\",\n            \"description\": \"\",\n            \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n            \"starting_time\": \"15:00\",\n            \"end_time\": \"11:00\",\n            \"is_active\": false,\n            \"slack_type\": \"time_range\",\n            \"duration\": 200\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 1,\n        \"total_count\": 2\n    }\n}"}],"_postman_id":"58db3a04-b7e0-45b2-9b26-0ec5b1dad08f"},{"name":"show","id":"4e052ec9-b051-4914-aae8-73f40525208c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/shifts/:shift_id/slacks/:slack_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","shifts",":shift_id","slacks",":slack_id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Shift_id</p>\n","type":"text/plain"},"type":"any","value":"8720e0e7-6184-4665-a147-cb71805fe580","key":"shift_id"},{"description":{"content":"<p>Slack ID</p>\n","type":"text/plain"},"type":"any","value":"68188866-43f9-4059-abc6-d977226826c9","key":"slack_id"}]}},"response":[{"id":"1df4e910-92ae-4fa2-a1d1-6f440183b0ff","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:shift_id/slacks/:slack_id","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":shift_id","slacks",":slack_id"],"variable":[{"key":"shift_id","value":"8720e0e7-6184-4665-a147-cb71805fe580","description":"Shift_id"},{"key":"slack_id","value":"68188866-43f9-4059-abc6-d977226826c9","description":"Slack ID"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"ddea283b-1f57-4af7-a0cb-95ac6d61a31d"},{"key":"X-Runtime","value":"0.087701"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"66jzota8x7pfafpsvqgq"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"68188866-43f9-4059-abc6-d977226826c9\",\n        \"title\": \"Test Minutes\",\n        \"description\": null,\n        \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n        \"starting_time\": \"\",\n        \"end_time\": \"\",\n        \"is_active\": null,\n        \"slack_type\": \"time_duration\",\n        \"duration\": 100\n    },\n    \"meta\": {}\n}"},{"id":"a69d7d11-f0c9-4b3f-924f-fa6725dc4597","name":"404","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:shift_id/slacks/:slack_id","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":shift_id","slacks",":slack_id"],"variable":[{"key":"shift_id","value":"8720e0e7-6184-4665-a147-cb71805fe580","description":"Shift_id"},{"key":"slack_id","value":"68188866-43f9-4059-abc6-d977226826c91","description":"Slack ID"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"09e500c3-59fc-4f8a-9ae9-f4238d35e2fe"},{"key":"X-Runtime","value":"0.104439"},{"key":"Vary","value":"Origin"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 404,\n    \"message\": \"%{resource} Bulunamadı\",\n    \"errors\": []\n}"}],"_postman_id":"4e052ec9-b051-4914-aae8-73f40525208c"},{"name":"create","id":"f331888e-cc6c-467c-aee8-7b0db9a122aa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"slack\":{\n        \"title\": \"Test Time Duration\",\n        \"description\": \"\",\n        \"is_active\": false,\n        \"slack_type\": \"time_range\",\n        //\"duration\": 200 // if slack_type is  time_duration\n        \"end_time\": \"12:00\",\n        \"starting_time\": \"15:00\" // if slack_type is time_range\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/shifts/:sihft_id/slacks","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n<th>Örnek Kullanım</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>String</td>\n<td>Bitiş Saati</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>description</td>\n<td>String</td>\n<td>Başlama Saati</td>\n<td>Hayır</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>starting_time</td>\n<td>String</td>\n<td>Başlama Saati</td>\n<td>Evet</td>\n<td></td>\n<td>\"12:00\"</td>\n</tr>\n<tr>\n<td>end_time</td>\n<td>String</td>\n<td>Bitiş Saati</td>\n<td>Evet</td>\n<td></td>\n<td>\"15:00\"</td>\n</tr>\n<tr>\n<td>is_active</td>\n<td>Boolean</td>\n<td>Aktiflik</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>slack_type</td>\n<td>String</td>\n<td>Mola Türü</td>\n<td>Evet</td>\n<td>time_range,  <br />time_duration</td>\n<td>\"time_duration\"</td>\n</tr>\n<tr>\n<td>duration</td>\n<td>Integer</td>\n<td>Süre</td>\n<td>Evet</td>\n<td></td>\n<td>120</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>slack_type</strong> değerine göre duration, starting_time ve end_time kullanımı değişmektedir. Bu durum örneklerine bakmak için <a href=\"https://apidocs.passgage.com/#8c112ec9-e521-4730-85ea-722425ba65b4\">tıklayınız</a>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","shifts",":sihft_id","slacks"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Shift ID</p>\n","type":"text/plain"},"type":"any","value":"8720e0e7-6184-4665-a147-cb71805fe580","key":"sihft_id"}]}},"response":[{"id":"63c47ca9-9b96-41e5-a177-826c4569997a","name":"201 - time_duration","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"slack\":{\n        \"title\": \"Test Time Duration\",\n        \"description\": \"\",\n        \"is_active\": false,\n        \"slack_type\": \"time_duration\",\n        \"duration\": 200 // if slack_type is  time_duration\n        //\"end_time\": \"\",\n        //\"starting_time\": \"\", // if slack_type is time_range\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:sihft_id/slacks","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":sihft_id","slacks"],"variable":[{"key":"sihft_id","value":"8720e0e7-6184-4665-a147-cb71805fe580","description":"Shift ID"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"b07e5b70-88d1-49f9-98a7-592867c3245a"},{"key":"X-Runtime","value":"1.636880"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"jz32prt26hsk1i2ffakz,zewtx3z116gmtzjfxcy8,6m1x1jeycq3uu0rzr45t"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Slack başarıyla oluşturuldu\",\n    \"data\": {\n        \"id\": \"b06ad886-e461-4077-9b16-0b4a9db18c72\",\n        \"title\": \"Test Time Duration\",\n        \"description\": \"\",\n        \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n        \"starting_time\": null,\n        \"end_time\": null,\n        \"is_active\": false,\n        \"slack_type\": \"time_duration\",\n        \"duration\": 200\n    },\n    \"meta\": {}\n}"},{"id":"36b8bcbc-987f-4549-8641-0faa8052b59a","name":"201 - time_range","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"slack\":{\n        \"title\": \"Test Time Duration\",\n        \"description\": \"\",\n        \"is_active\": false,\n        \"slack_type\": \"time_range\",\n        //\"duration\": 200 // if slack_type is  time_duration\n        \"end_time\": \"12:00\",\n        \"starting_time\": \"15:00\" // if slack_type is time_range\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:sihft_id/slacks","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":sihft_id","slacks"],"variable":[{"key":"sihft_id","value":"8720e0e7-6184-4665-a147-cb71805fe580","description":"Shift ID"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"1672f75a-896b-4ef7-b865-4f7ae4cde2b3"},{"key":"X-Runtime","value":"0.217475"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"9bk3etk5idub64afomex,qk2fg505j58rr0q38oc7"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Slack başarıyla oluşturuldu\",\n    \"data\": {\n        \"id\": \"6115f6b6-24d8-4f03-aec3-f05c5d7c1b5c\",\n        \"title\": \"Test Time Duration\",\n        \"description\": \"\",\n        \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n        \"starting_time\": \"15:00\",\n        \"end_time\": \"12:00\",\n        \"is_active\": false,\n        \"slack_type\": \"time_range\",\n        \"duration\": null\n    },\n    \"meta\": {}\n}"}],"_postman_id":"f331888e-cc6c-467c-aee8-7b0db9a122aa"},{"name":"update","id":"c21e221f-3acc-408a-9c4d-1d377ced899a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"slack\":{\n        \"title\": \"Test Time Duration Updated\",\n        \"description\": \"\",\n        \"is_active\": false,\n        \"slack_type\": \"time_range\",\n        //\"duration\": 200 // if slack_type is  time_duration\n        \"end_time\": \"11:00\",\n        \"starting_time\": \"15:00\" // if slack_type is time_range\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/shifts/:shift_id/slacks/:slack_id","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n<th>Örnek Kullanım</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>String</td>\n<td>Bitiş Saati</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>description</td>\n<td>String</td>\n<td>Başlama Saati</td>\n<td>Hayır</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>starting_time</td>\n<td>String</td>\n<td>Başlama Saati</td>\n<td>Evet</td>\n<td></td>\n<td>\"12:00\"</td>\n</tr>\n<tr>\n<td>end_time</td>\n<td>String</td>\n<td>Bitiş Saati</td>\n<td>Evet</td>\n<td></td>\n<td>\"15:00\"</td>\n</tr>\n<tr>\n<td>is_active</td>\n<td>Boolean</td>\n<td>Aktiflik</td>\n<td>Evet</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>slack_type</td>\n<td>String</td>\n<td>Mola Türü</td>\n<td>Evet</td>\n<td>time_range,  <br />time_duration</td>\n<td>\"time_duration\"</td>\n</tr>\n<tr>\n<td>duration</td>\n<td>Integer</td>\n<td>Süre</td>\n<td>Evet</td>\n<td></td>\n<td>120</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>slack_type</strong> değerine göre duration, starting_time ve end_time kullanımı değişmektedir. Bu durum örneklerine bakmak için <a href=\"https://apidocs.passgage.com/#8c112ec9-e521-4730-85ea-722425ba65b4\">tıklayınız</a>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","shifts",":shift_id","slacks",":slack_id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Shift ID</p>\n","type":"text/plain"},"type":"any","value":"8720e0e7-6184-4665-a147-cb71805fe580","key":"shift_id"},{"description":{"content":"<p>Slack ID</p>\n","type":"text/plain"},"type":"any","value":"b06ad886-e461-4077-9b16-0b4a9db18c72","key":"slack_id"}]}},"response":[{"id":"404fbb8e-5c17-4aa4-b4fe-fcf01befd77e","name":"200","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"slack\":{\n        \"title\": \"Test Time Duration Updated\",\n        \"description\": \"\",\n        \"is_active\": false,\n        \"slack_type\": \"time_range\",\n        //\"duration\": 200 // if slack_type is  time_duration\n        \"end_time\": \"11:00\",\n        \"starting_time\": \"15:00\" // if slack_type is time_range\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:shift_id/slacks/:slack_id","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":shift_id","slacks",":slack_id"],"variable":[{"key":"shift_id","value":"8720e0e7-6184-4665-a147-cb71805fe580","description":"Shift ID"},{"key":"slack_id","value":"b06ad886-e461-4077-9b16-0b4a9db18c72","description":"Slack ID"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"0d5b19d4-ee97-4dea-9ad9-91bc95be1268"},{"key":"X-Runtime","value":"1.559690"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"ota56i6zld6v0yu7zm1n"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Slack başarıyla güncellendi\",\n    \"data\": {\n        \"id\": \"b06ad886-e461-4077-9b16-0b4a9db18c72\",\n        \"title\": \"Test Time Duration Updated\",\n        \"description\": \"\",\n        \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n        \"starting_time\": \"15:00\",\n        \"end_time\": \"11:00\",\n        \"is_active\": false,\n        \"slack_type\": \"time_range\",\n        \"duration\": 200\n    },\n    \"meta\": {}\n}"},{"id":"e1d29e3d-b78a-4d9f-bc8c-eac0eee882c9","name":"404","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"slack\":{\n        \"title\": \"Test Time Duration Updated\",\n        \"description\": \"\",\n        \"is_active\": false,\n        \"slack_type\": \"time_range\",\n        //\"duration\": 200 // if slack_type is  time_duration\n        \"end_time\": \"11:00\",\n        \"starting_time\": \"15:00\" // if slack_type is time_range\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:shift_id/slacks/:slack_id","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":shift_id","slacks",":slack_id"],"variable":[{"key":"shift_id","value":"8720e0e7-6184-4665-a147-cb71805fe5801","description":"Shift ID"},{"key":"slack_id","value":"b06ad886-e461-4077-9b16-0b4a9db18c72","description":"Slack ID"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"1545ec23-81cf-4fde-8ef9-e8f4a08ae03a"},{"key":"X-Runtime","value":"0.054924"},{"key":"Vary","value":"Origin"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 404,\n    \"message\": \"%{resource} Bulunamadı\",\n    \"errors\": []\n}"}],"_postman_id":"c21e221f-3acc-408a-9c4d-1d377ced899a"},{"name":"delete","id":"41bddcb5-00c7-491a-8152-d76340b5dba9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/shifts/:shift_id/slacks/:slack_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","shifts",":shift_id","slacks",":slack_id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Shift_id</p>\n","type":"text/plain"},"type":"any","value":"8720e0e7-6184-4665-a147-cb71805fe580","key":"shift_id"},{"description":{"content":"<p>Slack ID</p>\n","type":"text/plain"},"type":"any","value":"68188866-43f9-4059-abc6-d977226826c9","key":"slack_id"}]}},"response":[{"id":"7336412c-24fa-4f50-8997-788ff473e991","name":"404","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:shift_id/slacks/:slack_id","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":shift_id","slacks",":slack_id"],"variable":[{"key":"shift_id","value":"8720e0e7-6184-4665-a147-cb71805fe580","description":"Shift_id"},{"key":"slack_id","value":"68188866-43f9-4059-abc6-d977226826c91","description":"Slack ID"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"d0cb0328-6dfd-46b1-bedc-7cb1d907c7a2"},{"key":"X-Runtime","value":"1.299011"},{"key":"Vary","value":"Origin"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 404,\n    \"message\": \"%{resource} Bulunamadı\",\n    \"errors\": []\n}"},{"id":"cf7d8384-1cc1-450c-b518-7e47bbac70b6","name":"200","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/shifts/:shift_id/slacks/:slack_id","host":["https://api.passgage.com"],"path":["api","public","v1","shifts",":shift_id","slacks",":slack_id"],"variable":[{"key":"shift_id","value":"8720e0e7-6184-4665-a147-cb71805fe580","description":"Shift_id"},{"key":"slack_id","value":"68188866-43f9-4059-abc6-d977226826c9","description":"Slack ID"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"78b167dc-36ee-41e6-9cd2-1eb62fb1f3e2"},{"key":"X-Runtime","value":"0.078726"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"xojw4uz10j5173dg0iqk,66jzota8x7pfafpsvqgq,oqjxrvol6bc5gjjn5zhh,iohf2u4mojkhz8sis7x7,hu48erli42rkgszihi3"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Slack başarıyla silindi\",\n    \"data\": {\n        \"id\": \"68188866-43f9-4059-abc6-d977226826c9\",\n        \"title\": \"Test Minutes\",\n        \"description\": null,\n        \"shift_id\": \"8720e0e7-6184-4665-a147-cb71805fe580\",\n        \"starting_time\": \"\",\n        \"end_time\": \"\",\n        \"is_active\": null,\n        \"slack_type\": \"time_duration\",\n        \"duration\": 100\n    },\n    \"meta\": {}\n}"}],"_postman_id":"41bddcb5-00c7-491a-8152-d76340b5dba9"}],"id":"8c112ec9-e521-4730-85ea-722425ba65b4","description":"<p>Bu servis, <code>shift</code> kaynağına bağlı <code>slack</code> kaynaklarını yönetmek için kullanılır. CRUD işlemleri (Create, Read, Update, Delete) bu controller aracılığıyla gerçekleştirilir.</p>\n<p><code>slack_type</code> parametresi, <code>slack</code> kaynağının ne tür bir zaman dilimini temsil ettiğini belirler. Bu parametreye göre diğer alanlar farklı şekilde doldurulur:</p>\n<p><strong><code>time_range</code></strong>:</p>\n<ul>\n<li><p><code>starting_time</code>: Slack'in başladığı zaman.</p>\n</li>\n<li><p><code>end_time</code>: Slack'in bittiği zaman.</p>\n</li>\n</ul>\n<p><strong>Örnek:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"slack\": {\n    \"title\": \"Çalışma Süresi\",\n    \"description\": \"\",\n    \"is_active\": true,\n    \"slack_type\": \"time_range\",\n    \"starting_time\": \"09:00\",\n    \"end_time\": \"17:00\"\n  }\n}\n\n</code></pre>\n<p><strong><code>time_duration</code></strong>:</p>\n<ul>\n<li><code>duration</code>: Slack'in süresi (dakika cinsinden).</li>\n</ul>\n<p><strong>Örnek:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"slack\": {\n    \"title\": \"Toplam Süre\",\n    \"description\": \"\",\n    \"is_active\": true,\n    \"slack_type\": \"time_duration\",\n    \"duration\": 200\n  }\n}\n\n</code></pre>\n<p>Bu durum, <code>slack</code> kaynağının ya belirli bir zaman dilimini (<code>time_range</code>) ya da toplam süreyi (<code>time_duration</code>) temsil edebilmesine olanak tanır. Kullanıcı, <code>slack_type</code>'a göre uygun diğer alanları doldurmalıdır. Bu, API'nin esnek olmasını sağlar ve farklı senaryoları destekler.</p>\n","_postman_id":"8c112ec9-e521-4730-85ea-722425ba65b4","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Sub Companies","item":[{"name":"list","id":"e76cc5b9-67e0-4459-90d3-bbe3cda81dfc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/sub_companies","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","sub_companies"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"f68fa761-8aff-4753-841a-761e4799f25d","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/sub_companies"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"e5b5d5a6-2267-4bab-96d7-d8a8359fe0a8"},{"key":"X-Runtime","value":"0.809740"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"2y0ca6lmzryibtyi33ta,v1awhue0d9qbjpiqyjmz,1rwg7mrbrtn0o262h5l8,opav96a6nqto0ho5cjff,ltl48dv6b8zaii67nvfc,gd8vykd3lyx8tpwp9ayn,b1r7atpw9e43ka2v9yn1,4em1hr8luev3xltejp2i,cdqaqhkiz6a77fztda2k,qg4wb5cm6cp2szob4tv2,oazmco03xcbn0yf76ywy,y53d167or4tesalrrltz,oi8jy4hy89qlts6ywl1l,4lqlrm1gnx7t43s2j69w,pfm7u8emx9ye7hoyzqcc,iii6vmudd9hb8ki0gdx2,wruyef7atnc6eskiu78o,w9mb0pw6kauc2vm14els"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"83bdcd75-2b89-4f9b-8c15-b0826a34860f\",\n            \"name\": \"Deneme12\",\n            \"is_active\": false,\n            \"created_at\": \"2024-04-24T09:39:31.300+03:00\",\n            \"updated_at\": \"2024-04-24T09:39:31.300+03:00\"\n        },\n        {\n            \"id\": \"d750fbf4-7579-4bfe-a64d-d9b1e8731a17\",\n            \"name\": \"Deneme13\",\n            \"is_active\": false,\n            \"created_at\": \"2024-01-08T13:31:22.376+03:00\",\n            \"updated_at\": \"2024-04-24T09:38:55.640+03:00\"\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 1,\n        \"total_count\": 2\n    }\n}"}],"_postman_id":"e76cc5b9-67e0-4459-90d3-bbe3cda81dfc"},{"name":"show","id":"505b7dca-9f16-4c94-bcfa-be90058640b8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/sub_companies/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","sub_companies",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>sub_company_id</p>\n","type":"text/plain"},"type":"any","value":"d750fbf4-7579-4bfe-a64d-d9b1e8731a17","key":"id"}]}},"response":[],"_postman_id":"505b7dca-9f16-4c94-bcfa-be90058640b8"},{"name":"update","id":"c6be8a3a-01f3-48d6-ab82-aff2bb475fab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"sub_company\":{\n        \"name\": \"\",\n        \"email\": \"\",\n        \"tax_number\": \"\",\n        \"tax_office\": \"\",\n        \"website\": \"\",\n        \"client_id\": \"\",\n        \"is_active\": false,\n        \"legal_name\": \"\",\n        \"major_color\": \"\",\n        \"minor_color\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/sub_companies/:id","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>name</td>\n<td>String</td>\n<td>Sub-company ismi</td>\n<td>Yes</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>String</td>\n<td>Sub-company email adresi</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>tax_number</td>\n<td>String</td>\n<td>Sub-company vergi numarası</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>tax_office</td>\n<td>String</td>\n<td>Sub-company vergi ofisi</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>website</td>\n<td>String</td>\n<td>Sub-company website adresi</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>client_id</td>\n<td>String</td>\n<td>Sub-company entegrasyon numarası</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>is_active</td>\n<td>Boolean</td>\n<td>Sub-company'nin aktif olması veya olmaması</td>\n<td>Yes</td>\n<td></td>\n</tr>\n<tr>\n<td>legal_name</td>\n<td>String</td>\n<td>Sub-company yasal ismi</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>major_color</td>\n<td>String</td>\n<td>Sub-company ana rengi</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>minor_color</td>\n<td>String</td>\n<td>Sub-company alt rengi</td>\n<td>No</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","sub_companies",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"d750fbf4-7579-4bfe-a64d-d9b1e8731a17","key":"id"}]}},"response":[{"id":"446cb291-2054-45c3-bbe3-6ccafae8b35a","name":"200","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"sub_company\":{\n        \"name\": \"Deneme13\",\n        \"email\": \"deneme@gmail.com\",\n        \"tax_number\": \"\",\n        \"tax_office\": \"\",\n        \"website\": \"\",\n        \"client_id\": \"\",\n        \"is_active\": false,\n        \"legal_name\": \"\",\n        \"major_color\": \"\",\n        \"minor_color\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/sub_companies/:id","host":["https://api.passgage.com"],"path":["api","public","v1","sub_companies",":id"],"variable":[{"key":"id","value":"d750fbf4-7579-4bfe-a64d-d9b1e8731a17"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"f61fff2e-7139-4d8b-8765-a4dc1b4ded2e"},{"key":"X-Runtime","value":"1.203330"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"oi8jy4hy89qlts6ywl1l,v1awhue0d9qbjpiqyjmz,1rwg7mrbrtn0o262h5l8,opav96a6nqto0ho5cjff,ltl48dv6b8zaii67nvfc,gd8vykd3lyx8tpwp9ayn,b1r7atpw9e43ka2v9yn1,4em1hr8luev3xltejp2i,cdqaqhkiz6a77fztda2k,qg4wb5cm6cp2szob4tv2,oazmco03xcbn0yf76ywy,y53d167or4tesalrrltz"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Sub Company başarıyla güncellendi\",\n    \"data\": {\n        \"id\": \"d750fbf4-7579-4bfe-a64d-d9b1e8731a17\",\n        \"name\": \"Deneme13\",\n        \"is_active\": false,\n        \"created_at\": \"2024-01-08T13:31:22.376+03:00\",\n        \"updated_at\": \"2024-04-24T09:38:55.640+03:00\"\n    },\n    \"meta\": {}\n}"},{"id":"54b2e29d-bb64-4436-a50e-ae42488b9dd2","name":"404","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"sub_company\":{\n        \"name\": \"Deneme13\",\n        \"email\": \"deneme@gmail.com\",\n        \"tax_number\": \"\",\n        \"tax_office\": \"\",\n        \"website\": \"\",\n        \"client_id\": \"\",\n        \"is_active\": false,\n        \"legal_name\": \"\",\n        \"major_color\": \"\",\n        \"minor_color\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/sub_companies/:id","host":["https://api.passgage.com"],"path":["api","public","v1","sub_companies",":id"],"variable":[{"key":"id","value":"d750fbf4-7579-4bfe-a64d-d9b1e8731a1"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"36e834b3-bc5f-4ebf-a98f-8610859d1e3f"},{"key":"X-Runtime","value":"0.069309"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 404,\n    \"message\": \"Couldn't find the record\",\n    \"errors\": []\n}"},{"id":"df9c7ce1-4748-4964-bb78-0b8d36a6a971","name":"422","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"sub_company\":{\n        \"name\": \"\",\n        \"email\": \"deneme@gmail.com\",\n        \"tax_number\": \"\",\n        \"tax_office\": \"\",\n        \"website\": \"\",\n        \"client_id\": \"\",\n        \"is_active\": false,\n        \"legal_name\": \"\",\n        \"major_color\": \"\",\n        \"minor_color\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/sub_companies/:id","host":["https://api.passgage.com"],"path":["api","public","v1","sub_companies",":id"],"variable":[{"key":"id","value":"d750fbf4-7579-4bfe-a64d-d9b1e8731a17"}]}},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"e3f7209e-76d7-4258-8eb0-49d995bf34b6"},{"key":"X-Runtime","value":"1.121022"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 422,\n    \"message\": \"Unprocessable entity\",\n    \"errors\": [\n        {\n            \"field_name\": \"name\",\n            \"messages\": [\n                \"Şirket Adı doldurulmalı\"\n            ]\n        }\n    ]\n}"}],"_postman_id":"c6be8a3a-01f3-48d6-ab82-aff2bb475fab"},{"name":"delete","id":"2ddeb352-1bb2-4cc9-9c96-1c738092af5c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/sub_companies/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","sub_companies",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>sub_company_id</p>\n","type":"text/plain"},"type":"any","value":"1364cd41-5d54-418a-9819-e0405427fdde","key":"id"}]}},"response":[{"id":"4e33bc4a-06d4-4ad4-a8e0-412b5b4b7541","name":"200","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/sub_companies/:id","host":["https://api.passgage.com"],"path":["api","public","v1","sub_companies",":id"],"variable":[{"key":"id","value":"1364cd41-5d54-418a-9819-e0405427fdde","description":"sub_company_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"359bfea8-b53c-4adb-ba8d-8fc4ba827519"},{"key":"X-Runtime","value":"1.130206"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"qg4wb5cm6cp2szob4tv2,v1awhue0d9qbjpiqyjmz,1rwg7mrbrtn0o262h5l8,opav96a6nqto0ho5cjff,ltl48dv6b8zaii67nvfc,gd8vykd3lyx8tpwp9ayn,b1r7atpw9e43ka2v9yn1,4em1hr8luev3xltejp2i,cdqaqhkiz6a77fztda2k"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Sub Company başarıyla silindi\",\n    \"data\": {\n        \"id\": \"1364cd41-5d54-418a-9819-e0405427fdde\",\n        \"name\": \"Deneme12\",\n        \"is_active\": false,\n        \"created_at\": \"2024-04-24T09:32:49.831+03:00\",\n        \"updated_at\": \"2024-04-24T09:32:49.831+03:00\"\n    },\n    \"meta\": {}\n}"},{"id":"b140eaf7-2a67-4adc-98c2-b66ccae65aaf","name":"404","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/sub_companies/:id","host":["https://api.passgage.com"],"path":["api","public","v1","sub_companies",":id"],"variable":[{"key":"id","value":"1364cd41-5d54-418a-9819-e0405427fdd","description":"sub_company_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"fed2863c-e33f-4a88-bcd0-fcdec9860544"},{"key":"X-Runtime","value":"0.804832"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 404,\n    \"message\": \"Couldn't find the record\",\n    \"errors\": []\n}"}],"_postman_id":"2ddeb352-1bb2-4cc9-9c96-1c738092af5c"},{"name":"create","id":"1118b06a-34fb-45a3-8a29-a5c454e9609c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"sub_company\":{\n        \"name\": \"\",\n        \"email\": \"\",\n        \"tax_number\": \"\",\n        \"tax_office\": \"\",\n        \"website\": \"\",\n        \"client_id\": \"\",\n        \"is_active\": false,\n        \"legal_name\": \"\",\n        \"major_color\": \"\",\n        \"minor_color\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/sub_companies","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>name</td>\n<td>String</td>\n<td>Sub-company ismi</td>\n<td>Yes</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>String</td>\n<td>Sub-company email adresi</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>tax_number</td>\n<td>String</td>\n<td>Sub-company vergi numarası</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>tax_office</td>\n<td>String</td>\n<td>Sub-company vergi ofisi</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>website</td>\n<td>String</td>\n<td>Sub-company website adresi</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>client_id</td>\n<td>String</td>\n<td>Sub-company entegrasyon numarası</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>is_active</td>\n<td>Boolean</td>\n<td>Sub-company'nin aktif olması veya olmaması</td>\n<td>Yes</td>\n<td></td>\n</tr>\n<tr>\n<td>legal_name</td>\n<td>String</td>\n<td>Sub-company yasal ismi</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>major_color</td>\n<td>String</td>\n<td>Sub-company ana rengi</td>\n<td>No</td>\n<td></td>\n</tr>\n<tr>\n<td>minor_color</td>\n<td>String</td>\n<td>Sub-company alt rengi</td>\n<td>No</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","sub_companies"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"cbda7e56-eaac-4c9e-8620-2f33a1b976b2","name":"201","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"sub_company\":{\n        \"name\": \"Deneme12\",\n        \"email\": \"\",\n        \"tax_number\": \"\",\n        \"tax_office\": \"\",\n        \"website\": \"\",\n        \"client_id\": \"\",\n        \"is_active\": false,\n        \"legal_name\": \"\",\n        \"major_color\": \"\",\n        \"minor_color\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/sub_companies"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"99880334-362b-495b-b4a2-ba4705d30869"},{"key":"X-Runtime","value":"1.764139"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"4em1hr8luev3xltejp2i,v1awhue0d9qbjpiqyjmz,1rwg7mrbrtn0o262h5l8,opav96a6nqto0ho5cjff,ltl48dv6b8zaii67nvfc,gd8vykd3lyx8tpwp9ayn,b1r7atpw9e43ka2v9yn1"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Sub Company başarıyla oluşturuldu\",\n    \"data\": {\n        \"id\": \"1364cd41-5d54-418a-9819-e0405427fdde\",\n        \"name\": \"Deneme12\",\n        \"is_active\": false,\n        \"created_at\": \"2024-04-24T09:32:49.831+03:00\",\n        \"updated_at\": \"2024-04-24T09:32:49.831+03:00\"\n    },\n    \"meta\": {}\n}"},{"id":"601d4fe5-a82c-4a05-974f-6c3e4be707a0","name":"422","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"sub_company\":{\n        \"name\": \"\",\n        \"email\": \"\",\n        \"tax_number\": \"\",\n        \"tax_office\": \"\",\n        \"website\": \"\",\n        \"client_id\": \"\",\n        \"is_active\": false,\n        \"legal_name\": \"\",\n        \"major_color\": \"\",\n        \"minor_color\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/sub_companies"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"74bea5b0-4c57-4a46-88a9-793085e33a93"},{"key":"X-Runtime","value":"1.604985"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 422,\n    \"message\": \"Unprocessable entity\",\n    \"errors\": [\n        {\n            \"field_name\": \"name\",\n            \"messages\": [\n                \"Şirket Adı doldurulmalı\"\n            ]\n        }\n    ]\n}"}],"_postman_id":"1118b06a-34fb-45a3-8a29-a5c454e9609c"}],"id":"5a42c7bd-eba5-4e16-97e5-d130736b0fc5","description":"<p><code>SubCompany</code> api, bir ana şirketin alt şirketlerini yönetir. Bu api, alt şirketlerin temel bilgilerini, aktiflik durumunu ve şirket içindeki tanımlayıcı bilgilerini içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Her alt şirket, bir isim, yasal isim, vergi numarası, ve iletişim bilgileri gibi temel bilgileri barındırır.</p>\n</li>\n<li><p>Alt şirketler, ana şirkete bağlı olarak işletilir ve bu bağlamda çeşitli işlemlere tabi tutulabilir.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><code>name</code>: Alt şirket adı zorunludur.</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li>Alt şirket bilgileri güncellendiğinde veya alt şirketin yapısında önemli değişiklikler olduğunda, bu bilgilerin doğruluğunun tekrar gözden geçirilmesi gerekebilir.</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Alt Şirket Oluşturma</strong></td>\n<td>Yeni alt şirket kaydı</td>\n<td><code>name</code></td>\n</tr>\n<tr>\n<td><strong>Alt Şirket Güncelleme</strong></td>\n<td>Mevcut alt şirket bilgilerini güncelleme</td>\n<td>Alt şirket detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Alt Şirket Silme</strong></td>\n<td>Alt şirket kaydını sistemden kaldırma</td>\n<td>İlgili alt şirket kaydı kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Alt Şirket Kaydı</strong>: Ana şirket bünyesinde yeni bir iş kolu veya marka başlatılırken bu model kullanılarak sistemde yeni bir alt şirket kaydı oluşturulabilir.</p>\n</li>\n<li><p><strong>Alt Şirket Bilgilerinin Güncellenmesi</strong>: Alt şirketin yasal ismi, vergi bilgileri veya iletişim bilgileri gibi detaylar zamanla güncellenebilir.</p>\n</li>\n<li><p><strong>Alt Şirket Silme ve Yeniden Yapılandırma</strong>: İş stratejileri değişikliği veya yapısal düzenlemeler nedeniyle alt şirketler yeniden yapılandırılabilir veya sistemden silinebilir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><p><strong>Logo Yönetimi</strong>: Alt şirketin logosu, şirketin marka kimliğini yansıtmak için kullanılır ve sistem üzerinden yüklenebilir veya güncellenebilir.</p>\n</li>\n<li><p><strong>Grup Erişim Kontrolleri</strong>: Alt şirketler, belirli erişim kontrolleri ve grup erişim izinleri ile yönetilebilir. Bu, şirket içindeki veri güvenliği ve erişim yönetimi politikalarına uyum sağlar.</p>\n</li>\n</ul>\n","_postman_id":"5a42c7bd-eba5-4e16-97e5-d130736b0fc5","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Shift Settings","item":[{"name":"List Shift Settings","event":[{"listen":"test","script":{"id":"528a7445-ae1c-464f-92da-9438c4ee86c4","exec":["pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Response has success field\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('success');","});","","pm.test(\"Response has data field\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('data');","});","","pm.test(\"Data contains shift settings fields\", function () {","    var jsonData = pm.response.json();","    pm.expect(jsonData.data).to.have.property('id');","    pm.expect(jsonData.data).to.have.property('company_id');","    pm.expect(jsonData.data).to.have.property('full_time_hours');","    pm.expect(jsonData.data).to.have.property('part_time_hours');","});"],"type":"text/javascript","packages":{}}}],"id":"a85a2694-398e-4610-911f-6209ec15efc6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"url":"https://api.passgage.com/api/public/v1//shift_settings","description":"<p>Şirketin vardiya ayarlarını getirir. Bu endpoint şirket başına tek bir vardiya ayarı konfigürasyonu döndürür.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","","shift_settings"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"a3d9412b-e62a-49cc-a973-4ffcc5ceb9b3","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{base_url}}/api/public/v1/shift_settings"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"Successfully retrieved shift settings\",\n  \"data\": {\n    \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"company_id\": \"123e4567-e89b-12d3-a456-426614174001\",\n    \"today_ends_at\": \"23:59\",\n    \"next_day_starts_at\": \"00:00\",\n    \"month_is_30_days\": false,\n    \"equalize_hours\": true,\n    \"equalize_hours_for_missing_shifts\": true,\n    \"equalize_hours_for_missing_hours\": true,\n    \"equalize_hours_for_unpaid_leaves\": false,\n    \"repeating_shift_count\": 1,\n    \"last_entry_time_for_shifts\": \"08:00\",\n    \"lock_approved_shifts\": true,\n    \"full_time_hours\": 8.0,\n    \"part_time_hours\": 4.0,\n    \"equalize_period\": \"monthly\",\n    \"equalize_can_be_negative\": false,\n    \"shift_day_detection\": \"auto\",\n    \"equalize_for_webshift\": true,\n    \"equalize_for_pdks\": true,\n    \"day_out_time_at\": \"18:00\",\n    \"round_overtime\": 15,\n    \"round_missing_hours\": 15,\n    \"round_actual_hours\": 15,\n    \"equalize_for_monthly_pdks\": true,\n    \"equalize_for_monthly_webshift\": true,\n    \"overtime_should_be_approved\": true,\n    \"payroll_balanced_at\": \"2024-01-01T00:00:00Z\",\n    \"absentee_notification\": true,\n    \"allow_multiple_shifts_per_day\": false,\n    \"rotation_day_limitation\": 30,\n    \"created_at\": \"2024-01-01T00:00:00Z\",\n    \"updated_at\": \"2024-01-01T00:00:00Z\",\n    \"extra_work_types\": [\n      {\n        \"id\": \"123e4567-e89b-12d3-a456-426614174002\",\n        \"name\": \"Fazla Mesai\",\n        \"multiplier\": 1.5,\n        \"is_active\": true\n      }\n    ],\n    \"timesheet_rounds\": [\n      {\n        \"id\": \"123e4567-e89b-12d3-a456-426614174003\",\n        \"round_type\": \"overtime\",\n        \"round_minutes\": 15\n      }\n    ]\n  },\n  \"meta\": {}\n}"},{"id":"c1550f04-d757-461d-a53d-ba037b9b05cd","name":"Not Found Response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{base_url}}/api/public/v1/shift_settings"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"status\": 404,\n  \"message\": \"Shift settings not found\",\n  \"data\": {},\n  \"meta\": {}\n}"},{"id":"d0a74981-cd31-409e-b39d-fca7e20bac84","name":"Unauthorized Response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer invalid_token","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{base_url}}/api/public/v1/shift_settings"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"errors\": [\"Access denied\"]\n}"}],"_postman_id":"a85a2694-398e-4610-911f-6209ec15efc6"}],"id":"c519efc8-0708-45ea-98c7-ed4351412f89","description":"<h1 id=\"shift-settings-api-dokümantasyonu\">Shift Settings API Dokümantasyonu</h1>\n<h2 id=\"genel-bakış\">Genel Bakış</h2>\n<p>Shift Settings API'si, şirketlerin vardiya ayarlarını yönetmesine olanak tanır. Bu API endpoint'i, vardiya hesaplamalarında kullanılan tüm ayarları ve konfigürasyonları döndürür.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>Tüm istekler için Bearer Token authentication gereklidir.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer YOUR_API_TOKEN\n\n</code></pre><h2 id=\"base-url\">Base URL</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api.yourapp.com/api/public/v1\n\n</code></pre><h2 id=\"endpoints\">Endpoints</h2>\n<h3 id=\"1-vardiya-ayarlarını-listele\">1. Vardiya Ayarlarını Listele</h3>\n<p>Şirketin vardiya ayarlarını getirir.</p>\n<h4 id=\"request\">Request</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">GET /shift_settings\n\n</code></pre>\n<h4 id=\"headers\">Headers</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td>Bearer {token}</td>\n<td>✅</td>\n</tr>\n<tr>\n<td>Content-Type</td>\n<td>application/json</td>\n<td>✅</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<p><strong>200 OK</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"Successfully retrieved shift settings\",\n  \"data\": {\n    \"id\": \"uuid\",\n    \"company_id\": \"uuid\",\n    \"today_ends_at\": \"23:59\",\n    \"next_day_starts_at\": \"00:00\",\n    \"month_is_30_days\": false,\n    \"equalize_hours\": true,\n    \"equalize_hours_for_missing_shifts\": true,\n    \"equalize_hours_for_missing_hours\": true,\n    \"equalize_hours_for_unpaid_leaves\": false,\n    \"repeating_shift_count\": 1,\n    \"last_entry_time_for_shifts\": \"08:00\",\n    \"lock_approved_shifts\": true,\n    \"full_time_hours\": 8.0,\n    \"part_time_hours\": 4.0,\n    \"equalize_period\": \"monthly\",\n    \"equalize_can_be_negative\": false,\n    \"shift_day_detection\": \"auto\",\n    \"equalize_for_webshift\": true,\n    \"equalize_for_pdks\": true,\n    \"day_out_time_at\": \"18:00\",\n    \"round_overtime\": 15,\n    \"round_missing_hours\": 15,\n    \"round_actual_hours\": 15,\n    \"equalize_for_monthly_pdks\": true,\n    \"equalize_for_monthly_webshift\": true,\n    \"overtime_should_be_approved\": true,\n    \"payroll_balanced_at\": \"2024-01-01T00:00:00Z\",\n    \"absentee_notification\": true,\n    \"allow_multiple_shifts_per_day\": false,\n    \"rotation_day_limitation\": 30,\n    \"created_at\": \"2024-01-01T00:00:00Z\",\n    \"updated_at\": \"2024-01-01T00:00:00Z\",\n    \"extra_work_types\": [\n      {\n        \"id\": \"uuid\",\n        \"name\": \"Fazla Mesai\",\n        \"multiplier\": 1.5,\n        \"is_active\": true\n      }\n    ],\n    \"timesheet_rounds\": [\n      {\n        \"id\": \"uuid\",\n        \"round_type\": \"overtime\",\n        \"round_minutes\": 15\n      }\n    ]\n  },\n  \"meta\": {}\n}\n\n</code></pre>\n<p><strong>404 Not Found</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 404,\n  \"message\": \"Shift settings not found\",\n  \"data\": {},\n  \"meta\": {}\n}\n\n</code></pre>\n<h2 id=\"veri-alanları-açıklaması\">Veri Alanları Açıklaması</h2>\n<h3 id=\"ana-ayarlar\">Ana Ayarlar</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>UUID</td>\n<td>Vardiya ayarı benzersiz kimliği</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>UUID</td>\n<td>Şirket kimliği</td>\n</tr>\n<tr>\n<td><code>today_ends_at</code></td>\n<td>String</td>\n<td>Günün bitiş saati (HH:MM)</td>\n</tr>\n<tr>\n<td><code>next_day_starts_at</code></td>\n<td>String</td>\n<td>Sonraki günün başlangıç saati (HH:MM)</td>\n</tr>\n<tr>\n<td><code>month_is_30_days</code></td>\n<td>Boolean</td>\n<td>Ay hesaplamalarında 30 gün kullanılsın mı</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"eşitleme-ayarları\">Eşitleme Ayarları</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>equalize_hours</code></td>\n<td>Boolean</td>\n<td>Saat eşitleme aktif mi</td>\n</tr>\n<tr>\n<td><code>equalize_hours_for_missing_shifts</code></td>\n<td>Boolean</td>\n<td>Eksik vardiyalar için eşitleme</td>\n</tr>\n<tr>\n<td><code>equalize_hours_for_missing_hours</code></td>\n<td>Boolean</td>\n<td>Eksik saatler için eşitleme</td>\n</tr>\n<tr>\n<td><code>equalize_hours_for_unpaid_leaves</code></td>\n<td>Boolean</td>\n<td>Ücretsiz izinler için eşitleme</td>\n</tr>\n<tr>\n<td><code>equalize_period</code></td>\n<td>String</td>\n<td>Eşitleme periyodu (monthly, weekly, daily)</td>\n</tr>\n<tr>\n<td><code>equalize_can_be_negative</code></td>\n<td>Boolean</td>\n<td>Negatif eşitlemeye izin ver</td>\n</tr>\n<tr>\n<td><code>equalize_for_webshift</code></td>\n<td>Boolean</td>\n<td>Web vardiya için eşitleme</td>\n</tr>\n<tr>\n<td><code>equalize_for_pdks</code></td>\n<td>Boolean</td>\n<td>PDKS için eşitleme</td>\n</tr>\n<tr>\n<td><code>equalize_for_monthly_pdks</code></td>\n<td>Boolean</td>\n<td>Aylık PDKS için eşitleme</td>\n</tr>\n<tr>\n<td><code>equalize_for_monthly_webshift</code></td>\n<td>Boolean</td>\n<td>Aylık web vardiya için eşitleme</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"çalışma-saatleri\">Çalışma Saatleri</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>full_time_hours</code></td>\n<td>Float</td>\n<td>Tam zamanlı çalışma saati</td>\n</tr>\n<tr>\n<td><code>part_time_hours</code></td>\n<td>Float</td>\n<td>Yarı zamanlı çalışma saati</td>\n</tr>\n<tr>\n<td><code>day_out_time_at</code></td>\n<td>String</td>\n<td>Gün çıkış saati</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"vardiya-ayarları\">Vardiya Ayarları</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>repeating_shift_count</code></td>\n<td>Integer</td>\n<td>Tekrarlayan vardiya sayısı</td>\n</tr>\n<tr>\n<td><code>last_entry_time_for_shifts</code></td>\n<td>String</td>\n<td>Vardiyalar için son giriş saati</td>\n</tr>\n<tr>\n<td><code>lock_approved_shifts</code></td>\n<td>Boolean</td>\n<td>Onaylanmış vardiyalar kilitlensin mi</td>\n</tr>\n<tr>\n<td><code>shift_day_detection</code></td>\n<td>String</td>\n<td>Vardiya günü algılama (auto, manual)</td>\n</tr>\n<tr>\n<td><code>allow_multiple_shifts_per_day</code></td>\n<td>Boolean</td>\n<td>Günde birden fazla vardiyaya izin ver</td>\n</tr>\n<tr>\n<td><code>rotation_day_limitation</code></td>\n<td>Integer</td>\n<td>Rotasyon gün sınırı</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"yuvarlama-ayarları\">Yuvarlama Ayarları</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>round_overtime</code></td>\n<td>Integer</td>\n<td>Fazla mesai yuvarlama (dakika)</td>\n</tr>\n<tr>\n<td><code>round_missing_hours</code></td>\n<td>Integer</td>\n<td>Eksik saat yuvarlama (dakika)</td>\n</tr>\n<tr>\n<td><code>round_actual_hours</code></td>\n<td>Integer</td>\n<td>Gerçek saat yuvarlama (dakika)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"diğer-ayarlar\">Diğer Ayarlar</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>overtime_should_be_approved</code></td>\n<td>Boolean</td>\n<td>Fazla mesai onaylanmalı mı</td>\n</tr>\n<tr>\n<td><code>payroll_balanced_at</code></td>\n<td>DateTime</td>\n<td>Bordro dengesi tarihi</td>\n</tr>\n<tr>\n<td><code>absentee_notification</code></td>\n<td>Boolean</td>\n<td>Devamsızlık bildirimi aktif mi</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"i̇lişkili-veriler\">İlişkili Veriler</h3>\n<h4 id=\"extra-work-types\">Extra Work Types</h4>\n<p>Fazla mesai türleri listesi</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>UUID</td>\n<td>Fazla mesai türü kimliği</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>String</td>\n<td>Fazla mesai türü adı</td>\n</tr>\n<tr>\n<td><code>multiplier</code></td>\n<td>Float</td>\n<td>Çarpan oranı</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>Boolean</td>\n<td>Aktif durumu</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"timesheet-rounds\">Timesheet Rounds</h4>\n<p>Zaman çizelgesi yuvarlama ayarları</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>UUID</td>\n<td>Yuvarlama ayarı kimliği</td>\n</tr>\n<tr>\n<td><code>round_type</code></td>\n<td>String</td>\n<td>Yuvarlama türü</td>\n</tr>\n<tr>\n<td><code>round_minutes</code></td>\n<td>Integer</td>\n<td>Yuvarlama dakikası</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"hata-kodları\">Hata Kodları</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>HTTP Status</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>Başarılı</td>\n</tr>\n<tr>\n<td>401</td>\n<td>Yetkisiz erişim - Geçersiz token</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Vardiya ayarları bulunamadı</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Sunucu hatası</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"örnek-kullanım\">Örnek Kullanım</h2>\n<h3 id=\"curl\">cURL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \\\n  https://api.yourapp.com/api/public/v1/shift_settings \\\n  -H 'Authorization: Bearer YOUR_API_TOKEN' \\\n  -H 'Content-Type: application/json'\n\n</code></pre>\n<h2 id=\"notlar\">Notlar</h2>\n<ul>\n<li><p>Bu endpoint sadece okuma (GET) işlemini destekler</p>\n</li>\n<li><p>Şirket başına tek bir vardiya ayarı konfigürasyonu bulunur</p>\n</li>\n<li><p>Eğer hiç vardiya ayarı oluşturulmamışsa 404 hatası döner</p>\n</li>\n<li><p>Tüm zaman alanları şirketin timezone'ına göre döndürülür</p>\n</li>\n<li><p>Boolean alanlar true/false değerleri alır</p>\n</li>\n<li><p>Yuvarlama değerleri dakika cinsinden belirtilir (5, 15, 30 gibi)</p>\n</li>\n</ul>\n","_postman_id":"c519efc8-0708-45ea-98c7-ed4351412f89","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"TargetGoal","item":[{"name":"list","id":"4b3167de-1961-431e-b6ae-bde7a77a54a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/target_goals","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","target_goals"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4b3167de-1961-431e-b6ae-bde7a77a54a5"},{"name":"create","id":"c4b71fbb-5502-421a-a827-4a4ca7e72d6a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"target_goal\": {\n        \"target_category_name\": \"SalesGoals1\",\n        \"target_name\": \"MonthlySales1\",\n        \"department_name\": \"Mağaza\",\n        \"client_id\": \"16871047\",\n        \"actual_goal\": 270000,\n        \"end_date\": \"2024-01-31T00:00:00\",\n        \"start_date\": \"2024-01-01T00:00:00\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/target_goals","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","target_goals"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c4b71fbb-5502-421a-a827-4a4ca7e72d6a"},{"name":"delete","id":"9e31187b-5a62-4947-9487-189ddc73458c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/target_goals/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","target_goals",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"id":"508e42d0-d87c-4ea9-a854-831e7097c69b","type":"any","value":null,"key":"id"}]}},"response":[],"_postman_id":"9e31187b-5a62-4947-9487-189ddc73458c"},{"name":"update","id":"d5413489-a638-4814-bd61-35ea66d30d02","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"target_category_name\": \"Sales Goals2\",\n    \"target_name\": \"Quarterly Sales\",\n    \"department_name\": \"adasdasdasd\",\n    \"client_id\": \"123345\",\n    \"actual_goal\": 100002,\n    \"end_date\": \"2023-06-30\",\n    \"start_date\": \"2023-04-01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/target_goals/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","target_goals",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"id":"218caedd-79ef-41e5-9256-4ad25c5a1460","type":"any","value":null,"key":"id"}]}},"response":[],"_postman_id":"d5413489-a638-4814-bd61-35ea66d30d02"},{"name":"update","id":"273b5e8c-7815-4b1d-af5b-d2724ab0e2fc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"target_category_name\": \"Sales Goals2\",\n    \"target_name\": \"Quarterly Sales\",\n    \"department_name\": \"adasdasdasd\",\n    \"client_id\": \"123345\",\n    \"actual_goal\": 100002,\n    \"end_date\": \"2023-06-30\",\n    \"start_date\": \"2023-04-01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/target_goals/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","target_goals",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"id":"a1f12cdf-6725-42e4-b48d-6e875d7c2fc2","type":"any","value":null,"key":"id"}]}},"response":[],"_postman_id":"273b5e8c-7815-4b1d-af5b-d2724ab0e2fc"}],"id":"0a787387-f381-49d0-ae1d-f5c3f7f7b091","description":"<p><code>TargetGoal</code> api, şirket çalışanlarının hedeflerini ve bu hedeflere ulaşmada kaydettikleri gerçekleşmeleri yönetir. Bu api, hedef kategorisi, hedef adı, başlangıç ve bitiş tarihleri ile hedefe ulaşılan gerçek değerleri içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Her hedef kaydı, hedefin adını, kategorisini ve ilgili dönem bilgilerini barındırır.</p>\n</li>\n<li><p>Hedefler, çalışanların performans değerlendirmelerinde ve motivasyonlarında önemli bir rol oynar.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><code>target_name</code>, <code>start_date</code>, <code>end_date</code>: Bu alanlar hedef tanımı için zorunludur.</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li><p>Hedeflerin başlangıç ve bitiş tarihleri mantıklı bir sıralama içermelidir; başlangıç tarihi, bitiş tarihinden önce olmalıdır.</p>\n</li>\n<li><p><code>actual_goal</code>: Bu, hedefe ulaşılan gerçek değeri temsil eder ve performans değerlendirmelerinde kullanılır.</p>\n</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Hedef Oluşturma</strong></td>\n<td>Yeni hedef kaydı</td>\n<td><code>target_name</code>, <code>start_date</code>, <code>end_date</code></td>\n</tr>\n<tr>\n<td><strong>Hedef Güncelleme</strong></td>\n<td>Mevcut hedef bilgilerini güncelleme</td>\n<td>Hedef detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Hedef Silme</strong></td>\n<td>Hedef kaydını sistemden kaldırma</td>\n<td>İlgili hedef kaydı kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Hedef Kaydı</strong>: Şirket stratejileri veya bireysel performans hedefleri doğrultusunda yeni bir hedef belirlendiğinde bu model kullanılarak sistemde yeni bir hedef kaydı oluşturulur.</p>\n</li>\n<li><p><strong>Hedef Bilgilerinin Güncellenmesi</strong>: Hedef adı, kategorisi veya hedeflenen değerler gibi bilgiler zamanla güncellenebilir. Bu işlemler, hedefin güncel durumunu ve şirket içindeki konumunu yansıtacak şekilde yapılabilir.</p>\n</li>\n<li><p><strong>Hedef İzleme ve Yönetimi</strong>: Hedefler, belirlenen dönemler boyunca yönetilir ve izlenir. Bu süreç, çalışanların motivasyonunu ve hedeflere ulaşma durumunu değerlendirir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><strong>Hedef Kategorisi ve Kullanıcı Bağlantısı</strong>: Hedefler, belirli kategorilere ve kullanıcılara atanabilir. Bu atamalar, hedeflerin daha detaylı yönetilmesini ve izlenmesini sağlar.</li>\n</ul>\n","_postman_id":"0a787387-f381-49d0-ae1d-f5c3f7f7b091","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Temporary Assignment","item":[{"name":"lists","id":"c6787265-0af1-43c3-9597-3a2e3a4dd8d1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"url":"https://api.passgage.com/api/public/v1/temporary_assignments?page=1&per_page=10","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","temporary_assignments"],"host":["https://api.passgage.com"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>We should get the user's assignment requests with this param</p>\n","type":"text/plain"},"key":"q[user_id_eq]","value":"b163e23b-af4d-44ab-b894-2617c2d7b70c"}],"variable":[]}},"response":[{"id":"d8ca287f-b463-450a-b08f-0a8f136b5647","name":"200","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer psg_cmp_oKBzZMg82uqdyYyeN6FDaLRq37dTXa","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/assignment_requests?page=1&per_page=10&user_id=c634175a-3d1d-4302-b5de-f550becb1e8e","host":["https://api.passgage.com"],"path":["api","public","v1","assignment_requests"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"10"},{"key":"user_id","value":"c634175a-3d1d-4302-b5de-f550becb1e8e","type":"text"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"c6787265-0af1-43c3-9597-3a2e3a4dd8d1"},{"name":"show","id":"e467cea8-15c2-4d93-9b31-476059fc4b31","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/temporary_assignments/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","temporary_assignments",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"id":"99fd9856-e940-4861-a99f-7220553120c1","type":"any","value":"a6e805fb-e62e-4229-9278-a6382b90b658","key":"id"}]}},"response":[{"id":"d77fa6ac-ea98-413f-a63a-f78038d61ce8","name":"200","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer psg_cmp_oKBzZMg82uqdyYyeN6FDaLRq37dTXa","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/assignment_requests/:id?user_id=c634175a-3d1d-4302-b5de-f550becb1e8e","host":["https://api.passgage.com"],"path":["api","public","v1","assignment_requests",":id"],"query":[{"key":"user_id","value":"c634175a-3d1d-4302-b5de-f550becb1e8e"}],"variable":[{"key":"id","value":"31c78e3f-c17c-4fa6-ab2e-2ad8dd5bbdb4"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"e467cea8-15c2-4d93-9b31-476059fc4b31"}],"id":"d6a8dfe0-0372-47a0-b296-90aae4cdb320","description":"<p><code>TemporaryAssignment</code> api, çalışanların geçici görevlendirilmelerini yönetir. Bu api, geçici atamaların başlangıç ve bitiş tarihlerini, durumunu ve atanan çalışanın geçici ve orijinal pozisyonlarını içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Her geçici atama, bir açıklama, başlangıç ve bitiş tarihi, geçici ve orijinal pozisyonlar gibi temel bilgileri barındırır.</p>\n</li>\n<li><p>Geçici atamalar, çalışanların geçici süreyle farklı iş pozisyonlarında veya şubelerde görev yapmalarını sağlar.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><code>start_date</code>, <code>end_date</code>: Atama için bu tarihler zorunludur ve doğru bir zaman aralığını yansıtmalıdır.</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li><p>Başlangıç tarihi, bitiş tarihinden önce olmalıdır.</p>\n</li>\n<li><p>Atama süresince, çalışanın orijinal ve geçici pozisyonları ve şubeleri net olarak tanımlanmalıdır.</p>\n</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Geçici Atama Oluşturma</strong></td>\n<td>Yeni geçici atama kaydı</td>\n<td><code>start_date</code>, <code>end_date</code>, <code>branch_id</code>, <code>job_position_id</code></td>\n</tr>\n<tr>\n<td><strong>Geçici Atama Güncelleme</strong></td>\n<td>Mevcut geçici atama bilgilerini güncelleme</td>\n<td>Atama detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Geçici Atama İptali</strong></td>\n<td>Geçici atama kaydının iptali</td>\n<td>İlgili geçici atama kaydı kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Geçici Atama Kaydı</strong>: Bir çalışan belirli bir projede veya geçici bir görevde yer almak üzere geçici olarak atanabilir.</p>\n</li>\n<li><p><strong>Atama Onayı ve Başlatılması</strong>: Atamalar, ilgili yöneticiler tarafından onaylandıktan sonra başlatılır ve çalışanın geçici pozisyonu aktif hale gelir.</p>\n</li>\n<li><p><strong>Atama İzleme ve Yönetimi</strong>: Geçici atamalar, başlangıç ve bitiş tarihleri arasında yönetilir ve izlenir. Bu süreç, çalışanın performansının ve uyumunun değerlendirilmesine olanak tanır.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><p><strong>İptal İşlemleri</strong>: Atama iptal edildiğinde, çalışanın pozisyon bilgileri orijinal ayarlarına döndürülür ve geçici atama kaydı sistemden kaldırılır.</p>\n</li>\n<li><p><strong>Durum Güncellemeleri</strong>: Geçici atamanın durumu (<code>pending</code>, <code>started</code>, <code>completed</code>, <code>cancelled</code>), atamanın mevcut aşamasını ve işlem durumunu yansıtır.</p>\n</li>\n</ul>\n","_postman_id":"d6a8dfe0-0372-47a0-b296-90aae4cdb320","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Titles","item":[{"name":"list","event":[{"listen":"test","script":{"id":"1546b235-937e-4f50-b49c-5470c03def82","exec":["pm.test(\"Status code is 200\", function () {","    pm.response.to.have.status(200);","});","","const responses = pm.response.json();","","pm.collectionVariables.set(\"titleId\", responses['data'][0].id);"],"type":"text/javascript"}}],"id":"23ba78bf-2beb-4d3b-9615-5bb482557753","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.passgage.com/api/public/v1/titles","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","titles"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"83a4736a-ca95-4319-9105-7af2ceb2a1a8","name":"200","originalRequest":{"method":"GET","header":[],"url":"https://api.passgage.com/api/public/v1/titles"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"f8026610-2644-4f50-9e94-38dee3679888"},{"key":"X-Runtime","value":"0.139206"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"ftt4n684ivwzrabne8jx,jxyjx97enfjz8ze5fjia,4fhf2m8knvov9z7b579k,h2wpa2bql9cagda3gqdk,ei8xsjjyb2t0q8l20ydl,3rfgfwzl11rgktzd7y5k,jgz4yqgfplhv3cfa2q1p,l12jg9m31q8l22mqrcvs,6fexgm7vkqa9s25hy4c1,ni86w7kpmjdk5zb06d92,j8fwqzl9078z6i55u8pz,macehmly5oehss37maqr,loyykn8csqojscpuidvy,cx2pe4dlkufju87c2633,sflrphd18h9xrlcxpdet,iwecf536uphp380lh6v1,2bfokne9wm1lrisp990o,xoiqye1qjpddjhaff557,hilfe9uqyjwnts4z70zo,ns3rq1ksxap400o3wu4h"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"195e6481-7bb2-48e2-a59a-27683f35506e\",\n            \"name\": \"Satış Elemanı (Bijuteri)\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2024-02-05T15:01:33.231+03:00\",\n            \"updated_at\": \"2024-02-05T15:01:33.231+03:00\"\n        },\n        {\n            \"id\": \"cdaaa7e8-02fa-4591-a89a-b588ac7b4f98\",\n            \"name\": \"Part-Time Kasiyer\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-12-07T17:00:31.179+03:00\",\n            \"updated_at\": \"2023-12-07T17:00:31.179+03:00\"\n        },\n        {\n            \"id\": \"051553c0-ca2b-4893-8958-b2d35b4fe848\",\n            \"name\": \"Şoför\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-27T14:03:21.984+03:00\",\n            \"updated_at\": \"2023-11-27T14:03:21.984+03:00\"\n        },\n        {\n            \"id\": \"f31f67d2-08e9-4a9d-8844-7f1e7c85ffa3\",\n            \"name\": \"Ambalajcı (El İle)\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T10:03:28.261+03:00\",\n            \"updated_at\": \"2023-11-22T10:03:28.261+03:00\"\n        },\n        {\n            \"id\": \"3e829c2d-2c00-4997-8bdf-0ccfc6c7f1ea\",\n            \"name\": \"Bilgi Sistemleri Yöneticisi\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:58:16.798+03:00\",\n            \"updated_at\": \"2023-11-22T09:58:16.798+03:00\"\n        },\n        {\n            \"id\": \"7ba77118-7f5b-46af-bb42-973cd595b47a\",\n            \"name\": \"Ürün Yönetimi\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:58:02.086+03:00\",\n            \"updated_at\": \"2023-11-22T09:58:02.086+03:00\"\n        },\n        {\n            \"id\": \"edaa659d-7b6a-4296-a355-5a557f1701c0\",\n            \"name\": \"Sistem Destek Yöneticisi\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:57:47.983+03:00\",\n            \"updated_at\": \"2023-11-22T09:57:47.983+03:00\"\n        },\n        {\n            \"id\": \"8c4f6771-d710-445e-9f5d-5539e7366d45\",\n            \"name\": \"Bölge Müdürü\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:56:44.879+03:00\",\n            \"updated_at\": \"2023-11-22T09:56:44.879+03:00\"\n        },\n        {\n            \"id\": \"12ee1beb-3612-4cb3-a5fd-5566af731447\",\n            \"name\": \"Endüstri Mühendisi\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:55:27.045+03:00\",\n            \"updated_at\": \"2023-11-22T09:55:27.045+03:00\"\n        },\n        {\n            \"id\": \"6911e5e4-858a-40b3-aba9-a60cfbc8e60d\",\n            \"name\": \"İnsan Kaynakları Müdürü\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:53:08.957+03:00\",\n            \"updated_at\": \"2023-11-22T09:53:08.957+03:00\"\n        },\n        {\n            \"id\": \"018385ea-279a-4271-95e0-4186779c7d47\",\n            \"name\": \"Ürün Yönetimi Yöneticisi\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:51:36.697+03:00\",\n            \"updated_at\": \"2023-11-22T09:51:36.697+03:00\"\n        },\n        {\n            \"id\": \"5c23244c-395f-4359-9194-f162ac639906\",\n            \"name\": \"Görsel Düzenleme Uzman Yardımcısı\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:49:12.044+03:00\",\n            \"updated_at\": \"2023-11-22T09:49:12.044+03:00\"\n        },\n        {\n            \"id\": \"23d4c6b8-e8aa-44d2-9d00-fd95e781a33d\",\n            \"name\": \"Part Destek Personel\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:25:32.073+03:00\",\n            \"updated_at\": \"2023-11-22T09:25:32.073+03:00\"\n        },\n        {\n            \"id\": \"b9dbacd0-6c2c-4cc7-93bd-f5fe862947df\",\n            \"name\": \"Temizlik Personeli\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:20:31.376+03:00\",\n            \"updated_at\": \"2023-11-22T09:20:31.376+03:00\"\n        },\n        {\n            \"id\": \"7c9a5afe-9159-4690-84a7-1386ab597238\",\n            \"name\": \"Elektrik Teknisyeni\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:16:38.973+03:00\",\n            \"updated_at\": \"2023-11-22T09:16:38.973+03:00\"\n        },\n        {\n            \"id\": \"5b1a95f0-0d5a-4d2f-a3d7-99bfa2d2c000\",\n            \"name\": \"Parttime Runner\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:10:04.134+03:00\",\n            \"updated_at\": \"2023-11-22T09:10:04.134+03:00\"\n        },\n        {\n            \"id\": \"f67008f3-4f96-4246-8c6c-2ef6cefe2b97\",\n            \"name\": \"Elektrik Tamircisi\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T09:01:30.560+03:00\",\n            \"updated_at\": \"2023-11-22T09:01:30.560+03:00\"\n        },\n        {\n            \"id\": \"855e4252-f646-4b4d-af82-e19ea1733bae\",\n            \"name\": \"Tasarım Asistanı\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T08:59:06.061+03:00\",\n            \"updated_at\": \"2023-11-22T08:59:06.061+03:00\"\n        },\n        {\n            \"id\": \"4f537587-e13a-4947-b21f-38ca44e5471f\",\n            \"name\": \"İş Güvenliği Ve Sağlığı Uzm.\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T08:56:29.691+03:00\",\n            \"updated_at\": \"2023-11-22T08:56:29.691+03:00\"\n        },\n        {\n            \"id\": \"6227fe15-1233-4cd3-a2e0-b189565b286c\",\n            \"name\": \"Ürün Müdürü\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T08:53:52.863+03:00\",\n            \"updated_at\": \"2023-11-22T08:53:52.863+03:00\"\n        },\n        {\n            \"id\": \"f70a6461-4adf-4a85-abfa-b7df5dbde4f3\",\n            \"name\": \"Muhasebe\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T08:53:35.209+03:00\",\n            \"updated_at\": \"2023-11-22T08:53:35.209+03:00\"\n        },\n        {\n            \"id\": \"62b8eacc-d4bb-42dd-a5e3-4f16877072c5\",\n            \"name\": \"Bilgi Sistemleri Uzmanı\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T08:53:22.000+03:00\",\n            \"updated_at\": \"2023-11-22T08:53:22.000+03:00\"\n        },\n        {\n            \"id\": \"0ea38b37-b364-4118-891b-4f21b1012943\",\n            \"name\": \"İş Sağlığı Ve Güvenliği Uzmanı\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T08:49:02.267+03:00\",\n            \"updated_at\": \"2023-11-22T08:49:02.267+03:00\"\n        },\n        {\n            \"id\": \"e2153eb4-843b-4581-88b0-f57a74681be6\",\n            \"name\": \"Beden İşçisi (Taşıma, Yükleme-Boşaltma)\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T08:42:48.328+03:00\",\n            \"updated_at\": \"2023-11-22T08:42:48.328+03:00\"\n        },\n        {\n            \"id\": \"f0a5fe95-2675-4bf4-ac91-e8ef6184705f\",\n            \"name\": \"Planlama Uzmanı\",\n            \"description\": null,\n            \"is_active\": null,\n            \"created_at\": \"2023-11-22T08:40:14.335+03:00\",\n            \"updated_at\": \"2023-11-22T08:40:14.335+03:00\"\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 8,\n        \"total_count\": 189\n    }\n}"}],"_postman_id":"23ba78bf-2beb-4d3b-9615-5bb482557753"}],"id":"3ce610eb-f5a3-44eb-a726-4b32f1869971","description":"<p><code>Title</code> api, şirket içindeki unvanları veya görev tanımlarını yönetir. Bu api, unvanların adını, açıklamasını ve aktiflik durumunu içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Her unvan, bir isim ve opsiyonel olarak bir açıklama barındırır.</p>\n</li>\n<li><p>Unvanlar, çalışanların görev tanımlarını ve şirket içindeki hiyerarşik pozisyonlarını belirler.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><code>name</code>: Unvan adı zorunludur ve genellikle benzersiz olmalıdır.</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li>Unvanlar aktif veya inaktif olarak işaretlenebilir (<code>is_active</code>). Bu durum, unvanın şirket operasyonlarında kullanılıp kullanılmadığını gösterir.</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Unvan Oluşturma</strong></td>\n<td>Yeni unvan kaydı</td>\n<td><code>name</code></td>\n</tr>\n<tr>\n<td><strong>Unvan Güncelleme</strong></td>\n<td>Mevcut unvan bilgilerini güncelleme</td>\n<td>Unvan detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Unvan Silme</strong></td>\n<td>Unvan kaydını sistemden kaldırma</td>\n<td>İlgili unvan kaydı kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Unvan Kaydı</strong>: Şirket bünyesinde yeni bir görev veya pozisyon oluşturulduğunda bu model kullanılarak sistemde yeni bir unvan kaydı oluşturulur.</p>\n</li>\n<li><p><strong>Unvan Bilgilerinin Güncellenmesi</strong>: Unvan adı veya açıklaması gibi bilgiler zamanla güncellenebilir. Bu işlemler, unvanın güncel durumu ve şirket içindeki konumunu yansıtacak şekilde yapılabilir.</p>\n</li>\n<li><p><strong>Unvan Silme ve Yeniden Yapılandırma</strong>: İş gereksinimleri değiştiğinde unvanlar yeniden yapılandırılabilir veya sistemden silinebilir.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><strong>Aktiflik Durumu</strong>: Unvanların aktiflik durumu, unvanın şirket içindeki kullanımına yönelik bir göstergedir. İnaktif unvanlar, geçici olarak kullanımdan kaldırılmış olabilir.</li>\n</ul>\n","_postman_id":"3ce610eb-f5a3-44eb-a726-4b32f1869971","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Users","item":[{"name":"list","id":"6168850f-2a58-4367-a31b-150a98699a36","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/users?q[client_id_eq]=1-2-3&q[id_eq]=c634175a-3d1d-4302-b5de&q[gsm_eq]=&q[first_name_eq]=ASLI&q[last_name_eq]=YASAN&q[full_name_eq]=&page=1&per_page=23&q[client_id_eq]=10000&q[first_name_or_last_name_cont]=ASLI YASAN&q[first_name_or_last_name_cont_any][]=ASLI&q[first_name_or_last_name_cont_any][]=YASAN","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","users"],"host":["https://api.passgage.com"],"query":[{"key":"q[client_id_eq]","value":"1-2-3"},{"key":"q[id_eq]","value":"c634175a-3d1d-4302-b5de"},{"key":"q[gsm_eq]","value":""},{"key":"q[first_name_eq]","value":"ASLI"},{"key":"q[last_name_eq]","value":"YASAN"},{"key":"q[full_name_eq]","value":""},{"key":"page","value":"1"},{"key":"per_page","value":"23"},{"key":"q[client_id_eq]","value":"10000"},{"key":"q[first_name_or_last_name_cont]","value":"ASLI YASAN"},{"key":"q[first_name_or_last_name_cont_any][]","value":"ASLI"},{"key":"q[first_name_or_last_name_cont_any][]","value":"YASAN"}],"variable":[]}},"response":[],"_postman_id":"6168850f-2a58-4367-a31b-150a98699a36"},{"name":"show","id":"697490d9-d58b-4894-a80e-b361aff524be","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}"}],"url":"https://api.passgage.com/api/public/v1/users/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","users",":id"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"key":"","value":""}],"variable":[{"type":"any","value":"","key":"id"}]}},"response":[],"_postman_id":"697490d9-d58b-4894-a80e-b361aff524be"},{"name":"user","id":"3c9fab54-feec-45be-ba0e-4e993dd47689","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secretKey}}"}],"body":{"mode":"raw","raw":"{\n  \"user\": {\n    \"email\": \"1630@eexample.com\",\n    \"gsm\": \"\",\n    \"first_name\": \"asdsd\",\n    \"last_name\": \"sdsadas\",\n    \"citizenship_number\": \"123134324321\",\n    \"is_active\": false,\n    \"client_id\": \"1630\",\n    \"gender\": \"man\",\n    \"birth_date\": \"1999-11-07\",\n    \"title_name\": \"STAFF-OPERATION\",\n    \"job_position_name\": \"CHEF DE PARTIE 2\",\n    \"supervisor_parent_id\": \"f56cbd2e-25d0-4eb8-9e20-6bbe0d59d6a7\",\n    \"activation_date\": \"2024-08-15\",\n    \"expired_date\": \"2025-06-19\",\n    \"zone_ids\": [\n      \"ffec27e0-83a2-4dde-84fd-fbc1025ebd19\",\n      \"eeba19e1-193b-4049-8427-a0c0fa3e1513\"\n    ],\n    \"leave_rule_id\": \"1efac0b2-0abe-414c-bf30-2ce399ba6cbd\",\n    \"holiday_calendar_id\": \"c86443dc-eb81-4eb5-87e0-c361db634080\",\n    \"working_day_id\": \"0c0fefc2-52e6-48c1-b42d-b48540401e12\",\n    \"sub_company_name\": \"sd\",\n    \"sub_company_code\": \"sd\",\n    \"branch_name\": \" CULINARY\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/users","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n<th>Örnek Kullanım</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>email veya gsm</td>\n<td>String</td>\n<td>E-mail veya cep telefonu numarası</td>\n<td>Evet</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>password</td>\n<td>String</td>\n<td>Kullanıcının şifresi</td>\n<td>Evet</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>password_confirmation</td>\n<td>String</td>\n<td>Şifrenin doğrulanması için tekrar girilmesi</td>\n<td>Evet</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>first_name</td>\n<td>String</td>\n<td>Kullanıcının adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>last_name</td>\n<td>String</td>\n<td>Kullanıcının soyadı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>job_position_id</td>\n<td>String</td>\n<td>Kullanıcının pozisyonunun tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>activation_date</td>\n<td>String</td>\n<td>Kullanıcının hesabının aktifleştirildiği tarih</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>citizenship_number</td>\n<td>String</td>\n<td>Kullanıcının kimlik numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>department_id</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu departmanın tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>username</td>\n<td>String</td>\n<td>Kullanıcı adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>about</td>\n<td>String</td>\n<td>Kullanıcı hakkında kısa açıklama</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>is_active</td>\n<td>Boolean</td>\n<td>Kullanıcının hesabının aktif olup olmadığı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>client_id</td>\n<td>String</td>\n<td>Müşteriye ait sicil numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>employee_id</td>\n<td>String</td>\n<td>Çalışanın firma içindeki tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>gender</td>\n<td>String</td>\n<td>Kullanıcının cinsiyeti</td>\n<td>Hayır</td>\n<td>man, woman</td>\n<td></td>\n</tr>\n<tr>\n<td>birth_date</td>\n<td>String</td>\n<td>Kullanıcının doğum tarihi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>branch_id</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu şubenin tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>sub_company_id</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu alt şirketin tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>nationality</td>\n<td>String</td>\n<td>Kullanıcının milliyeti</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>marital_status</td>\n<td>String</td>\n<td>Kullanıcının medeni durumu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td></td>\n<td>String</td>\n<td>Kullanıcının çocuk sayısı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>educational_status</td>\n<td>String</td>\n<td>Kullanıcının eğitim durumu</td>\n<td>Hayır</td>\n<td>primary, secondary</td>\n<td></td>\n</tr>\n<tr>\n<td>graduation_level</td>\n<td>String</td>\n<td>Kullanıcının mezuniyet seviyesi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>graduation_school</td>\n<td>String</td>\n<td>Kullanıcının son mezun olduğu okulun adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>bank_name</td>\n<td>String</td>\n<td>Kullanıcının hesap açtığı bankanın adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>account_type</td>\n<td>String</td>\n<td>Hesap türü</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>account_number</td>\n<td>String</td>\n<td>Hesap numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>iban</td>\n<td>String</td>\n<td>IBAN numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_contact_person</td>\n<td>String</td>\n<td>Acil durumda iletişime geçilecek kişinin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_person_proximity_degree</td>\n<td>String</td>\n<td>Acil durumda iletişime geçilecek kişi ile kullanıcının ilişki derecesi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_contact_person_1</td>\n<td>String</td>\n<td>İkinci acil durumda iletişime geçilecek kişinin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_person_proximity_degree_1</td>\n<td>String</td>\n<td>İkinci acil durumda iletişime geçilecek kişi ile kullanıcının ilişki derecesi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_contact_phone</td>\n<td>String</td>\n<td>Acil durumda iletişim numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>other_gsm</td>\n<td>String</td>\n<td>İkinci bir cep telefonu numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>organization_unit_id</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu organizasyon biriminin tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>title_id</td>\n<td>String</td>\n<td>Kullanıcının unvanının tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>expired_date</td>\n<td>String</td>\n<td>Kullanıcının işten ayrıldığı tarih</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>reason_for_leave_id</td>\n<td>String</td>\n<td>Kullanıcının işten ayrılma sebebinin tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>shift_id</td>\n<td>String</td>\n<td>Kullanıcının çalıştığı vardiyaya ait tanımlayıcı numara</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>faculty_name</td>\n<td>String</td>\n<td>Kullanıcının mezun olduğu fakültenin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>university_department</td>\n<td>String</td>\n<td>Kullanıcının üniversitedeki bölümünün adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>employee_type</td>\n<td>String</td>\n<td>Kullanıcının kullanıcı tipi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>supervisor_registration_number</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu yöneticinin entegrasyon numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>branch_name</td>\n<td>String</td>\n<td>Şubenin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>branch_code</td>\n<td>String</td>\n<td>Şubenin kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>group_name</td>\n<td>String</td>\n<td>Kullanıcı grubunun adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>group_code</td>\n<td>String</td>\n<td>Kullanıcı grubunun kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>department_name</td>\n<td>String</td>\n<td>Departmanın adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>department_code</td>\n<td>String</td>\n<td>Departmanın kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>job_position_name</td>\n<td>String</td>\n<td>Pozisyonun adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>job_position_code</td>\n<td>String</td>\n<td>Pozisyonun kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>title_name</td>\n<td>String</td>\n<td>Unvanın adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>title_code</td>\n<td>String</td>\n<td>Unvanın kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>sub_company_name</td>\n<td>String</td>\n<td>Alt şirketin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>sub_company_code</td>\n<td>String</td>\n<td>Alt şirketin kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>device_name</td>\n<td>String</td>\n<td>Cihazın adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>device_code</td>\n<td>String</td>\n<td>Cihazın kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>device_ids</td>\n<td>String</td>\n<td>Cihazın kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td>[\"ab8773ca-e685-43f4-9b5f-c6\", \"5bee0bdc-ef81-4a07-8e93-98d4\"]</td>\n</tr>\n<tr>\n<td>access_zone_name</td>\n<td>String</td>\n<td>Erişim bölgesinin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>access_zone_code</td>\n<td>String</td>\n<td>Erişim bölgesinin kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>zone_ids</td>\n<td>Array</td>\n<td>Erişim bölgesinin kodlar</td>\n<td>Hayır</td>\n<td>-</td>\n<td>[\"ab8773ca-e685-43f4-9b5f-c6\", \"5bee0bdc-ef81-4a07-8e93-98d4\"]</td>\n</tr>\n<tr>\n<td>leave_balanced_at</td>\n<td>String</td>\n<td>İzin bakiyesi tarihi</td>\n<td>Hayır</td>\n<td>-</td>\n<td>\"2022-09-29\"</td>\n</tr>\n<tr>\n<td>leave_balance</td>\n<td>Decimal</td>\n<td>İzin bakiyesi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>type_of_work</td>\n<td>String</td>\n<td>Çalışma Türü</td>\n<td>Hayır</td>\n<td>full_time, part_time</td>\n<td>\"full_time\"</td>\n</tr>\n<tr>\n<td>organization_unit_name</td>\n<td>String</td>\n<td>Organizasyon Birimi</td>\n<td>Hayır</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>organization_unit_code</td>\n<td>String</td>\n<td>Organizasyon Birimi</td>\n<td>Hayır</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>calculation_type</td>\n<td>String</td>\n<td>Hesaplama Türü</td>\n<td>Hayır</td>\n<td>monthly,  <br />hourly</td>\n<td>\"hourly\"</td>\n</tr>\n<tr>\n<td>can_take_overtime</td>\n<td>String</td>\n<td>Fazla mesai alabilir</td>\n<td>Hayır</td>\n<td>yes,  <br />no</td>\n<td>\"yes\"</td>\n</tr>\n<tr>\n<td>shift_module</td>\n<td>String</td>\n<td>Vardiya modülü</td>\n<td>Hayır</td>\n<td>pacs,  <br />webshift</td>\n<td>\"pacs\"</td>\n</tr>\n<tr>\n<td>working_day_id</td>\n<td>String</td>\n<td>Çalışma Takvimi</td>\n<td>Hayır</td>\n<td></td>\n<td>\"7dfd2102-4150-4e91-bd35-0e1bea2f9171\"</td>\n</tr>\n<tr>\n<td>holiday_calendar_id</td>\n<td>String</td>\n<td>Tatil Takvimi</td>\n<td>Hayır</td>\n<td></td>\n<td>\"7dfd2102-4150-4e91-bd35-0e1bea2f9171\"</td>\n</tr>\n<tr>\n<td>leave_rule_id</td>\n<td>String</td>\n<td>İzin Kuralı</td>\n<td>Hayır</td>\n<td></td>\n<td>\"7dfd2102-4150-4e91-bd35-0e1bea2f9171\"</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","users"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"73a8c08e-3480-4dc8-889c-65908fa96b6e","name":"201","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"user\": {\n        \"email\": \"example123@example.com\",\n        \"password\": \"123456789\",\n        \"password_confirmation\": \"123456789\",\n        \"gsm\": \"5000000001\",\n        \"first_name\": \"JHON\",\n        \"last_name\": \"DUE\",\n        \"job_position_id\": null,\n        \"activation_date\": \"2022-09-29T00:00:00.000+03:00\",\n        \"citizenship_number\": \"TCK giirişı\",\n        \"department_id\": null,\n        \"username\": \"usenname\",\n        \"about\": \"About this personal\",\n        \"is_active\": true,\n        \"client_id\": \"2200303\",\n        \"gender\": \"woman\",\n        \"birth_date\": \"2004-11-22\",\n        \"branch_id\": null,\n        \"job_departure_date\": null,\n        \"user_type\": \"user\",\n        \"consumed_timestep\": null,\n        \"sub_company_id\": null,\n        \"nationality\": \"TÜRKİYE\",\n        \"marital_status\": \"\",\n        \"spouses_employment_status\": \"\",\n        \"disability_level\": \"\",\n        \"number_of_children\": \"\",\n        \"educational_status\": \"\",\n        \"graduation_level\": \"\",\n        \"graduation_school\": \"\",\n        \"bank_name\": \"\",\n        \"account_type\": \"\",\n        \"account_number\": \"\",\n        \"iban\": \"\",\n        \"emergency_contact_person\": \"DENİZ\",\n        \"emergency_person_proximity_degree\": \"Anne\",\n        \"emergency_contact_person_1\": \"ONUR\",\n        \"emergency_person_proximity_degree_1\": \"Baba\",\n        \"emergency_contact_phone\": \"\",\n        \"other_gsm\": null,\n        \"organization_unit_id\": null,\n        \"title_id\": null,\n        \"user_group_id\": null,\n        \"expired_date\": null,\n        \"reason_for_leave_id\": null,\n        \"shift_id\": null,\n        \"faculty_name\": \"MÜHENDİSLİK ve DOĞA BİLİMLERİ FAKÜLTESİ\",\n        \"university_department\": \"İŞLETME MÜHENDİSLİĞİ BÖLÜMÜ\",\n        \"employee_type\": \"dormitory_student\",\n        \"supervisor_registration_number\": \"794274d8-c180-450f-bfc2-53ef77f8ae68\",\n        \"branch_name\": \"asd\",\n        \"branch_code\": \"sd\",\n        \"department_name\": \"adasd\",\n        \"department_code\": \"adasd\",\n        \"job_position_name\": \"adasd\",\n        \"job_position_code\": \"adasd\",\n        \"title_name\": \"adasd\",\n        \"title_code\": \"adasd\",\n        \"sub_company_name\": \"adasd\",\n        \"sub_company_code\": \"adasd\",\n        \"employee_id\": \"1234\",\n        \"zone_ids\": [\"ab8773ca-e685-43f4-9b5f-c6\", \"5bee0bdc-ef81-4a07-8e93-98d4\"]\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/users"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"42af3c6c-3fcf-49f0-8a4f-ab142a6343bc"},{"key":"X-Runtime","value":"0.491621"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"n6zb6f2mzxaha7n5o292,yz040txhrrtlmk8vrlww,af05lc10u0fctxs0ozt3,digdvbq0qebr40p82e82,swcnhdxhcixocj3rldmu,x9hrs5qjv9omtzkdqopl,1bg16aaf906w9kw0ng8w"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 201,\n    \"message\": \"Successfully created user\",\n    \"data\": {\n        \"id\": \"cd898a85-7ba2-41aa-85b8-05adca7e81d8\",\n        \"email\": \"example123@example.com\",\n        \"first_name\": \"JHON\",\n        \"last_name\": \"DUE\",\n        \"avatar\": {\n            \"url\": \"https://ui-avatars.com/api/?name=JHON+DUE.jpeg\"\n        },\n        \"job_title\": \"adasd\",\n        \"gsm\": \"5000000001\",\n        \"department_name\": \"adasd\",\n        \"branch_name\": \"asd\",\n        \"company_name\": \"Onur Market\",\n        \"sub_company_name\": \"adasd\",\n        \"organization_unit_name\": null,\n        \"user_group_name\": null,\n        \"activation_date\": \"2022-09-29T00:00:00.000+03:00\",\n        \"birth_date\": \"2004-11-22\",\n        \"citizenship_number\": \"TCK giirişı\",\n        \"educational_info\": {},\n        \"gender\": \"woman\",\n        \"is_active\": true,\n        \"other_gsm\": null,\n        \"university_department\": null,\n        \"username\": \"jhon_due_4\",\n        \"about\": null,\n        \"address_info\": {},\n        \"additional_info\": {},\n        \"bank_information\": {},\n        \"branch_id\": \"5c9b732f-2053-4b87-8f00-c385d4da6635\",\n        \"client_id\": \"2200303\",\n        \"employee_id\": \"1234\",\n        \"company_id\": \"f89cbd8f-a97f-4f5e-bf6d-27fd12d786e5\",\n        \"department_id\": \"3c527686-5a3b-411e-aff2-42309349eca0\",\n        \"holiday_calendar_id\": null,\n        \"job_position_id\": \"0fce520e-afc7-42f5-b96d-aa15549459c0\",\n        \"leave_rule_id\": null,\n        \"organization_unit_id\": null,\n        \"reason_for_leave_id\": null,\n        \"shift_id\": null,\n        \"sub_company_id\": \"768e56e2-eb63-4da6-9eb2-969bf45e61b7\",\n        \"title_id\": \"c630a7d3-5fe0-4e83-9d92-08744d2865b1\",\n        \"user_group_id\": null,\n        \"working_day_id\": null\n    },\n    \"meta\": {}\n}"},{"id":"5b58e973-8f7e-46ba-b1df-5940053e3573","name":"422","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer API_KEY","type":"text"}],"body":{"mode":"raw","raw":"{\n\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/users"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"1b856eaf-9da5-49d7-a9bf-a3bec3e919bb"},{"key":"X-Runtime","value":"1.289358"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": false,\n    \"status\": 422,\n    \"message\": \"Parametre eksik veya değer boş\",\n    \"errors\": []\n}"}],"_postman_id":"3c9fab54-feec-45be-ba0e-4e993dd47689"},{"name":"user","id":"5fe388fa-e246-4df3-bcc5-4b455ea5b70e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/users/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","users",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"22911144-7aa6-4a29-b29f-afb004d2f76c","key":"id"}]}},"response":[],"_postman_id":"5fe388fa-e246-4df3-bcc5-4b455ea5b70e"},{"name":"User Update","id":"14090940-63f4-49c2-afe1-841bb1a4d6c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{secretKey}}"}],"body":{"mode":"raw","raw":"{\n  \"user\": {\n    \"email\": \"1630@eexample.com\",\n    \"gsm\": \"\",\n    \"first_name\": \"EROL\",\n    \"last_name\": \"ÖZTÜRK\",\n    \"citizenship_number\": \"16453564396\",\n    \"is_active\": false,\n    \"client_id\": \"1630\",\n    \"gender\": \"man\",\n    \"birth_date\": \"1999-11-07\",\n    \"title_name\": \"DRY - STAFF-OPERATION\",\n    \"job_position_name\": \"DRY - CHEF DE PARTIE 2\",\n    \"supervisor_parent_id\": \"f56cbd2e-25d0-4eb8-9e20-6bbe0d59d6a7\",\n    \"activation_date\": \"2024-08-15\",\n    \"expired_date\": \"2025-06-19\",\n    \"zone_ids\": [\n      \"ffec27e0-83a2-4dde-84fd-fbc1025ebd19\",\n      \"eeba19e1-193b-4049-8427-a0c0fa3e1513\"\n    ],\n    \"leave_rule_id\": \"1efac0b2-0abe-414c-bf30-2ce399ba6cbd\",\n    \"holiday_calendar_id\": \"c86443dc-eb81-4eb5-87e0-c361db634080\",\n    \"working_day_id\": \"0c0fefc2-52e6-48c1-b42d-b48540401e12\",\n    \"sub_company_name\": \"DRY\",\n    \"sub_company_code\": \"DRY\",\n    \"branch_name\": \"DRY - CULINARY\"\n  }\n}\n","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/users/:id","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n<th>Örnek Kullanım</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>email veya gsm</td>\n<td>String</td>\n<td>E-mail veya cep telefonu numarası</td>\n<td>Evet</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>password</td>\n<td>String</td>\n<td>Kullanıcının şifresi</td>\n<td>Evet</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>password_confirmation</td>\n<td>String</td>\n<td>Şifrenin doğrulanması için tekrar girilmesi</td>\n<td>Evet</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>first_name</td>\n<td>String</td>\n<td>Kullanıcının adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>last_name</td>\n<td>String</td>\n<td>Kullanıcının soyadı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>job_position_id</td>\n<td>String</td>\n<td>Kullanıcının pozisyonunun tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>activation_date</td>\n<td>String</td>\n<td>Kullanıcının hesabının aktifleştirildiği tarih</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>citizenship_number</td>\n<td>String</td>\n<td>Kullanıcının kimlik numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>department_id</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu departmanın tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>username</td>\n<td>String</td>\n<td>Kullanıcı adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>about</td>\n<td>String</td>\n<td>Kullanıcı hakkında kısa açıklama</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>is_active</td>\n<td>Boolean</td>\n<td>Kullanıcının hesabının aktif olup olmadığı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>client_id</td>\n<td>String</td>\n<td>Müşteriye ait sicil numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>employee_id</td>\n<td>String</td>\n<td>Çalışanın firma içindeki tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>gender</td>\n<td>String</td>\n<td>Kullanıcının cinsiyeti</td>\n<td>Hayır</td>\n<td>man, woman</td>\n<td></td>\n</tr>\n<tr>\n<td>birth_date</td>\n<td>String</td>\n<td>Kullanıcının doğum tarihi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>branch_id</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu şubenin tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>sub_company_id</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu alt şirketin tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>nationality</td>\n<td>String</td>\n<td>Kullanıcının milliyeti</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>marital_status</td>\n<td>String</td>\n<td>Kullanıcının medeni durumu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td></td>\n<td>String</td>\n<td>Kullanıcının çocuk sayısı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>educational_status</td>\n<td>String</td>\n<td>Kullanıcının eğitim durumu</td>\n<td>Hayır</td>\n<td>primary, secondary</td>\n<td></td>\n</tr>\n<tr>\n<td>graduation_level</td>\n<td>String</td>\n<td>Kullanıcının mezuniyet seviyesi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>graduation_school</td>\n<td>String</td>\n<td>Kullanıcının son mezun olduğu okulun adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>bank_name</td>\n<td>String</td>\n<td>Kullanıcının hesap açtığı bankanın adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>account_type</td>\n<td>String</td>\n<td>Hesap türü</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>account_number</td>\n<td>String</td>\n<td>Hesap numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>iban</td>\n<td>String</td>\n<td>IBAN numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_contact_person</td>\n<td>String</td>\n<td>Acil durumda iletişime geçilecek kişinin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_person_proximity_degree</td>\n<td>String</td>\n<td>Acil durumda iletişime geçilecek kişi ile kullanıcının ilişki derecesi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_contact_person_1</td>\n<td>String</td>\n<td>İkinci acil durumda iletişime geçilecek kişinin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_person_proximity_degree_1</td>\n<td>String</td>\n<td>İkinci acil durumda iletişime geçilecek kişi ile kullanıcının ilişki derecesi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_contact_phone</td>\n<td>String</td>\n<td>Acil durumda iletişim numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>other_gsm</td>\n<td>String</td>\n<td>İkinci bir cep telefonu numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>organization_unit_id</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu organizasyon biriminin tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>title_id</td>\n<td>String</td>\n<td>Kullanıcının unvanının tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>expired_date</td>\n<td>String</td>\n<td>Kullanıcının işten ayrıldığı tarih</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>reason_for_leave_id</td>\n<td>String</td>\n<td>Kullanıcının işten ayrılma sebebinin tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>shift_id</td>\n<td>String</td>\n<td>Kullanıcının çalıştığı vardiyaya ait tanımlayıcı numara</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>faculty_name</td>\n<td>String</td>\n<td>Kullanıcının mezun olduğu fakültenin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>university_department</td>\n<td>String</td>\n<td>Kullanıcının üniversitedeki bölümünün adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>employee_type</td>\n<td>String</td>\n<td>Kullanıcının kullanıcı tipi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>supervisor_registration_number</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu yöneticinin entegrasyon numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>branch_name</td>\n<td>String</td>\n<td>Şubenin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>branch_code</td>\n<td>String</td>\n<td>Şubenin kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>group_name</td>\n<td>String</td>\n<td>Kullanıcı grubunun adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>group_code</td>\n<td>String</td>\n<td>Kullanıcı grubunun kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>department_name</td>\n<td>String</td>\n<td>Departmanın adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>department_code</td>\n<td>String</td>\n<td>Departmanın kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>job_position_name</td>\n<td>String</td>\n<td>Pozisyonun adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>job_position_code</td>\n<td>String</td>\n<td>Pozisyonun kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>title_name</td>\n<td>String</td>\n<td>Unvanın adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>title_code</td>\n<td>String</td>\n<td>Unvanın kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>sub_company_name</td>\n<td>String</td>\n<td>Alt şirketin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>sub_company_code</td>\n<td>String</td>\n<td>Alt şirketin kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>device_name</td>\n<td>String</td>\n<td>Cihazın adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>device_code</td>\n<td>String</td>\n<td>Cihazın kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>device_ids</td>\n<td>String</td>\n<td>Cihazın kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td>[\"ab8773ca-e685-43f4-9b5f-c6\", \"5bee0bdc-ef81-4a07-8e93-98d4\"]</td>\n</tr>\n<tr>\n<td>access_zone_name</td>\n<td>String</td>\n<td>Erişim bölgesinin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>access_zone_code</td>\n<td>String</td>\n<td>Erişim bölgesinin kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>zone_ids</td>\n<td>Array</td>\n<td>Erişim bölgesinin kodlar</td>\n<td>Hayır</td>\n<td>-</td>\n<td>[\"ab8773ca-e685-43f4-9b5f-c6\", \"5bee0bdc-ef81-4a07-8e93-98d4\"]</td>\n</tr>\n<tr>\n<td>leave_balanced_at</td>\n<td>String</td>\n<td>İzin bakiyesi tarihi</td>\n<td>Hayır</td>\n<td>-</td>\n<td>\"2022-09-29\"</td>\n</tr>\n<tr>\n<td>leave_balance</td>\n<td>Decimal</td>\n<td>İzin bakiyesi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>type_of_work</td>\n<td>String</td>\n<td>Çalışma Türü</td>\n<td>Hayır</td>\n<td>full_time, part_time</td>\n<td>\"full_time\"</td>\n</tr>\n<tr>\n<td>organization_unit_name</td>\n<td>String</td>\n<td>Organizasyon Birimi</td>\n<td>Hayır</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>organization_unit_code</td>\n<td>String</td>\n<td>Organizasyon Birimi</td>\n<td>Hayır</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>calculation_type</td>\n<td>String</td>\n<td>Hesaplama Türü</td>\n<td>Hayır</td>\n<td>monthly,  <br />hourly</td>\n<td>\"hourly\"</td>\n</tr>\n<tr>\n<td>can_take_overtime</td>\n<td>String</td>\n<td>Fazla mesai alabilir</td>\n<td>Hayır</td>\n<td>yes,  <br />no</td>\n<td>\"yes\"</td>\n</tr>\n<tr>\n<td>shift_module</td>\n<td>String</td>\n<td>Vardiya modülü</td>\n<td>Hayır</td>\n<td>pacs,  <br />webshift</td>\n<td>\"pacs\"</td>\n</tr>\n<tr>\n<td>working_day_id</td>\n<td>String</td>\n<td>Çalışma Takvimi</td>\n<td>Hayır</td>\n<td></td>\n<td>\"7dfd2102-4150-4e91-bd35-0e1bea2f9171\"</td>\n</tr>\n</tbody>\n</table>\n</div><p>| holiday_calendar_id | String | Tatil Takvimi | Hayır |  | \"7dfd2102-4150-4e91-bd35-0e1bea2f9171\" |\n| leave_rule_id | String | İzin Kuralı | Hayır |  | \"7dfd2102-4150-4e91-bd35-0e1bea2f9171\" |</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","users",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"{{id}}","key":"id"}]}},"response":[],"_postman_id":"14090940-63f4-49c2-afe1-841bb1a4d6c3"},{"name":"User Update","id":"c49bfb4b-2c21-4473-90b0-15cfbeaa2646","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{secretKey}}"}],"body":{"mode":"raw","raw":"{\n    \"user\": {\n        \"first_name\": \"Ahmet\",\n        \"last_name\": \"Kaptan\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/users/:id","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n<th>Enum Values</th>\n<th>Örnek Kullanım</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>email veya gsm</td>\n<td>String</td>\n<td>E-mail veya cep telefonu numarası</td>\n<td>Evet</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>password</td>\n<td>String</td>\n<td>Kullanıcının şifresi</td>\n<td>Evet</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>password_confirmation</td>\n<td>String</td>\n<td>Şifrenin doğrulanması için tekrar girilmesi</td>\n<td>Evet</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>first_name</td>\n<td>String</td>\n<td>Kullanıcının adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>last_name</td>\n<td>String</td>\n<td>Kullanıcının soyadı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>job_position_id</td>\n<td>String</td>\n<td>Kullanıcının pozisyonunun tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>activation_date</td>\n<td>String</td>\n<td>Kullanıcının hesabının aktifleştirildiği tarih</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>citizenship_number</td>\n<td>String</td>\n<td>Kullanıcının kimlik numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>department_id</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu departmanın tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>username</td>\n<td>String</td>\n<td>Kullanıcı adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>about</td>\n<td>String</td>\n<td>Kullanıcı hakkında kısa açıklama</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>is_active</td>\n<td>Boolean</td>\n<td>Kullanıcının hesabının aktif olup olmadığı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>client_id</td>\n<td>String</td>\n<td>Müşteriye ait sicil numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>employee_id</td>\n<td>String</td>\n<td>Çalışanın firma içindeki tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>gender</td>\n<td>String</td>\n<td>Kullanıcının cinsiyeti</td>\n<td>Hayır</td>\n<td>man, woman</td>\n<td></td>\n</tr>\n<tr>\n<td>birth_date</td>\n<td>String</td>\n<td>Kullanıcının doğum tarihi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>branch_id</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu şubenin tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>sub_company_id</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu alt şirketin tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>nationality</td>\n<td>String</td>\n<td>Kullanıcının milliyeti</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>marital_status</td>\n<td>String</td>\n<td>Kullanıcının medeni durumu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td></td>\n<td>String</td>\n<td>Kullanıcının çocuk sayısı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>educational_status</td>\n<td>String</td>\n<td>Kullanıcının eğitim durumu</td>\n<td>Hayır</td>\n<td>primary, secondary</td>\n<td></td>\n</tr>\n<tr>\n<td>graduation_level</td>\n<td>String</td>\n<td>Kullanıcının mezuniyet seviyesi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>graduation_school</td>\n<td>String</td>\n<td>Kullanıcının son mezun olduğu okulun adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>bank_name</td>\n<td>String</td>\n<td>Kullanıcının hesap açtığı bankanın adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>account_type</td>\n<td>String</td>\n<td>Hesap türü</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>account_number</td>\n<td>String</td>\n<td>Hesap numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>iban</td>\n<td>String</td>\n<td>IBAN numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_contact_person</td>\n<td>String</td>\n<td>Acil durumda iletişime geçilecek kişinin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_person_proximity_degree</td>\n<td>String</td>\n<td>Acil durumda iletişime geçilecek kişi ile kullanıcının ilişki derecesi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_contact_person_1</td>\n<td>String</td>\n<td>İkinci acil durumda iletişime geçilecek kişinin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_person_proximity_degree_1</td>\n<td>String</td>\n<td>İkinci acil durumda iletişime geçilecek kişi ile kullanıcının ilişki derecesi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>emergency_contact_phone</td>\n<td>String</td>\n<td>Acil durumda iletişim numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>other_gsm</td>\n<td>String</td>\n<td>İkinci bir cep telefonu numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>organization_unit_id</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu organizasyon biriminin tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>title_id</td>\n<td>String</td>\n<td>Kullanıcının unvanının tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>expired_date</td>\n<td>String</td>\n<td>Kullanıcının işten ayrıldığı tarih</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>reason_for_leave_id</td>\n<td>String</td>\n<td>Kullanıcının işten ayrılma sebebinin tanımlayıcı numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>shift_id</td>\n<td>String</td>\n<td>Kullanıcının çalıştığı vardiyaya ait tanımlayıcı numara</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>faculty_name</td>\n<td>String</td>\n<td>Kullanıcının mezun olduğu fakültenin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>university_department</td>\n<td>String</td>\n<td>Kullanıcının üniversitedeki bölümünün adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>employee_type</td>\n<td>String</td>\n<td>Kullanıcının kullanıcı tipi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>supervisor_registration_number</td>\n<td>String</td>\n<td>Kullanıcının bağlı olduğu yöneticinin entegrasyon numarası</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>branch_name</td>\n<td>String</td>\n<td>Şubenin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>branch_code</td>\n<td>String</td>\n<td>Şubenin kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>group_name</td>\n<td>String</td>\n<td>Kullanıcı grubunun adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>group_code</td>\n<td>String</td>\n<td>Kullanıcı grubunun kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>department_name</td>\n<td>String</td>\n<td>Departmanın adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>department_code</td>\n<td>String</td>\n<td>Departmanın kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>job_position_name</td>\n<td>String</td>\n<td>Pozisyonun adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>job_position_code</td>\n<td>String</td>\n<td>Pozisyonun kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>title_name</td>\n<td>String</td>\n<td>Unvanın adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>title_code</td>\n<td>String</td>\n<td>Unvanın kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>sub_company_name</td>\n<td>String</td>\n<td>Alt şirketin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>sub_company_code</td>\n<td>String</td>\n<td>Alt şirketin kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>device_name</td>\n<td>String</td>\n<td>Cihazın adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>device_code</td>\n<td>String</td>\n<td>Cihazın kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>device_ids</td>\n<td>String</td>\n<td>Cihazın kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td>[\"ab8773ca-e685-43f4-9b5f-c6\", \"5bee0bdc-ef81-4a07-8e93-98d4\"]</td>\n</tr>\n<tr>\n<td>access_zone_name</td>\n<td>String</td>\n<td>Erişim bölgesinin adı</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>access_zone_code</td>\n<td>String</td>\n<td>Erişim bölgesinin kodu</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>zone_ids</td>\n<td>Array</td>\n<td>Erişim bölgesinin kodlar</td>\n<td>Hayır</td>\n<td>-</td>\n<td>[\"ab8773ca-e685-43f4-9b5f-c6\", \"5bee0bdc-ef81-4a07-8e93-98d4\"]</td>\n</tr>\n<tr>\n<td>leave_balanced_at</td>\n<td>String</td>\n<td>İzin bakiyesi tarihi</td>\n<td>Hayır</td>\n<td>-</td>\n<td>\"2022-09-29\"</td>\n</tr>\n<tr>\n<td>leave_balance</td>\n<td>Decimal</td>\n<td>İzin bakiyesi</td>\n<td>Hayır</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>type_of_work</td>\n<td>String</td>\n<td>Çalışma Türü</td>\n<td>Hayır</td>\n<td>full_time, part_time</td>\n<td>\"full_time\"</td>\n</tr>\n<tr>\n<td>organization_unit_name</td>\n<td>String</td>\n<td>Organizasyon Birimi</td>\n<td>Hayır</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>organization_unit_code</td>\n<td>String</td>\n<td>Organizasyon Birimi</td>\n<td>Hayır</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p>| holiday_calendar_id | String | Tatil Takvimi | Hayır |  | \"7dfd2102-4150-4e91-bd35-0e1bea2f9171\" |\n| leave_rule_id | String | İzin Kuralı | Hayır |  | \"7dfd2102-4150-4e91-bd35-0e1bea2f9171\" |</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","users",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"c634175a-3d1d-4302-b5de","key":"id"}]}},"response":[{"id":"6d48e9f4-e62c-4c25-922f-2021b315f1b2","name":"422","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"user\": {\n        \"first_name\": \"Ahmet\",\n        \"last_name\": \"Kaptan\",\n        \"job_position_name\": \"DENEMe 12\",\n        \"job_position_code\": \"1234\",\n        \"activation_date\": \"2022-09-29T00:00:00.000+03:00\",\n        \"citizenship_number\": \"1234444\",\n        \"gsm\": \"\",\n        \"email\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/users/:id/partial_update","host":["https://api.passgage.com"],"path":["api","public","v1","users",":id","partial_update"],"variable":[{"key":"id","value":"b1aebd83-c8f8-4aeb-8c6c-07dcdb937656"}]}},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"374316cf-1d00-4360-ac40-b6fb7f77bbbe"},{"key":"X-Runtime","value":"1.573610"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"errors\": [\n        {\n            \"property\": \"email\",\n            \"constraints\": [\n                {\n                    \"invalid\": \"Email invalid\"\n                },\n                {\n                    \"taken\": \"hali hazırda kullanılmakta\"\n                },\n                {\n                    \"too_short\": \"çok kısa (en az 4 karakter)\"\n                }\n            ]\n        },\n        {\n            \"property\": \"gsm\",\n            \"constraints\": [\n                {\n                    \"blank\": \"doldurulmalı\"\n                },\n                {\n                    \"not_a_number\": \"geçerli bir sayı değil\"\n                },\n                {\n                    \"too_short\": \"çok kısa (en az 10 karakter)\"\n                }\n            ]\n        }\n    ]\n}"},{"id":"c8047085-021d-4327-9846-38cc5b04ddf5","name":"200","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer API_KEY"}],"body":{"mode":"raw","raw":"{\n    \"user\": {\n        \"first_name\": \"Ahmet\",\n        \"last_name\": \"Kaptan\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/users/:id","host":["https://api.passgage.com"],"path":["api","public","v1","users",":id"],"variable":[{"key":"id","value":"c634175a-3d1d-4302-b5de-f550becb1e8e"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"fa352af1-1bfc-4a41-ab65-5f1bc7c26548"},{"key":"X-Runtime","value":"1.906352"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"gmnb8ycd6bpgdzqi6d5d,x39vi0nubie8u57k7f53,cubmsg19q4pppfef9bi0,i5rqwkreqyfosw0iw3au,u2l2klo0x39h1qlewwyj"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"User updated successfully\",\n    \"data\": {\n        \"id\": \"c634175a-3d1d-4302-b5de\",\n        \"email\": \"passgagetest+24@gmail.com\",\n        \"first_name\": \"Ahmet\",\n        \"last_name\": \"Kaptan\",\n        \"avatar\": {\n            \"url\": \"https://ui-avatars.com/api/?name=Ahmet+Kaptan.jpeg\"\n        },\n        \"job_title\": null,\n        \"gsm\": null,\n        \"department_name\": null,\n        \"organization_unit_id\": null,\n        \"branch_name\": \"\",\n        \"company_name\": \"\",\n        \"sub_company_name\": null,\n        \"organization_unit_name\": null,\n        \"user_group_name\": null,\n        \"activation_date\": \"2022-12-22\",\n        \"birth_date\": null,\n        \"citizenship_number\": \"\",\n        \"educational_info\": {\n            \"educational_status\": \"\",\n            \"graduation_level\": \"\",\n            \"graduation_school\": \"\"\n        },\n        \"emergency_information\": {\n            \"emergency_contact_person\": \"\",\n            \"emergency_person_proximity_degree\": \"\",\n            \"emergency_contact_phone\": \"\",\n            \"emergency_contact_person_1\": \"\",\n            \"emergency_person_proximity_degree_1\": \"\",\n            \"emergency_contact_phone_1\": \"\"\n        },\n        \"gender\": null,\n        \"is_active\": true,\n        \"other_gsm\": null,\n        \"university_department\": null,\n        \"username\": \"passgage\",\n        \"about\": null,\n        \"address_info\": {},\n        \"additional_info\": {\n            \"marital_status\": \"\",\n            \"spouses_employment_status\": \"\",\n            \"disability_level\": \"\",\n            \"number_of_children\": \"\"\n        },\n        \"bank_information\": {\n            \"account_type\": \"\",\n            \"account_number\": \"\",\n            \"bank_name\": \"\",\n            \"iban\": \"\"\n        },\n        \"type_of_work\": \"\",\n        \"calculation_type\": \"\",\n        \"branch_id\": \"6b58004c-0acd-4748-9483\",\n        \"client_id\": \"\",\n        \"employee_id\": null,\n        \"company_id\": \"21b82085-ac24-49a1-a0f6\",\n        \"can_take_overtime\": \"\",\n        \"department_id\": null,\n        \"holiday_calendar_id\": null,\n        \"job_position_id\": null,\n        \"shift_module\": \"\",\n        \"leave_rule_id\": \"69694e98-5c19-4db1-8164\",\n        \"reason_for_leave_id\": null,\n        \"user_device_ids\": [\n            \"9d825fea-9406-45d7-9db4\"\n        ],\n        \"user_zone_ids\": [\n            \"d7e67404-48ce-4188-aaac\"\n        ],\n        \"shift_id\": null,\n        \"sub_company_id\": null,\n        \"title_id\": null,\n        \"user_group_id\": null,\n        \"working_day_id\": null,\n        \"created_at\": \"2022-12-22T12:03:14.967+03:00\",\n        \"updated_at\": \"2024-08-24T22:06:55.035+03:00\",\n        \"expired_date\": null,\n        \"parent_id\": null\n    },\n    \"meta\": {}\n}"}],"_postman_id":"c49bfb4b-2c21-4473-90b0-15cfbeaa2646"},{"name":"Stream - Cursor Pagination","id":"5760e3cc-5c27-4be3-8501-0b333686345b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/users/stream","description":"<p>Cursor-based pagination ile vardiya listesi.</p>\n<p><strong>Avantajlari:</strong></p>\n<ul>\n<li>Buyuk veri setlerinde sabit performans (O(log n))</li>\n<li>Sayfa atlama olmadan ardisik veri cekme</li>\n<li>Veri tutarliligi garantisi</li>\n</ul>\n<p><strong>Kullanim:</strong></p>\n<ol>\n<li>Ilk istek: limit parametresi ile</li>\n<li>Sonraki sayfalar: response'daki <code>meta.cursors.after</code> degerini <code>after</code> parametresine ekleyin</li>\n<li>Onceki sayfalar: <code>meta.cursors.before</code> degerini <code>before</code> parametresine ekleyin</li>\n</ol>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","users","stream"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"description":{"content":"<p>Sonraki sayfa icin cursor (onceki response'dan alinir)</p>\n","type":"text/plain"},"key":"after","value":"eyJjcmVhdGVkX2F0IjoiMjAyNS0xMi0xNlQwNTo1Njo1MS43MTcyNjNaIiwiaWQiOiJhZTRiZjUwYi02MGIxLTQ5ZGMtOWY1Yi1iYTdhNWFlYWE5ZGUifQ"},{"disabled":true,"description":{"content":"<p>Onceki sayfa icin cursor</p>\n","type":"text/plain"},"key":"before","value":""},{"disabled":true,"description":{"content":"<p>Baslangic tarihi filtresi</p>\n","type":"text/plain"},"key":"q[date_of_shift_gteq]","value":"2025-01-01"},{"disabled":true,"description":{"content":"<p>Bitis tarihi filtresi</p>\n","type":"text/plain"},"key":"q[date_of_shift_lteq]","value":"2025-12-31"},{"disabled":true,"description":{"content":"<p>Max 200</p>\n","type":"text/plain"},"key":"limit","value":"10"}],"variable":[]}},"response":[{"id":"55d2560d-3018-4f92-bd89-9e40b1bea01e","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/users/stream","host":["https://api.passgage.com"],"path":["api","public","v1","users","stream"],"query":[{"key":"after","value":"eyJjcmVhdGVkX2F0IjoiMjAyNS0xMi0xNlQwNTo1Njo1MS43MTcyNjNaIiwiaWQiOiJhZTRiZjUwYi02MGIxLTQ5ZGMtOWY1Yi1iYTdhNWFlYWE5ZGUifQ","description":"Sonraki sayfa icin cursor (onceki response'dan alinir)","disabled":true},{"key":"before","value":"","description":"Onceki sayfa icin cursor","disabled":true},{"key":"q[date_of_shift_gteq]","value":"2025-01-01","description":"Baslangic tarihi filtresi","disabled":true},{"key":"q[date_of_shift_lteq]","value":"2025-12-31","description":"Bitis tarihi filtresi","disabled":true},{"key":"limit","value":"10","description":"Max 200","disabled":true}]},"description":"Cursor-based pagination ile vardiya listesi.\n\n**Avantajlari:**\n- Buyuk veri setlerinde sabit performans (O(log n))\n- Sayfa atlama olmadan ardisik veri cekme\n- Veri tutarliligi garantisi\n\n**Kullanim:**\n1. Ilk istek: limit parametresi ile\n2. Sonraki sayfalar: response'daki `meta.cursors.after` degerini `after` parametresine ekleyin\n3. Onceki sayfalar: `meta.cursors.before` degerini `before` parametresine ekleyin"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"abc123-def456\",\n      \"date_of_shift\": \"2025-01-15\",\n      \"status\": \"approved\",\n      \"user_id\": \"user-uuid\",\n      \"user_full_name\": \"Ahmet Yilmaz\",\n      \"shift_name\": \"Sabah Vardiyasi\"\n    }\n  ],\n  \"meta\": {\n    \"cursors\": {\n      \"after\": \"eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNVQxMDozMDowMCswMzowMCIsImlkIjoibGFzdC1pZCJ9\",\n      \"before\": \"eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNVQxMDozMDowMCswMzowMCIsImlkIjoiZmlyc3QtaWQifQ==\"\n    },\n    \"has_next_page\": true,\n    \"has_previous_page\": false,\n    \"count\": 200\n  }\n}"}],"_postman_id":"5760e3cc-5c27-4be3-8501-0b333686345b"},{"name":"Export - Start Job","id":"1fef7597-a549-4324-a9cb-0f026ae87193","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"format\": \"json\",\n    \"date_from\": \"2024-01-01\",\n    \"date_to\": \"2024-12-31\",\n    \"branch_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"department_id\": \"123e4567-e89b-12d3-a456-426614174001\",\n    \"is_active\": true\n}"},"url":"https://api.passgage.com/api/public/v1/users/export?","description":"<p>Async bulk export baslatir.</p>\n<p><strong>Parametreler:</strong></p>\n<ul>\n<li><code>format</code>: csv veya json (varsayilan: csv)</li>\n<li><code>date_from</code>: Baslangic tarihi (YYYY-MM-DD)</li>\n<li><code>date_to</code>: Bitis tarihi (YYYY-MM-DD)</li>\n<li><code>user_id</code>: Kullanici ID filtresi</li>\n<li><code>branch_id</code>: Sube ID filtresi</li>\n<li><code>status</code>: Durum filtresi</li>\n</ul>\n<p><strong>Not:</strong> Bu islem arka planda calisir. Durum takibi icin donen <code>job_id</code> degerini kullanin.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","users","export"],"host":["https://api.passgage.com"],"query":[{"key":"","value":null}],"variable":[]}},"response":[{"id":"d88bcb13-0828-4187-8753-3ef0f8e6c732","name":"Job Created","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"format\": \"json\",\n    \"date_from\": \"2024-01-01\",\n    \"date_to\": \"2024-12-31\",\n    \"branch_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"department_id\": \"123e4567-e89b-12d3-a456-426614174001\",\n    \"is_active\": true\n}"},"url":{"raw":"https://api.passgage.com/api/public/v1/users/export?","host":["https://api.passgage.com"],"path":["api","public","v1","users","export"],"query":[{"key":"","value":null}]},"description":"Async bulk export baslatir.\n\n**Parametreler:**\n- `format`: csv veya json (varsayilan: csv)\n- `date_from`: Baslangic tarihi (YYYY-MM-DD)\n- `date_to`: Bitis tarihi (YYYY-MM-DD)\n- `user_id`: Kullanici ID filtresi\n- `branch_id`: Sube ID filtresi\n- `status`: Durum filtresi\n\n**Not:** Bu islem arka planda calisir. Durum takibi icin donen `job_id` degerini kullanin."},"status":"Accepted","code":202,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"message\": \"Export job started\",\n  \"data\": {\n    \"job_id\": \"export-job-uuid\",\n    \"status\": \"pending\",\n    \"format\": \"csv\",\n    \"filters\": {\n      \"date_from\": \"2025-01-01\",\n      \"date_to\": \"2025-01-31\",\n      \"branch_id\": \"branch-uuid\",\n      \"status\": \"approved\"\n    },\n    \"created_at\": \"2025-01-15T10:30:00+03:00\"\n  }\n}"}],"_postman_id":"1fef7597-a549-4324-a9cb-0f026ae87193"},{"name":"Export - Check Status","id":"30c28b93-171f-4f19-94d1-399528b5fd57","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/users/export/:job_id/status","description":"<p>Export job durumunu kontrol eder.</p>\n<p><strong>Durum Degerleri:</strong></p>\n<ul>\n<li><code>pending</code>: Is kuyrukta bekliyor</li>\n<li><code>processing</code>: Is isleniyor</li>\n<li><code>completed</code>: Is tamamlandi, indirilebilir</li>\n<li><code>failed</code>: Is basarisiz oldu</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","users","export",":job_id","status"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Export job ID</p>\n","type":"text/plain"},"type":"any","value":"{{export-job-uuid}}","key":"job_id"}]}},"response":[{"id":"b350ca84-0ced-4871-9934-94d6b8999b40","name":"Processing","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/users/export/:job_id/status","host":["https://api.passgage.com"],"path":["api","public","v1","users","export",":job_id","status"],"variable":[{"key":"job_id","value":"{{export-job-uuid}}","description":"Export job ID"}]},"description":"Export job durumunu kontrol eder.\n\n**Durum Degerleri:**\n- `pending`: Is kuyrukta bekliyor\n- `processing`: Is isleniyor\n- `completed`: Is tamamlandi, indirilebilir\n- `failed`: Is basarisiz oldu"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": {\n    \"job_id\": \"export-job-uuid\",\n    \"status\": \"processing\",\n    \"format\": \"csv\",\n    \"filters\": {\n      \"date_from\": \"2025-01-01\",\n      \"date_to\": \"2025-01-31\"\n    },\n    \"total_records\": 15000,\n    \"processed_records\": 7500,\n    \"progress_percentage\": 50.0,\n    \"file_name\": null,\n    \"file_size\": null,\n    \"error_message\": null,\n    \"started_at\": \"2025-01-15T10:30:05+03:00\",\n    \"completed_at\": null,\n    \"expires_at\": null,\n    \"created_at\": \"2025-01-15T10:30:00+03:00\"\n  }\n}"},{"id":"2406a3d8-ae4f-45c4-a62a-ed6eb03c3d2d","name":"Completed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/users/export/:job_id/status","host":["https://api.passgage.com"],"path":["api","public","v1","users","export",":job_id","status"],"variable":[{"key":"job_id","value":"{{export-job-uuid}}","description":"Export job ID"}]},"description":"Export job durumunu kontrol eder.\n\n**Durum Degerleri:**\n- `pending`: Is kuyrukta bekliyor\n- `processing`: Is isleniyor\n- `completed`: Is tamamlandi, indirilebilir\n- `failed`: Is basarisiz oldu"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": {\n    \"job_id\": \"export-job-uuid\",\n    \"status\": \"completed\",\n    \"format\": \"csv\",\n    \"filters\": {\n      \"date_from\": \"2025-01-01\",\n      \"date_to\": \"2025-01-31\"\n    },\n    \"total_records\": 15000,\n    \"processed_records\": 15000,\n    \"progress_percentage\": 100.0,\n    \"file_name\": \"user_shifts_export_20250115_103500.csv\",\n    \"file_size\": 2500000,\n    \"error_message\": null,\n    \"started_at\": \"2025-01-15T10:30:05+03:00\",\n    \"completed_at\": \"2025-01-15T10:35:00+03:00\",\n    \"expires_at\": \"2025-01-16T10:35:00+03:00\",\n    \"created_at\": \"2025-01-15T10:30:00+03:00\"\n  }\n}"}],"_postman_id":"30c28b93-171f-4f19-94d1-399528b5fd57"},{"name":"Export - Download","id":"60cf3c09-871c-4158-86e6-36ecbececa1a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/users/export/:job_id/download","description":"<p>Tamamlanan export dosyasini indirmek icin presigned URL alir.</p>\n<p><strong>Not:</strong> URL 1 saat gecerlidir. Dosyanin kendisi 24 saat sonra silinir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","users","export",":job_id","download"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Export job ID</p>\n","type":"text/plain"},"type":"any","value":"{{export-job-uuid}}","key":"job_id"}]}},"response":[{"id":"6ecb1497-3fbd-4237-bc54-9b2b2cb7ea3a","name":"Download URL","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/users/export/:job_id/download","host":["https://api.passgage.com"],"path":["api","public","v1","users","export",":job_id","download"],"variable":[{"key":"job_id","value":"{{export-job-uuid}}","description":"Export job ID"}]},"description":"Tamamlanan export dosyasini indirmek icin presigned URL alir.\n\n**Not:** URL 1 saat gecerlidir. Dosyanin kendisi 24 saat sonra silinir."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": {\n    \"job_id\": \"export-job-uuid\",\n    \"download_url\": \"https://s3.eu-west-1.amazonaws.com/passgage-storage/api-exports/...\",\n    \"file_name\": \"user_shifts_export_20250115_103500.csv\",\n    \"file_size\": 2500000,\n    \"expires_at\": \"2025-01-16T10:35:00+03:00\",\n    \"record_count\": 15000\n  }\n}"},{"id":"e4b2c544-1e05-4794-88c0-f9adc7fa9c6f","name":"Not Ready","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/users/export/:job_id/download","host":["https://api.passgage.com"],"path":["api","public","v1","users","export",":job_id","download"],"variable":[{"key":"job_id","value":"{{export-job-uuid}}","description":"Export job ID"}]},"description":"Tamamlanan export dosyasini indirmek icin presigned URL alir.\n\n**Not:** URL 1 saat gecerlidir. Dosyanin kendisi 24 saat sonra silinir."},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"Export job is not completed. Current status: processing\"\n}"},{"id":"64356c7c-99a4-422c-bb02-9fbdfa20116d","name":"Expired","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/users/export/:job_id/download","host":["https://api.passgage.com"],"path":["api","public","v1","users","export",":job_id","download"],"variable":[{"key":"job_id","value":"{{export-job-uuid}}","description":"Export job ID"}]},"description":"Tamamlanan export dosyasini indirmek icin presigned URL alir.\n\n**Not:** URL 1 saat gecerlidir. Dosyanin kendisi 24 saat sonra silinir."},"status":"Gone","code":410,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"Export file has expired. Please create a new export.\"\n}"}],"_postman_id":"60cf3c09-871c-4158-86e6-36ecbececa1a"},{"name":"Export - List Jobs","id":"8f0e2c31-6ad3-4b91-a52c-1e672fd01324","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/users/exports","description":"<p>Sirketin tum user_shifts export job'larini listeler (son 20 kayit).</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","users","exports"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"313136bb-570f-446a-bda4-7b1166784ad0","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/users/exports","description":"Sirketin tum user_shifts export job'larini listeler (son 20 kayit)."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": [\n    {\n      \"job_id\": \"export-job-1\",\n      \"status\": \"completed\",\n      \"format\": \"csv\",\n      \"total_records\": 15000,\n      \"created_at\": \"2025-01-15T10:30:00+03:00\"\n    },\n    {\n      \"job_id\": \"export-job-2\",\n      \"status\": \"processing\",\n      \"format\": \"json\",\n      \"total_records\": 8000,\n      \"created_at\": \"2025-01-15T11:00:00+03:00\"\n    }\n  ]\n}"}],"_postman_id":"8f0e2c31-6ad3-4b91-a52c-1e672fd01324"}],"id":"69079781-a3af-4239-a95e-007a5c1e9a16","description":"<p><code>User</code> api, sistem içerisinde çalışanları temsil eder ve bu çalışanların yönetilmesi için gereken işlevsellikleri sağlar. User , veri bütünlüğünü korumak ve iş mantığına uyum sağlamak için çeşitli doğrulamalar içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Calışanlar, sistemde çeşitli roller, görevler ve departmanlarla ilişkilendirilebilir.</p>\n</li>\n<li><p>Calışan profilleri, çok sayıda kişisel ve profesyonel bilgiyi barındırır (örneğin: eğitim bilgileri, iletişim bilgileri, çalışma saatleri vb.).</p>\n</li>\n<li><p>İki faktörlü kimlik doğrulama, sosyal medya bağlantıları, acil durum bilgileri gibi özellikler bu model üzerinden yönetilir.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Validation</strong></p>\n<ol>\n<li><p><code>first_name</code>, <code>last_name</code>: Her çalışan için isim ve soyisim alanları zorunludur ve en az 2 en fazla 32 karakter uzunluğunda olmalıdır.</p>\n</li>\n<li><p><code>email</code>: E-posta adresi zorunludur, benzersiz olmalı ve belirli bir formata (örn. <code>example@example.com</code>) uymalıdır.</p>\n</li>\n<li><p><code>gsm</code>: GSM numarası zorunlu olabilir ve benzersiz olmalıdır.</p>\n</li>\n<li><p><code>email</code> ve <code>gsm</code>: E-posta veya GSM numarası, en az birinin doldurulması zorunludur. Eğer biri doldurulduysa diğeri opsiyonel hale gelir. E-posta belirli bir formata uymalıdır.</p>\n</li>\n</ol>\n</li>\n<li><p><strong>Şartlı Validation</strong></p>\n<ul>\n<li><p><code>password</code>: Yeni çalışanlar için şifre zorunludur ve belirlenen uzunluk aralığında olmalıdır.</p>\n</li>\n<li><p><code>avatar</code>: Çalışan profil resmi, isteğe bağlı olarak sisteme yüklenebilir.</p>\n</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Çalışan Oluşturma</strong></td>\n<td>Yeni çalışan kaydı</td>\n<td><code>first_name</code>, <code>last_name</code>, <code>email</code>, <code>gsm</code></td>\n</tr>\n<tr>\n<td><strong>Çalışan Güncelleme</strong></td>\n<td>Mevcut çalışan bilgilerini güncelleme</td>\n<td>Profil bilgileri, güvenlik ayarları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Çalışan Silme</strong></td>\n<td>Çalışan hesabını sistemden kaldırma</td>\n<td>Kullanıcının tüm ilişkili verileri sistemden kaldırılır</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni çalışan Kaydı</strong>: Sistemde yeni bir kullanıcı oluşturulurken, isim, soyisim, e-posta ve GSM bilgileri gibi temel bilgilerin girilmesi gerekmektedir. Bu bilgiler, kullanıcının kimliğini doğrulamak ve iletişim kurmak için kullanılır.</p>\n</li>\n<li><p><strong>Çalışan Bilgilerinin Güncellenmesi</strong>: Kullanıcılar, sistemde kayıtlı olan kişisel veya profesyonel bilgilerini güncelleyebilirler. Güncellemeler, kullanıcının güncel işlevsellik ve gereksinimlere uyum sağlamasını kolaylaştırır.</p>\n</li>\n<li><p><strong>Çalışan İlişkileri ve Rol Yönetimi</strong>: Kullanıcılar, farklı roller, görevler ve departmanlar ile ilişkilendirilebilir. Bu yapı, kullanıcıların sistem içerisindeki etkileşimlerini ve erişim kontrollerini yönetmek için kullanılır.</p>\n</li>\n</ul>\n","event":[{"listen":"prerequest","script":{"id":"d98639a2-c5ad-4e1a-a1b5-796720dfe32d","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"00c359b1-4366-45e5-8ff7-97eb75365697","type":"text/javascript","exec":[""]}}],"_postman_id":"69079781-a3af-4239-a95e-007a5c1e9a16","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"User Rate","item":[{"name":"list","id":"e01c6bd0-a0b1-4d9c-a730-4780737efcac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/user_rates","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_rates"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e01c6bd0-a0b1-4d9c-a730-4780737efcac"},{"name":"create","id":"f89793d8-8415-44f2-8077-e83c314def35","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer psg_cmp_2qJSunAg1EwwpwmimrnZ9ibSdmSE3f","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"fba_rate\": 2.9,\n    \"client_id\": \"2191\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/user_rates","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_rates"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f89793d8-8415-44f2-8077-e83c314def35"},{"name":"delete","id":"e0a4a8e8-e7e6-4a85-8af6-8dbc27dadb50","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/user_rates/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_rates",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"id":"508e42d0-d87c-4ea9-a854-831e7097c69b","type":"any","value":null,"key":"id"}]}},"response":[],"_postman_id":"e0a4a8e8-e7e6-4a85-8af6-8dbc27dadb50"},{"name":"update","id":"676e91af-b6f7-4340-bc0c-20edcd10c708","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"fba_rate\": \"Sales Goals\",\n    \"client_id\": \"Quarterly Sales\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/user_rates/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_rates",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"","key":"id"}]}},"response":[],"_postman_id":"676e91af-b6f7-4340-bc0c-20edcd10c708"},{"name":"update","id":"09a22e1e-0369-4e1e-9bf1-ba61e3dae407","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"target_category_name\": \"Sales Goals\",\n    \"target_name\": \"Quarterly Sales\",\n    \"department_name\": \"asdasdasdasd\",\n    \"client_id\": \"123345\",\n    \"target_value\": 1000024,\n    \"end_date\": \"2023-06-30\",\n    \"start_date\": \"2023-04-01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/target_goals/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","target_goals",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"id":"a1f12cdf-6725-42e4-b48d-6e875d7c2fc2","type":"any","value":null,"key":"id"}]}},"response":[],"_postman_id":"09a22e1e-0369-4e1e-9bf1-ba61e3dae407"}],"id":"c4bc95b8-8c61-45da-bffb-522c4403da1e","description":"<p><code>UserRate</code> api, çalışanların performans ve yeteneklerine dayalı olarak derecelendirildiği puanları yönetir. Bu api, kullanıcının mezuniyet, kıdem, istikrar ve hedef performans oranları gibi çeşitli kriterlere göre hesaplanan toplam puanını içerir.</p>\n<h4 id=\"temel-özellikler\">Temel Özellikler</h4>\n<ul>\n<li><p>Her değerlendirme kaydı, çeşitli performans kriterlerine göre hesaplanmış puanlar ve bir toplam puan barındırır.</p>\n</li>\n<li><p>Değerlendirmeler, çalışanın şirket içindeki performansını ve kariyer gelişimini izlemek için kullanılır.</p>\n</li>\n</ul>\n<h4 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h4>\n<ol>\n<li><p><strong>Genel Doğrulamalar</strong></p>\n<ul>\n<li><p><code>user_id</code>: Her değerlendirme, bir kullanıcıya ve şirkete bağlı olmalıdır.</p>\n</li>\n<li><p>Puanlama, çalışanın eğitim seviyesi, hizmet süresi, hedeflere ulaşma oranı ve diğer faktörler dikkate alınarak hesaplanır.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Koşullu Doğrulamalar</strong></p>\n<ul>\n<li><p><code>set_date_of_rate</code>: Değerlendirme tarihi, kayıt oluşturulduğunda otomatik olarak atanır.</p>\n</li>\n<li><p>Değerlendirme sonuçları, belirli kriterlere göre hesaplanır ve kaydetmeden önce bu hesaplamalar yapılır.</p>\n</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"i̇şlemler-ve-gerekli-alanlar\">İşlemler ve Gerekli Alanlar</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>İşlem</th>\n<th>Durum</th>\n<th>Gerekli Alanlar</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Değerlendirme Oluşturma</strong></td>\n<td>Yeni değerlendirme kaydı</td>\n<td><code>user_id</code>, değerlendirme kriterleri</td>\n</tr>\n<tr>\n<td><strong>Değerlendirme Güncelleme</strong></td>\n<td>Mevcut değerlendirme bilgilerini güncelleme</td>\n<td>Değerlendirme detayları güncellenebilir</td>\n</tr>\n<tr>\n<td><strong>Değerlendirme Silme</strong></td>\n<td>Değerlendirme kaydını sistemden kaldırma</td>\n<td>İlgili değerlendirme kaydı kontrol edilir</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"kullanım-senaryoları\">Kullanım Senaryoları</h4>\n<ul>\n<li><p><strong>Yeni Değerlendirme Kaydı</strong>: Çalışanın belirli bir dönemdeki performansının değerlendirilmesi için bu model kullanılarak sistemde yeni bir değerlendirme kaydı oluşturulur.</p>\n</li>\n<li><p><strong>Değerlendirme Bilgilerinin Güncellenmesi</strong>: Değerlendirme kriterleri veya puanları gibi bilgiler zamanla güncellenebilir. Bu işlemler, çalışanın güncel performans durumunu yansıtacak şekilde yapılabilir.</p>\n</li>\n<li><p><strong>Değerlendirme Sonuçlarının İzlenmesi</strong>: Değerlendirmeler, çalışanın performansının sürekli olarak izlenmesi ve yönetilmesi için kullanılır. Bu süreç, çalışanın kariyer gelişimine yönelik eylemleri destekler.</p>\n</li>\n</ul>\n<h4 id=\"özel-koşullar\">Özel Koşullar</h4>\n<ul>\n<li><p><strong>Değerlendirme Tarihleri</strong>: Değerlendirme kayıtları, belirli dönemlerde otomatik olarak oluşturulur ve bu tarihler, çalışanın performans değerlendirme dönemlerini yansıtır.</p>\n</li>\n<li><p><strong>Hesaplama Metodolojisi</strong>: Değerlendirme puanları, belirlenen kriterlere göre otomatik hesaplanır ve bu süreç, şeffaf ve tutarlı bir değerlendirme sağlar.</p>\n</li>\n</ul>\n","_postman_id":"c4bc95b8-8c61-45da-bffb-522c4403da1e","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"User Shift","item":[{"name":"List","id":"a6b60edc-ce90-4f70-a8f9-68a579417351","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/user_shifts","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_shifts"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"key":"q[user_client_id_cont]","value":""}],"variable":[]}},"response":[{"id":"9abd10ae-47df-4418-a606-fbb0a8d2e9da","name":"List","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer psg_cmp_8kuiDPQYD9CJi2LwhyGvLzXM3K4kh4","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/user_shifts","host":["https://api.passgage.com"],"path":["api","public","v1","user_shifts"],"query":[{"key":"","value":"","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"X-bullet-footer-text","value":"[\"user: gokhanalmas  USE eager loading detected    UserShift =\\u003e [:user]\\n  Add to your query: .includes([:user])\",\"user: gokhanalmas  USE eager loading detected    UserShift =\\u003e [:shift]\\n  Add to your query: .includes([:shift])\"]"},{"key":"X-bullet-console-text","value":"[\"user: gokhanalmas\\nUSE eager loading detected\\n  UserShift =\\u003e [:user]\\n  Add to your query: .includes([:user])\\nCall stack\\n  /Users/gokhanalmas/Developer/projects/passgage/andromeda/app/serializers/api/public/v1/user_shift_serializer.rb:9:in `client_id'\\n  /Users/gokhanalmas/Developer/projects/passgage/andromeda/app/controllers/api/public/base_controller.rb:56:in `render_json'\\n  /Users/gokhanalmas/Developer/projects/passgage/andromeda/app/controllers/api/public/base_controller.rb:83:in `render_api_response'\\n  /Users/gokhanalmas/Developer/projects/passgage/andromeda/app/controllers/api/public/v1/user_shifts_controller.rb:11:in `index'\\n\\n\",\"user: gokhanalmas\\nUSE eager loading detected\\n  UserShift =\\u003e [:shift]\\n  Add to your query: .includes([:shift])\\nCall stack\\n  /Users/gokhanalmas/Developer/projects/passgage/andromeda/app/controllers/api/public/base_controller.rb:56:in `render_json'\\n  /Users/gokhanalmas/Developer/projects/passgage/andromeda/app/controllers/api/public/base_controller.rb:83:in `render_api_response'\\n  /Users/gokhanalmas/Developer/projects/passgage/andromeda/app/controllers/api/public/v1/user_shifts_controller.rb:11:in `index'\\n\\n\"]"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"58755585-30d5-49b1-a174-7bed3c378c54"},{"key":"X-Runtime","value":"1.777056"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"c8herrivyycqlcyd8ya1,6ibsppydtb9kd8llyi3g,f4ls7n1c4g0692wt21y7,k38ge3kjg8j015vg3oo5,9bail59hv8sblh323rn1,wcpuzd45p6dgg0iaa3hb,edzu04srciy1t06x2iby"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"f7213b73-bd7c-4773-9e79-d4519a31dbf9\",\n            \"date_of_shift\": \"2024-11-06\",\n            \"created_at\": \"2024-11-06T09:54:31.851+03:00\",\n            \"updated_at\": \"2024-11-06T09:54:35.764+03:00\",\n            \"status\": \"approved\",\n            \"user_id\": \"c634175a-3d1d-4302-b5de-f550becb1e8e\",\n            \"client_id\": \"\",\n            \"shift\": {\n                \"id\": \"87ed24da-bb27-4ea3-a41e-df7d78d462cf\",\n                \"check_in_time\": \"08:00\",\n                \"check_out_time\": \"17:45\",\n                \"code\": \"08:00-17:45\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 15,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 15,\n                \"name\": \"08:00-17:45\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2024-02-12T10:39:30.680+03:00\",\n                \"updated_at\": \"2024-08-28T10:22:37.436+03:00\"\n            }\n        },\n        {\n            \"id\": \"a478048a-8c7c-4731-b1ad-d7a038e2f6af\",\n            \"date_of_shift\": \"2024-10-31\",\n            \"created_at\": \"2024-11-02T22:51:48.966+03:00\",\n            \"updated_at\": \"2024-11-02T22:51:48.966+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"ac195a0f-19ec-429d-ad14-40e7467c9464\",\n            \"client_id\": \"1926\",\n            \"shift\": {\n                \"id\": \"8bed5c9b-0ffb-4c5e-8dff-79c293d89aca\",\n                \"check_in_time\": \"10:00\",\n                \"check_out_time\": \"20:00\",\n                \"code\": \"10:00-20:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": true,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"10:00-20:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T11:10:04.038+03:00\",\n                \"updated_at\": \"2024-09-03T18:31:14.364+03:00\"\n            }\n        },\n        {\n            \"id\": \"c93be605-d86b-49f5-9fbf-69b5374400c7\",\n            \"date_of_shift\": \"2024-11-01\",\n            \"created_at\": \"2024-10-30T15:31:43.367+03:00\",\n            \"updated_at\": \"2024-10-30T15:31:43.367+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"814d942a-7917-43ef-801f-4421579fa1d2\",\n            \"client_id\": \"16997\",\n            \"shift\": {\n                \"id\": \"0fc6b649-18f3-48cb-99ab-c7a1ee6f4625\",\n                \"check_in_time\": \"10:00\",\n                \"check_out_time\": \"15:00\",\n                \"code\": \"10:00-15:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": true,\n                \"is_mid_shift\": null,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"10:00-15:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T14:20:51.953+03:00\",\n                \"updated_at\": \"2023-10-30T12:23:08.117+03:00\"\n            }\n        },\n        {\n            \"id\": \"25b75772-0a1d-475d-a44c-f1afc167b275\",\n            \"date_of_shift\": \"2024-10-30\",\n            \"created_at\": \"2024-10-29T21:58:50.391+03:00\",\n            \"updated_at\": \"2024-10-29T21:58:50.391+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"512dc884-3034-45bf-90bf-9bf1539265bf\",\n            \"client_id\": \"12040\",\n            \"shift\": {\n                \"id\": \"8df8bb0e-bcbf-407a-b325-6b749e370245\",\n                \"check_in_time\": \"10:00\",\n                \"check_out_time\": \"19:00\",\n                \"code\": \"10:00-19:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": true,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"10:00-19:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T11:06:17.215+03:00\",\n                \"updated_at\": \"2024-09-03T18:51:14.804+03:00\"\n            }\n        },\n        {\n            \"id\": \"eaebd7f8-7422-4f80-a4ba-33068097b997\",\n            \"date_of_shift\": \"2024-11-03\",\n            \"created_at\": \"2024-10-29T12:57:54.715+03:00\",\n            \"updated_at\": \"2024-10-29T12:57:54.715+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"8df8bb0e-bcbf-407a-b325-6b749e370245\",\n                \"check_in_time\": \"10:00\",\n                \"check_out_time\": \"19:00\",\n                \"code\": \"10:00-19:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": true,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"10:00-19:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T11:06:17.215+03:00\",\n                \"updated_at\": \"2024-09-03T18:51:14.804+03:00\"\n            }\n        },\n        {\n            \"id\": \"db7a28a8-92a7-4a1d-90e9-9f61ef8f0010\",\n            \"date_of_shift\": \"2024-11-02\",\n            \"created_at\": \"2024-10-29T12:57:40.344+03:00\",\n            \"updated_at\": \"2024-10-29T12:57:40.344+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"bd6925d6-2d5f-433e-ba2c-f8805bc077da\",\n                \"check_in_time\": \"00:00\",\n                \"check_out_time\": \"07:30\",\n                \"code\": \"OFF\",\n                \"color_code\": \"#f59e42\",\n                \"early_check_in\": null,\n                \"early_check_out\": null,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": true,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": null,\n                \"late_check_in\": null,\n                \"late_check_out\": null,\n                \"name\": \"HAFTA TATİLİ\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-02-23T13:50:15.590+03:00\",\n                \"updated_at\": \"2023-11-03T14:50:33.659+03:00\"\n            }\n        },\n        {\n            \"id\": \"64bcdb5a-9659-4cbe-980a-aeba44f01f05\",\n            \"date_of_shift\": \"2024-11-01\",\n            \"created_at\": \"2024-10-29T12:57:32.377+03:00\",\n            \"updated_at\": \"2024-10-29T12:57:32.377+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"ce175961-7fe2-4239-a47b-b9d1624617f2\",\n                \"check_in_time\": \"13:00\",\n                \"check_out_time\": \"22:00\",\n                \"code\": \"13:00-22:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": true,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"13:00-22:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T13:36:35.694+03:00\",\n                \"updated_at\": \"2024-09-03T18:52:21.153+03:00\"\n            }\n        },\n        {\n            \"id\": \"4b545ab6-66a0-40f1-be89-c4a1d2630316\",\n            \"date_of_shift\": \"2024-10-31\",\n            \"created_at\": \"2024-10-29T12:57:21.799+03:00\",\n            \"updated_at\": \"2024-10-29T12:57:21.799+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"ce175961-7fe2-4239-a47b-b9d1624617f2\",\n                \"check_in_time\": \"13:00\",\n                \"check_out_time\": \"22:00\",\n                \"code\": \"13:00-22:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": true,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"13:00-22:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T13:36:35.694+03:00\",\n                \"updated_at\": \"2024-09-03T18:52:21.153+03:00\"\n            }\n        },\n        {\n            \"id\": \"d3565388-4410-4d27-b1a5-ae8d671bccab\",\n            \"date_of_shift\": \"2024-10-30\",\n            \"created_at\": \"2024-10-29T12:57:14.020+03:00\",\n            \"updated_at\": \"2024-10-29T12:57:14.020+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"bd6925d6-2d5f-433e-ba2c-f8805bc077da\",\n                \"check_in_time\": \"00:00\",\n                \"check_out_time\": \"07:30\",\n                \"code\": \"OFF\",\n                \"color_code\": \"#f59e42\",\n                \"early_check_in\": null,\n                \"early_check_out\": null,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": true,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": null,\n                \"late_check_in\": null,\n                \"late_check_out\": null,\n                \"name\": \"HAFTA TATİLİ\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-02-23T13:50:15.590+03:00\",\n                \"updated_at\": \"2023-11-03T14:50:33.659+03:00\"\n            }\n        },\n        {\n            \"id\": \"a3a99b06-95ac-4bd3-b808-99bb160da2f9\",\n            \"date_of_shift\": \"2024-10-29\",\n            \"created_at\": \"2024-10-29T12:57:08.855+03:00\",\n            \"updated_at\": \"2024-10-29T12:57:08.855+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"33cb9c76-ccca-43e7-99c8-06cb6facd4ba\",\n                \"check_in_time\": \"09:00\",\n                \"check_out_time\": \"18:00\",\n                \"code\": \"09:00-18:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": true,\n                \"is_mid_shift\": null,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"09:00-18:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T13:59:42.961+03:00\",\n                \"updated_at\": \"2023-10-30T12:21:42.990+03:00\"\n            }\n        },\n        {\n            \"id\": \"c889fad0-f53c-411e-839d-bc67dcf7a712\",\n            \"date_of_shift\": \"2024-10-28\",\n            \"created_at\": \"2024-10-29T12:57:01.851+03:00\",\n            \"updated_at\": \"2024-10-29T12:57:01.851+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"ce175961-7fe2-4239-a47b-b9d1624617f2\",\n                \"check_in_time\": \"13:00\",\n                \"check_out_time\": \"22:00\",\n                \"code\": \"13:00-22:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": true,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"13:00-22:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T13:36:35.694+03:00\",\n                \"updated_at\": \"2024-09-03T18:52:21.153+03:00\"\n            }\n        },\n        {\n            \"id\": \"4995632b-bc44-475b-8c04-896cd12c6cd0\",\n            \"date_of_shift\": \"2024-10-27\",\n            \"created_at\": \"2024-10-29T12:56:38.628+03:00\",\n            \"updated_at\": \"2024-10-29T12:56:38.628+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"8df8bb0e-bcbf-407a-b325-6b749e370245\",\n                \"check_in_time\": \"10:00\",\n                \"check_out_time\": \"19:00\",\n                \"code\": \"10:00-19:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": true,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"10:00-19:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T11:06:17.215+03:00\",\n                \"updated_at\": \"2024-09-03T18:51:14.804+03:00\"\n            }\n        },\n        {\n            \"id\": \"23fdd708-76f2-4cfe-aff3-9d0f6132d1b1\",\n            \"date_of_shift\": \"2024-10-26\",\n            \"created_at\": \"2024-10-29T12:56:27.857+03:00\",\n            \"updated_at\": \"2024-10-29T12:56:27.857+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"bd6925d6-2d5f-433e-ba2c-f8805bc077da\",\n                \"check_in_time\": \"00:00\",\n                \"check_out_time\": \"07:30\",\n                \"code\": \"OFF\",\n                \"color_code\": \"#f59e42\",\n                \"early_check_in\": null,\n                \"early_check_out\": null,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": true,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": null,\n                \"late_check_in\": null,\n                \"late_check_out\": null,\n                \"name\": \"HAFTA TATİLİ\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-02-23T13:50:15.590+03:00\",\n                \"updated_at\": \"2023-11-03T14:50:33.659+03:00\"\n            }\n        },\n        {\n            \"id\": \"01aa042b-a150-42b8-bf64-7e4f94e7f82e\",\n            \"date_of_shift\": \"2024-10-25\",\n            \"created_at\": \"2024-10-29T12:56:22.675+03:00\",\n            \"updated_at\": \"2024-10-29T12:56:22.675+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"33cb9c76-ccca-43e7-99c8-06cb6facd4ba\",\n                \"check_in_time\": \"09:00\",\n                \"check_out_time\": \"18:00\",\n                \"code\": \"09:00-18:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": true,\n                \"is_mid_shift\": null,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"09:00-18:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T13:59:42.961+03:00\",\n                \"updated_at\": \"2023-10-30T12:21:42.990+03:00\"\n            }\n        },\n        {\n            \"id\": \"2aca4341-0b88-405f-9c0e-29601fb8a854\",\n            \"date_of_shift\": \"2024-10-24\",\n            \"created_at\": \"2024-10-29T12:55:26.889+03:00\",\n            \"updated_at\": \"2024-10-29T12:55:26.889+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"ce175961-7fe2-4239-a47b-b9d1624617f2\",\n                \"check_in_time\": \"13:00\",\n                \"check_out_time\": \"22:00\",\n                \"code\": \"13:00-22:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": true,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"13:00-22:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T13:36:35.694+03:00\",\n                \"updated_at\": \"2024-09-03T18:52:21.153+03:00\"\n            }\n        },\n        {\n            \"id\": \"91f6fd0d-9f03-4f35-9cbd-9e0e4aff8e48\",\n            \"date_of_shift\": \"2024-10-23\",\n            \"created_at\": \"2024-10-29T12:53:58.257+03:00\",\n            \"updated_at\": \"2024-10-29T12:53:58.257+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"bd6925d6-2d5f-433e-ba2c-f8805bc077da\",\n                \"check_in_time\": \"00:00\",\n                \"check_out_time\": \"07:30\",\n                \"code\": \"OFF\",\n                \"color_code\": \"#f59e42\",\n                \"early_check_in\": null,\n                \"early_check_out\": null,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": true,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": null,\n                \"late_check_in\": null,\n                \"late_check_out\": null,\n                \"name\": \"HAFTA TATİLİ\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-02-23T13:50:15.590+03:00\",\n                \"updated_at\": \"2023-11-03T14:50:33.659+03:00\"\n            }\n        },\n        {\n            \"id\": \"222a7291-7757-45e4-afac-0b281c064fba\",\n            \"date_of_shift\": \"2024-10-22\",\n            \"created_at\": \"2024-10-29T12:53:42.854+03:00\",\n            \"updated_at\": \"2024-10-29T12:53:42.854+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"8df8bb0e-bcbf-407a-b325-6b749e370245\",\n                \"check_in_time\": \"10:00\",\n                \"check_out_time\": \"19:00\",\n                \"code\": \"10:00-19:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": true,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"10:00-19:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T11:06:17.215+03:00\",\n                \"updated_at\": \"2024-09-03T18:51:14.804+03:00\"\n            }\n        },\n        {\n            \"id\": \"4697942d-7c79-4143-905d-07654709bef0\",\n            \"date_of_shift\": \"2024-10-21\",\n            \"created_at\": \"2024-10-29T12:53:37.251+03:00\",\n            \"updated_at\": \"2024-10-29T12:53:37.251+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"613b83e2-c8e6-4659-ad8a-96f426b809a7\",\n            \"client_id\": \"2465\",\n            \"shift\": {\n                \"id\": \"8df8bb0e-bcbf-407a-b325-6b749e370245\",\n                \"check_in_time\": \"10:00\",\n                \"check_out_time\": \"19:00\",\n                \"code\": \"10:00-19:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": true,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"10:00-19:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T11:06:17.215+03:00\",\n                \"updated_at\": \"2024-09-03T18:51:14.804+03:00\"\n            }\n        },\n        {\n            \"id\": \"3cf2ae83-2c65-4815-aa68-20c54c9d6f53\",\n            \"date_of_shift\": \"2024-10-21\",\n            \"created_at\": \"2024-10-25T14:15:27.516+03:00\",\n            \"updated_at\": \"2024-10-25T14:15:27.516+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"efda18cd-db2d-4037-821c-4d987ece2afa\",\n            \"client_id\": \"1166\",\n            \"shift\": {\n                \"id\": \"8df8bb0e-bcbf-407a-b325-6b749e370245\",\n                \"check_in_time\": \"10:00\",\n                \"check_out_time\": \"19:00\",\n                \"code\": \"10:00-19:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": true,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"10:00-19:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T11:06:17.215+03:00\",\n                \"updated_at\": \"2024-09-03T18:51:14.804+03:00\"\n            }\n        },\n        {\n            \"id\": \"f064db54-4ef7-41df-8cca-3f5885aa4a1e\",\n            \"date_of_shift\": \"2024-10-25\",\n            \"created_at\": \"2024-10-24T08:32:40.790+03:00\",\n            \"updated_at\": \"2024-10-24T08:32:40.790+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"814d942a-7917-43ef-801f-4421579fa1d2\",\n            \"client_id\": \"16997\",\n            \"shift\": {\n                \"id\": \"33cb9c76-ccca-43e7-99c8-06cb6facd4ba\",\n                \"check_in_time\": \"09:00\",\n                \"check_out_time\": \"18:00\",\n                \"code\": \"09:00-18:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": true,\n                \"is_mid_shift\": null,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"09:00-18:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T13:59:42.961+03:00\",\n                \"updated_at\": \"2023-10-30T12:21:42.990+03:00\"\n            }\n        },\n        {\n            \"id\": \"4f13f3ca-ae3b-40d8-8c77-619a24a37acd\",\n            \"date_of_shift\": \"2024-10-20\",\n            \"created_at\": \"2024-10-20T21:33:48.009+03:00\",\n            \"updated_at\": \"2024-10-20T21:33:48.009+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"61ed7243-0d78-49d7-840e-fbf4412b837e\",\n            \"client_id\": \"9880\",\n            \"shift\": {\n                \"id\": \"585c6950-d464-490d-a0e8-ec2a5d94a573\",\n                \"check_in_time\": \"10:00\",\n                \"check_out_time\": \"18:00\",\n                \"code\": \"10:00-18:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": true,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"10:00-18:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T14:28:44.273+03:00\",\n                \"updated_at\": \"2024-09-11T09:28:59.487+03:00\"\n            }\n        },\n        {\n            \"id\": \"936ea57c-c9dd-4727-b4a0-9f8ae245594f\",\n            \"date_of_shift\": \"2024-10-19\",\n            \"created_at\": \"2024-10-20T21:33:42.920+03:00\",\n            \"updated_at\": \"2024-10-20T21:33:42.920+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"61ed7243-0d78-49d7-840e-fbf4412b837e\",\n            \"client_id\": \"9880\",\n            \"shift\": {\n                \"id\": \"abc3853f-90e4-4633-b565-82fa5484b694\",\n                \"check_in_time\": \"11:00\",\n                \"check_out_time\": \"21:00\",\n                \"code\": \"11:00-21:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"11:00-21:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T11:42:16.449+03:00\",\n                \"updated_at\": \"2024-08-28T10:32:04.672+03:00\"\n            }\n        },\n        {\n            \"id\": \"a3d42d5c-47c1-4bec-85f7-7c1c8bb42bc4\",\n            \"date_of_shift\": \"2024-10-18\",\n            \"created_at\": \"2024-10-20T21:33:37.007+03:00\",\n            \"updated_at\": \"2024-10-20T21:33:37.007+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"61ed7243-0d78-49d7-840e-fbf4412b837e\",\n            \"client_id\": \"9880\",\n            \"shift\": {\n                \"id\": \"ce175961-7fe2-4239-a47b-b9d1624617f2\",\n                \"check_in_time\": \"13:00\",\n                \"check_out_time\": \"22:00\",\n                \"code\": \"13:00-22:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": true,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"13:00-22:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T13:36:35.694+03:00\",\n                \"updated_at\": \"2024-09-03T18:52:21.153+03:00\"\n            }\n        },\n        {\n            \"id\": \"de9c9868-91f6-4dfb-b24c-ff2518275b53\",\n            \"date_of_shift\": \"2024-10-17\",\n            \"created_at\": \"2024-10-20T21:33:29.981+03:00\",\n            \"updated_at\": \"2024-10-20T21:33:29.981+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"61ed7243-0d78-49d7-840e-fbf4412b837e\",\n            \"client_id\": \"9880\",\n            \"shift\": {\n                \"id\": \"ce175961-7fe2-4239-a47b-b9d1624617f2\",\n                \"check_in_time\": \"13:00\",\n                \"check_out_time\": \"22:00\",\n                \"code\": \"13:00-22:00\",\n                \"color_code\": \"#000000\",\n                \"early_check_in\": 30,\n                \"early_check_out\": 15,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": false,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": true,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": false,\n                \"late_check_in\": 15,\n                \"late_check_out\": 30,\n                \"name\": \"13:00-22:00\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-10-24T13:36:35.694+03:00\",\n                \"updated_at\": \"2024-09-03T18:52:21.153+03:00\"\n            }\n        },\n        {\n            \"id\": \"502d0bdd-472f-45de-9de1-83bea18545f6\",\n            \"date_of_shift\": \"2024-10-16\",\n            \"created_at\": \"2024-10-20T21:33:23.391+03:00\",\n            \"updated_at\": \"2024-10-20T21:33:23.391+03:00\",\n            \"status\": \"waiting_for_approval\",\n            \"user_id\": \"61ed7243-0d78-49d7-840e-fbf4412b837e\",\n            \"client_id\": \"9880\",\n            \"shift\": {\n                \"id\": \"bd6925d6-2d5f-433e-ba2c-f8805bc077da\",\n                \"check_in_time\": \"00:00\",\n                \"check_out_time\": \"07:30\",\n                \"code\": \"OFF\",\n                \"color_code\": \"#f59e42\",\n                \"early_check_in\": null,\n                \"early_check_out\": null,\n                \"extra_time_tolerance\": 0,\n                \"flexible_shift_hours\": 0,\n                \"flexible_shift_minutes\": 0,\n                \"is_active\": true,\n                \"is_holiday\": true,\n                \"is_offset\": false,\n                \"is_saturday_work\": false,\n                \"is_shop_closing\": false,\n                \"is_shop_opening\": false,\n                \"is_mid_shift\": null,\n                \"late_check_in\": null,\n                \"late_check_out\": null,\n                \"name\": \"HAFTA TATİLİ\",\n                \"shift_type\": \"still\",\n                \"created_at\": \"2023-02-23T13:50:15.590+03:00\",\n                \"updated_at\": \"2023-11-03T14:50:33.659+03:00\"\n            }\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 147,\n        \"total_count\": 3663\n    }\n}"}],"_postman_id":"a6b60edc-ce90-4f70-a8f9-68a579417351"},{"name":"Create","id":"21fd5d15-e78c-4d55-89a3-d412f10b4928","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"user_shift\": {\n        \"user_id\": \"c634175a-3d1d-4302-b5de-f550becb1e8e\",\n        \"shift_id\": \"87ed24da-bb27-4ea3-a41e-df7d78d462cf\",\n        \"date_of_shift\": \"2024-08-20\",\n        \"status\": \"approved\",\n        \"description\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/user_shifts","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_shifts"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"key":"","value":""}],"variable":[]}},"response":[{"id":"1e4a1262-006d-4ba1-a4f5-45c7f18adef9","name":"201","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"user_shift\": {\n        \"user_id\": \"c634175a-3d1d-4302-b5de-f550becb1e8e\",\n        \"shift_id\": \"87ed24da-bb27-4ea3-a41e-df7d78d462cf\",\n        \"date_of_shift\": \"2024-08-20\",\n        \"status\": \"approved\",\n        \"description\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/user_shifts","host":["https://api.passgage.com"],"path":["api","public","v1","user_shifts"],"query":[{"key":"","value":"","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"5c2254ae-4162-4257-a7b9-0f90da0213d4"},{"key":"X-Runtime","value":"0.641397"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"tsdch1pp6324jc7mwvxa,gg5v8c8x209wypzlqv5x,s5kk7455x8rv6gdqozda"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully created the user shift\",\n    \"data\": {\n        \"id\": \"c126ca94-4ec7-4eed-8a03-64920eeaabd5\",\n        \"date_of_shift\": \"2024-08-20\",\n        \"created_at\": \"2024-08-24T21:33:19.163+03:00\",\n        \"updated_at\": \"2024-08-24T21:33:19.163+03:00\",\n        \"status\": \"approved\",\n        \"user_id\": \"c634175a-3d1d-4302-b5de-f550becb1e8e\",\n        \"shift\": {\n            \"id\": \"87ed24da-bb27-4ea3-a41e-df7d78d462cf\",\n            \"created_at\": \"2024-02-12T10:39:30.680+03:00\",\n            \"updated_at\": \"2024-02-12T10:39:30.680+03:00\",\n            \"name\": \"08:00-17:45\",\n            \"is_active\": true\n        }\n    },\n    \"meta\": {}\n}"}],"_postman_id":"21fd5d15-e78c-4d55-89a3-d412f10b4928"},{"name":"Update","id":"ea01d0e5-72a2-418b-96f2-475c42b56781","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"user_shift\": {\n        \"user_id\": \"c634175a-3d1d-4302-b5de-f550becb1e8e\",\n        \"shift_id\": \"87ed24da-bb27-4ea3-a41e-df7d78d462cf\",\n        \"date_of_shift\": \"2024-08-20\",\n        \"status\": \"waiting_for_approval\",\n        \"description\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/user_shifts/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_shifts",":id"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"key":"","value":""}],"variable":[{"description":{"content":"<p>user_shift id</p>\n","type":"text/plain"},"type":"any","value":"c126ca94-4ec7-4eed-8a03-64920eeaabd5","key":"id"}]}},"response":[{"id":"d8547a4b-0d91-4720-99cd-9dbf3ec0109f","name":"200","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"user_shift\": {\n        \"user_id\": \"c634175a-3d1d-4302-b5de-f550becb1e8e\",\n        \"shift_id\": \"87ed24da-bb27-4ea3-a41e-df7d78d462cf\",\n        \"date_of_shift\": \"2024-08-20\",\n        \"status\": \"waiting_for_approval\",\n        \"description\": \"\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/user_shifts/:id","host":["https://api.passgage.com"],"path":["api","public","v1","user_shifts",":id"],"query":[{"key":"","value":"","type":"text","disabled":true}],"variable":[{"key":"id","value":"c126ca94-4ec7-4eed-8a03-64920eeaabd5","description":"user_shift id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"bf762643-e5dd-464d-bf7d-b3c2f73f5e63"},{"key":"X-Runtime","value":"2.218146"},{"key":"Vary","value":"Origin"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"gq5fmfvvos4whijza0y1,rz1abv8srm13vwou7jl7,psqma3a2hfy48pg5ut00"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully updated the user shift\",\n    \"data\": {\n        \"id\": \"c126ca94-4ec7-4eed-8a03-64920eeaabd5\",\n        \"date_of_shift\": \"2024-08-20\",\n        \"created_at\": \"2024-08-24T21:33:19.163+03:00\",\n        \"updated_at\": \"2024-08-24T22:03:14.052+03:00\",\n        \"status\": \"waiting_for_approval\",\n        \"user_id\": \"c634175a-3d1d-4302-b5de-f550becb1e8e\",\n        \"shift\": {\n            \"id\": \"87ed24da-bb27-4ea3-a41e-df7d78d462cf\",\n            \"created_at\": \"2024-02-12T10:39:30.680+03:00\",\n            \"updated_at\": \"2024-02-12T10:39:30.680+03:00\",\n            \"name\": \"08:00-17:45\",\n            \"is_active\": true\n        }\n    },\n    \"meta\": {}\n}"}],"_postman_id":"ea01d0e5-72a2-418b-96f2-475c42b56781"},{"name":"Show","id":"7167f678-865c-4976-9cdc-533498b5ed21","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/user_shifts/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_shifts",":id"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"key":"","value":""}],"variable":[{"description":{"content":"<p>user_shift id</p>\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[],"_postman_id":"7167f678-865c-4976-9cdc-533498b5ed21"},{"name":"Destroy","id":"149030d8-ee67-49dc-8355-7ca99a551358","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/user_shifts/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_shifts",":id"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"key":"","value":""}],"variable":[{"description":{"content":"<p>user_shift id</p>\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[],"_postman_id":"149030d8-ee67-49dc-8355-7ca99a551358"},{"name":"Stream - Cursor Pagination","id":"1f778ab9-faf7-4299-b035-e4547b6ccb68","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/user_shifts/stream","description":"<p>Cursor-based pagination ile vardiya listesi.</p>\n<p><strong>Avantajlari:</strong></p>\n<ul>\n<li>Buyuk veri setlerinde sabit performans (O(log n))</li>\n<li>Sayfa atlama olmadan ardisik veri cekme</li>\n<li>Veri tutarliligi garantisi</li>\n</ul>\n<p><strong>Kullanim:</strong></p>\n<ol>\n<li>Ilk istek: limit parametresi ile</li>\n<li>Sonraki sayfalar: response'daki <code>meta.cursors.after</code> degerini <code>after</code> parametresine ekleyin</li>\n<li>Onceki sayfalar: <code>meta.cursors.before</code> degerini <code>before</code> parametresine ekleyin</li>\n</ol>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_shifts","stream"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"description":{"content":"<p>Sonraki sayfa icin cursor (onceki response'dan alinir)</p>\n","type":"text/plain"},"key":"after","value":"eyJjcmVhdGVkX2F0IjoiMjAyNS0xMi0xNlQwNTo1Njo1MS43MTcyNjNaIiwiaWQiOiJhZTRiZjUwYi02MGIxLTQ5ZGMtOWY1Yi1iYTdhNWFlYWE5ZGUifQ"},{"disabled":true,"description":{"content":"<p>Onceki sayfa icin cursor</p>\n","type":"text/plain"},"key":"before","value":""},{"disabled":true,"description":{"content":"<p>Baslangic tarihi filtresi</p>\n","type":"text/plain"},"key":"q[date_of_shift_gteq]","value":"2025-01-01"},{"disabled":true,"description":{"content":"<p>Bitis tarihi filtresi</p>\n","type":"text/plain"},"key":"q[date_of_shift_lteq]","value":"2025-12-31"},{"disabled":true,"description":{"content":"<p>Max 200</p>\n","type":"text/plain"},"key":"limit","value":"10"}],"variable":[]}},"response":[{"id":"fbaa8410-2fa9-4b32-8af2-a6b772b5a667","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/user_shifts/stream","host":["https://api.passgage.com"],"path":["api","public","v1","user_shifts","stream"],"query":[{"key":"after","value":"eyJjcmVhdGVkX2F0IjoiMjAyNS0xMi0xNlQwNTo1Njo1MS43MTcyNjNaIiwiaWQiOiJhZTRiZjUwYi02MGIxLTQ5ZGMtOWY1Yi1iYTdhNWFlYWE5ZGUifQ","description":"Sonraki sayfa icin cursor (onceki response'dan alinir)","disabled":true},{"key":"before","value":"","description":"Onceki sayfa icin cursor","disabled":true},{"key":"q[date_of_shift_gteq]","value":"2025-01-01","description":"Baslangic tarihi filtresi","disabled":true},{"key":"q[date_of_shift_lteq]","value":"2025-12-31","description":"Bitis tarihi filtresi","disabled":true},{"key":"limit","value":"10","description":"Max 200","disabled":true}]},"description":"Cursor-based pagination ile vardiya listesi.\n\n**Avantajlari:**\n- Buyuk veri setlerinde sabit performans (O(log n))\n- Sayfa atlama olmadan ardisik veri cekme\n- Veri tutarliligi garantisi\n\n**Kullanim:**\n1. Ilk istek: limit parametresi ile\n2. Sonraki sayfalar: response'daki `meta.cursors.after` degerini `after` parametresine ekleyin\n3. Onceki sayfalar: `meta.cursors.before` degerini `before` parametresine ekleyin"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"abc123-def456\",\n      \"date_of_shift\": \"2025-01-15\",\n      \"status\": \"approved\",\n      \"user_id\": \"user-uuid\",\n      \"user_full_name\": \"Ahmet Yilmaz\",\n      \"shift_name\": \"Sabah Vardiyasi\"\n    }\n  ],\n  \"meta\": {\n    \"cursors\": {\n      \"after\": \"eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNVQxMDozMDowMCswMzowMCIsImlkIjoibGFzdC1pZCJ9\",\n      \"before\": \"eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNVQxMDozMDowMCswMzowMCIsImlkIjoiZmlyc3QtaWQifQ==\"\n    },\n    \"has_next_page\": true,\n    \"has_previous_page\": false,\n    \"count\": 200\n  }\n}"}],"_postman_id":"1f778ab9-faf7-4299-b035-e4547b6ccb68"},{"name":"Export - Start Job","id":"ed4b8e0b-ed57-4ba6-b83a-452ff464dff3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"format\": \"csv\",\n  \"date_from\": \"2025-01-01\",\n  \"date_to\": \"2025-01-31\",\n  \"branch_id\": \"52fcd593-d462-4212-baeb-5ab46c9bee23\",\n  \"status\": \"approved\"\n}"},"url":"https://api.passgage.com/api/public/v1/user_shifts/export?","description":"<p>Async bulk export baslatir.</p>\n<p><strong>Parametreler:</strong></p>\n<ul>\n<li><code>format</code>: csv veya json (varsayilan: csv)</li>\n<li><code>date_from</code>: Baslangic tarihi (YYYY-MM-DD)</li>\n<li><code>date_to</code>: Bitis tarihi (YYYY-MM-DD)</li>\n<li><code>user_id</code>: Kullanici ID filtresi</li>\n<li><code>branch_id</code>: Sube ID filtresi</li>\n<li><code>status</code>: Durum filtresi</li>\n</ul>\n<p><strong>Not:</strong> Bu islem arka planda calisir. Durum takibi icin donen <code>job_id</code> degerini kullanin.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_shifts","export"],"host":["https://api.passgage.com"],"query":[{"key":"","value":null}],"variable":[]}},"response":[{"id":"d9e0fb1a-8ccd-4b2c-a1b1-7cf43c6d7ed2","name":"Job Created","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"format\": \"csv\",\n  \"date_from\": \"2025-01-01\",\n  \"date_to\": \"2025-01-31\",\n  \"branch_id\": \"52fcd593-d462-4212-baeb-5ab46c9bee23\",\n  \"status\": \"approved\"\n}"},"url":{"raw":"https://api.passgage.com/api/public/v1/user_shifts/export?","host":["https://api.passgage.com"],"path":["api","public","v1","user_shifts","export"],"query":[{"key":"","value":null}]},"description":"Async bulk export baslatir.\n\n**Parametreler:**\n- `format`: csv veya json (varsayilan: csv)\n- `date_from`: Baslangic tarihi (YYYY-MM-DD)\n- `date_to`: Bitis tarihi (YYYY-MM-DD)\n- `user_id`: Kullanici ID filtresi\n- `branch_id`: Sube ID filtresi\n- `status`: Durum filtresi\n\n**Not:** Bu islem arka planda calisir. Durum takibi icin donen `job_id` degerini kullanin."},"status":"Accepted","code":202,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"message\": \"Export job started\",\n  \"data\": {\n    \"job_id\": \"export-job-uuid\",\n    \"status\": \"pending\",\n    \"format\": \"csv\",\n    \"filters\": {\n      \"date_from\": \"2025-01-01\",\n      \"date_to\": \"2025-01-31\",\n      \"branch_id\": \"branch-uuid\",\n      \"status\": \"approved\"\n    },\n    \"created_at\": \"2025-01-15T10:30:00+03:00\"\n  }\n}"}],"_postman_id":"ed4b8e0b-ed57-4ba6-b83a-452ff464dff3"},{"name":"Export - Check Status","id":"e93a80df-7850-48e8-b9cd-0ec7fef8c72f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/user_shifts/export/:job_id/status","description":"<p>Export job durumunu kontrol eder.</p>\n<p><strong>Durum Degerleri:</strong></p>\n<ul>\n<li><code>pending</code>: Is kuyrukta bekliyor</li>\n<li><code>processing</code>: Is isleniyor</li>\n<li><code>completed</code>: Is tamamlandi, indirilebilir</li>\n<li><code>failed</code>: Is basarisiz oldu</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_shifts","export",":job_id","status"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Export job ID</p>\n","type":"text/plain"},"type":"any","value":"{{export-job-uuid}}","key":"job_id"}]}},"response":[{"id":"0413c8a4-73de-4d66-823a-3a55938dc06c","name":"Processing","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/user_shifts/export/:job_id/status","host":["https://api.passgage.com"],"path":["api","public","v1","user_shifts","export",":job_id","status"],"variable":[{"key":"job_id","value":"{{export-job-uuid}}","description":"Export job ID"}]},"description":"Export job durumunu kontrol eder.\n\n**Durum Degerleri:**\n- `pending`: Is kuyrukta bekliyor\n- `processing`: Is isleniyor\n- `completed`: Is tamamlandi, indirilebilir\n- `failed`: Is basarisiz oldu"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": {\n    \"job_id\": \"export-job-uuid\",\n    \"status\": \"processing\",\n    \"format\": \"csv\",\n    \"filters\": {\n      \"date_from\": \"2025-01-01\",\n      \"date_to\": \"2025-01-31\"\n    },\n    \"total_records\": 15000,\n    \"processed_records\": 7500,\n    \"progress_percentage\": 50.0,\n    \"file_name\": null,\n    \"file_size\": null,\n    \"error_message\": null,\n    \"started_at\": \"2025-01-15T10:30:05+03:00\",\n    \"completed_at\": null,\n    \"expires_at\": null,\n    \"created_at\": \"2025-01-15T10:30:00+03:00\"\n  }\n}"},{"id":"77a53791-a811-4788-919c-ec02672defcc","name":"Completed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/user_shifts/export/:job_id/status","host":["https://api.passgage.com"],"path":["api","public","v1","user_shifts","export",":job_id","status"],"variable":[{"key":"job_id","value":"{{export-job-uuid}}","description":"Export job ID"}]},"description":"Export job durumunu kontrol eder.\n\n**Durum Degerleri:**\n- `pending`: Is kuyrukta bekliyor\n- `processing`: Is isleniyor\n- `completed`: Is tamamlandi, indirilebilir\n- `failed`: Is basarisiz oldu"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": {\n    \"job_id\": \"export-job-uuid\",\n    \"status\": \"completed\",\n    \"format\": \"csv\",\n    \"filters\": {\n      \"date_from\": \"2025-01-01\",\n      \"date_to\": \"2025-01-31\"\n    },\n    \"total_records\": 15000,\n    \"processed_records\": 15000,\n    \"progress_percentage\": 100.0,\n    \"file_name\": \"user_shifts_export_20250115_103500.csv\",\n    \"file_size\": 2500000,\n    \"error_message\": null,\n    \"started_at\": \"2025-01-15T10:30:05+03:00\",\n    \"completed_at\": \"2025-01-15T10:35:00+03:00\",\n    \"expires_at\": \"2025-01-16T10:35:00+03:00\",\n    \"created_at\": \"2025-01-15T10:30:00+03:00\"\n  }\n}"}],"_postman_id":"e93a80df-7850-48e8-b9cd-0ec7fef8c72f"},{"name":"Export - Download","id":"a5966582-5544-44ec-9999-2361f82a7a4f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/user_shifts/export/:job_id/download","description":"<p>Tamamlanan export dosyasini indirmek icin presigned URL alir.</p>\n<p><strong>Not:</strong> URL 1 saat gecerlidir. Dosyanin kendisi 24 saat sonra silinir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_shifts","export",":job_id","download"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Export job ID</p>\n","type":"text/plain"},"type":"any","value":"{{export-job-uuid}}","key":"job_id"}]}},"response":[{"id":"3ea8b10d-31b1-47a4-9a7e-19c18d3b892e","name":"Download URL","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/user_shifts/export/:job_id/download","host":["https://api.passgage.com"],"path":["api","public","v1","user_shifts","export",":job_id","download"],"variable":[{"key":"job_id","value":"{{export-job-uuid}}","description":"Export job ID"}]},"description":"Tamamlanan export dosyasini indirmek icin presigned URL alir.\n\n**Not:** URL 1 saat gecerlidir. Dosyanin kendisi 24 saat sonra silinir."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": {\n    \"job_id\": \"export-job-uuid\",\n    \"download_url\": \"https://s3.eu-west-1.amazonaws.com/passgage-storage/api-exports/...\",\n    \"file_name\": \"user_shifts_export_20250115_103500.csv\",\n    \"file_size\": 2500000,\n    \"expires_at\": \"2025-01-16T10:35:00+03:00\",\n    \"record_count\": 15000\n  }\n}"},{"id":"6c156cae-1974-4e02-8234-2616b0be8662","name":"Not Ready","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/user_shifts/export/:job_id/download","host":["https://api.passgage.com"],"path":["api","public","v1","user_shifts","export",":job_id","download"],"variable":[{"key":"job_id","value":"{{export-job-uuid}}","description":"Export job ID"}]},"description":"Tamamlanan export dosyasini indirmek icin presigned URL alir.\n\n**Not:** URL 1 saat gecerlidir. Dosyanin kendisi 24 saat sonra silinir."},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"Export job is not completed. Current status: processing\"\n}"},{"id":"c4cf22e1-2378-46f3-90c3-73a59ae847e9","name":"Expired","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/user_shifts/export/:job_id/download","host":["https://api.passgage.com"],"path":["api","public","v1","user_shifts","export",":job_id","download"],"variable":[{"key":"job_id","value":"{{export-job-uuid}}","description":"Export job ID"}]},"description":"Tamamlanan export dosyasini indirmek icin presigned URL alir.\n\n**Not:** URL 1 saat gecerlidir. Dosyanin kendisi 24 saat sonra silinir."},"status":"Gone","code":410,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": false,\n  \"message\": \"Export file has expired. Please create a new export.\"\n}"}],"_postman_id":"a5966582-5544-44ec-9999-2361f82a7a4f"},{"name":"Export - List Jobs","id":"a05f8849-d28d-4dec-aa69-eb3cf86c5745","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/user_shifts/exports","description":"<p>Sirketin tum user_shifts export job'larini listeler (son 20 kayit).</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_shifts","exports"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"095cbc84-b64e-4c6e-bdfa-451b6f9fee4d","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/user_shifts/exports","description":"Sirketin tum user_shifts export job'larini listeler (son 20 kayit)."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": [\n    {\n      \"job_id\": \"export-job-1\",\n      \"status\": \"completed\",\n      \"format\": \"csv\",\n      \"total_records\": 15000,\n      \"created_at\": \"2025-01-15T10:30:00+03:00\"\n    },\n    {\n      \"job_id\": \"export-job-2\",\n      \"status\": \"processing\",\n      \"format\": \"json\",\n      \"total_records\": 8000,\n      \"created_at\": \"2025-01-15T11:00:00+03:00\"\n    }\n  ]\n}"}],"_postman_id":"a05f8849-d28d-4dec-aa69-eb3cf86c5745"}],"id":"ccfa4ac5-7af0-4675-9a15-eee8717882b7","description":"<h2 id=\"genel-bakış\">Genel Bakış</h2>\n<p><code>UserShift</code> API'si, sistem içerisinde kullanıcıların vardiya planlamasını yönetir. Bu API, vardiyaların atanması, onaylanması, reddedilmesi ve vardiya sürelerinin hesaplanması gibi temel işlevleri sağlar.</p>\n<h2 id=\"temel-özellikler\">Temel Özellikler</h2>\n<ul>\n<li><p>Vardiyalar için başlangıç ve bitiş saatleri, vardiya tarihi ve durumu gibi temel bilgileri yönetir</p>\n</li>\n<li><p>Kullanıcılara günlük, haftalık ve aylık bazda vardiya ataması yapılabilir</p>\n</li>\n<li><p>Vardiya onay süreçleri ve durumları takip edilebilir (onay bekliyor, onaylandı, reddedildi)</p>\n</li>\n<li><p>Her vardiya kaydında kullanıcının sicil numarası (client_id) bulunur</p>\n</li>\n</ul>\n<h2 id=\"doğrulamalar-ve-koşullar\">Doğrulamalar ve Koşullar</h2>\n<h3 id=\"1-genel-doğrulamalar\">1. Genel Doğrulamalar</h3>\n<ul>\n<li><p><code>date_of_shift</code>: Vardiya tarihi</p>\n</li>\n<li><p><code>shift_id</code>: Atanan vardiya türü</p>\n</li>\n<li><p><code>user_id</code>: Vardiya atanan kullanıcı</p>\n</li>\n<li><p><code>client_id</code>: Kullanıcının sicil numarası (Çalışanın kurum içi benzersiz tanımlayıcısı)</p>\n</li>\n<li><p><code>status</code>: Vardiya durumu (waiting_for_approval, approved, rejected, locked)</p>\n</li>\n</ul>\n<h3 id=\"2-koşullu-doğrulamalar\">2. Koşullu Doğrulamalar</h3>\n<ul>\n<li><p>Kullanıcı başına günlük tek vardiya kontrolü (şirket ayarlarına bağlı)</p>\n</li>\n<li><p>Haftalık maksimum çalışma saati kontrolü</p>\n</li>\n<li><p>Kullanıcının işe giriş tarihinden önceki tarihlere vardiya atanamaz</p>\n</li>\n<li><p>İzin ve tatil vardiyası aynı güne atanamaz</p>\n</li>\n<li><p>Vardiya düzenleme için gün limiti kontrolü</p>\n</li>\n</ul>\n<h2 id=\"response-alanları\">Response Alanları</h2>\n<h3 id=\"ana-alanlar\">Ana Alanlar</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>uuid</td>\n<td>Vardiya kaydının benzersiz kimliği</td>\n</tr>\n<tr>\n<td>date_of_shift</td>\n<td>date</td>\n<td>Vardiya tarihi</td>\n</tr>\n<tr>\n<td>status</td>\n<td>string</td>\n<td>Vardiya durumu</td>\n</tr>\n<tr>\n<td>user_id</td>\n<td>uuid</td>\n<td>Kullanıcı kimliği</td>\n</tr>\n<tr>\n<td>client_id</td>\n<td>string</td>\n<td>Kullanıcının sicil numarası</td>\n</tr>\n<tr>\n<td>created_at</td>\n<td>datetime</td>\n<td>Oluşturulma tarihi</td>\n</tr>\n<tr>\n<td>updated_at</td>\n<td>datetime</td>\n<td>Güncellenme tarihi</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"shift-alt-nesnesi\">Shift Alt Nesnesi</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>uuid</td>\n<td>Vardiya türü kimliği</td>\n</tr>\n<tr>\n<td>check_in_time</td>\n<td>string</td>\n<td>Vardiya başlangıç saati</td>\n</tr>\n<tr>\n<td>check_out_time</td>\n<td>string</td>\n<td>Vardiya bitiş saati</td>\n</tr>\n<tr>\n<td>code</td>\n<td>string</td>\n<td>Vardiya kodu</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string</td>\n<td>Vardiya adı</td>\n</tr>\n<tr>\n<td>shift_type</td>\n<td>string</td>\n<td>Vardiya tipi</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"api-endpoints\">API Endpoints</h2>\n<h3 id=\"get-apipublicv1user_shifts\">GET /api/public/v1/user_shifts</h3>\n<p>Vardiya listesini getirir. Sayfalama ve filtreleme destekler.</p>\n<h3 id=\"post-apipublicv1user_shifts\">POST /api/public/v1/user_shifts</h3>\n<p>Yeni bir vardiya kaydı oluşturur.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"user_shift\": {\n    \"user_id\": \"uuid\",\n    \"shift_id\": \"uuid\",\n    \"date_of_shift\": \"2024-11-14\",\n    \"description\": \"Açıklama\"\n  }\n}\n\n</code></pre>\n<h3 id=\"put-apipublicv1user_shiftsid\">PUT /api/public/v1/user_shifts/:id</h3>\n<p>Mevcut bir vardiyayı günceller.</p>\n<h3 id=\"delete-apipublicv1user_shiftsid\">DELETE /api/public/v1/user_shifts/:id</h3>\n<p>Vardiya kaydını siler.</p>\n<h2 id=\"örnek-response\">Örnek Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"success\": true,\n    \"status\": 200,\n    \"data\": {\n        \"id\": \"f7213b73-bd7c-4773-9e79-d4519a31dbf9\",\n        \"date_of_shift\": \"2024-11-06\",\n        \"created_at\": \"2024-11-06T09:54:31.851+03:00\",\n        \"updated_at\": \"2024-11-06T09:54:35.764+03:00\",\n        \"status\": \"approved\",\n        \"user_id\": \"c634175a-3d1d-4302-b5de-f550becb1e8e\",\n        \"client_id\": \"EMP123\", // Çalışanın sicil numarası\n        \"shift\": {\n            \"id\": \"87ed24da-bb27-4ea3-a41e-df7d78d462cf\",\n            \"check_in_time\": \"08:00\",\n            \"check_out_time\": \"17:45\",\n            \"code\": \"08:00-17:45\",\n            \"name\": \"08:00-17:45\",\n            \"shift_type\": \"still\"\n        }\n    }\n}\n\n</code></pre>\n<h1 id=\"filtreleme-özellikleri\">Filtreleme Özellikleri</h1>\n<p>UserShift API'si kapsamlı filtreleme özellikleri sunar. Filtreler <code>q</code> parametresi altında gönderilmelidir.</p>\n<h2 id=\"temel-filtreleme-parametreleri\">Temel Filtreleme Parametreleri</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Açıklama</th>\n<th>Format</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>q[date_of_shift_gteq]</td>\n<td>Vardiya tarihi &gt;=</td>\n<td>YYYY-MM-DD</td>\n<td>?q[date_of_shift_gteq]=2024-01-01</td>\n</tr>\n<tr>\n<td>q[date_of_shift_lteq]</td>\n<td>Vardiya tarihi &lt;=</td>\n<td>YYYY-MM-DD</td>\n<td>?q[date_of_shift_lteq]=2024-12-31</td>\n</tr>\n<tr>\n<td>q[created_at_gteq]</td>\n<td>Oluşturulma tarihi &gt;=</td>\n<td>YYYY-MM-DD</td>\n<td>?q[created_at_gteq]=2024-01-01</td>\n</tr>\n<tr>\n<td>q[created_at_lteq]</td>\n<td>Oluşturulma tarihi &lt;=</td>\n<td>YYYY-MM-DD</td>\n<td>?q[created_at_lteq]=2024-12-31</td>\n</tr>\n<tr>\n<td>q[status_eq]</td>\n<td>Vardiya durumu</td>\n<td>Integer</td>\n<td>?q[status_eq]=1</td>\n</tr>\n<tr>\n<td>q[shift_id_eq]</td>\n<td>Vardiya türü ID</td>\n<td>UUID</td>\n<td>?q[shift_id_eq]=uuid</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"i̇lişkisel-filtreleme-parametreleri\">İlişkisel Filtreleme Parametreleri</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Açıklama</th>\n<th>Format</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>q[user_first_name_cont]</td>\n<td>Kullanıcı adı içerir</td>\n<td>String</td>\n<td>?q[user_first_name_cont]=John</td>\n</tr>\n<tr>\n<td>q[user_last_name_cont]</td>\n<td>Kullanıcı soyadı içerir</td>\n<td>String</td>\n<td>?q[user_last_name_cont]=Doe</td>\n</tr>\n<tr>\n<td>q[user_client_id_eq]</td>\n<td>Kullanıcı sicil no</td>\n<td>String</td>\n<td>?q[user_client_id_eq]=EMP123</td>\n</tr>\n<tr>\n<td>q[shift_name_cont]</td>\n<td>Vardiya adı içerir</td>\n<td>String</td>\n<td>?q[shift_name_cont]=Gündüz</td>\n</tr>\n<tr>\n<td>q[shift_code_eq]</td>\n<td>Vardiya kodu eşittir</td>\n<td>String</td>\n<td>?q[shift_code_eq]=08:00-17:45</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"sıralama-parametreleri\">Sıralama Parametreleri</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Açıklama</th>\n<th>Değerler</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>q[s]</td>\n<td>Sıralama yönü</td>\n<td>Kolon adı + asc/desc</td>\n<td>?q[s]=date_of_shift desc</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"durum-status-kodları\">Durum (Status) Kodları</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-ruby\">status: {\n  waiting_for_approval: 0,\n  approved: 1,\n  rejected: 2,\n  locked: 3\n}\n\n</code></pre>\n<h2 id=\"örnek-filtre-kullanımları\">Örnek Filtre Kullanımları</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET /api/public/v1/user_shifts?q[date_of_shift_gteq]=2024-01-01&amp;q[date_of_shift_lteq]=2024-12-31&amp;q[status_eq]=1\nGET /api/public/v1/user_shifts?q[user_client_id_eq]=EMP123\nGET /api/public/v1/user_shifts?q[shift_name_cont]=Gündüz&amp;q[s]=created_at desc\nGET /api/public/v1/user_shifts?q[status_eq]=0&amp;q[created_at_gteq]=2024-01-01\n\n</code></pre><h2 id=\"sayfalama\">Sayfalama</h2>\n<p>API yanıtları sayfalanır. Sayfalama parametreleri:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Açıklama</th>\n<th>Varsayılan</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>page</td>\n<td>Sayfa numarası</td>\n<td>1</td>\n<td>?page=2</td>\n</tr>\n<tr>\n<td>per_page</td>\n<td>Sayfa başına kayıt</td>\n<td>25</td>\n<td>?per_page=50</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"örnek-curl-i̇steği\">Örnek Curl İsteği</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \\\n  'https://api.example.com/api/public/v1/user_shifts?q[date_of_shift_gteq]=2024-01-01&amp;q[status_eq]=1&amp;page=1&amp;per_page=25' \\\n  -H 'Authorization: Bearer your-token'\n\n</code></pre>\n<h2 id=\"özel-koşullar\">Özel Koşullar</h2>\n<h3 id=\"vardiya-zamanlaması\">Vardiya Zamanlaması</h3>\n<ul>\n<li>Vardiyalar başlangıç ve bitiş saatleri arasında otomatik olarak hesaplanır</li>\n</ul>\n<h3 id=\"vardiya-çakışma-kontrolleri\">Vardiya Çakışma Kontrolleri</h3>\n<ul>\n<li><p>Aynı gün içinde çakışan vardiyalar kontrol edilir</p>\n</li>\n<li><p>İzin günleri ile vardiya çakışması kontrol edilir</p>\n</li>\n<li><p>Tatil günleri ile normal vardiya çakışması kontrol edilir</p>\n</li>\n</ul>\n<h3 id=\"çalışma-süresi-kontrolleri\">Çalışma Süresi Kontrolleri</h3>\n<ul>\n<li><p>Haftalık maksimum çalışma saati kontrolü yapılır</p>\n</li>\n<li><p>Tam zamanlı ve yarı zamanlı çalışanlar için farklı limitler uygulanır</p>\n</li>\n<li><p>İzin günleri ve tatil günleri hesaplamaya dahil edilir</p>\n</li>\n</ul>\n<h2 id=\"hata-kodları-ve-mesajlar\">Hata Kodları ve Mesajlar</h2>\n<ul>\n<li><p>422 - \"Bu hafta için atanmış vardiyalar ve izinler, maksimum çalışma süresini aşıyor\"</p>\n</li>\n<li><p>422 - \"İşe giriş tarihinden önce vardiya giriş yapılamaz\"</p>\n</li>\n<li><p>422 - \"İzin ve tatil vardiyasının mevcut olduğu bir güne eklenemez\"</p>\n</li>\n<li><p>404 - \"Kayıt bulunamadı\"</p>\n</li>\n</ul>\n<h2 id=\"i̇lişkili-sistem-entegrasyonları\">İlişkili Sistem Entegrasyonları</h2>\n<ul>\n<li><p>Timesheet sistemi ile entegre çalışır</p>\n</li>\n<li><p>İzin sistemi ile entegre çalışır</p>\n</li>\n<li><p>Tatil takvimi ile entegre çalışır</p>\n</li>\n</ul>\n<h2 id=\"notifikasyonlar\">Notifikasyonlar</h2>\n<ul>\n<li><p>Vardiya onaylandığında bildirim gönderilir</p>\n</li>\n<li><p>Vardiya reddedildiğinde bildirim gönderilir</p>\n</li>\n<li><p>Vardiya başlangıcından 1 saat önce hatırlatma bildirimi gönderilir (varsayılan ayar)</p>\n</li>\n</ul>\n<h2 id=\"cursor-pagination-stream-endpoint\">Cursor Pagination (Stream Endpoint)</h2>\n<p>Büyük veri setlerini (10,000+ kayıt) verimli bir şekilde sorgulamak için cursor-based pagination kullanabilirsiniz.</p>\n<h3 id=\"get-apipublicv1user_shiftsstream\">GET /api/public/v1/user_shifts/stream</h3>\n<p><strong>Avantajları:</strong></p>\n<ul>\n<li><p>Sabit performans (O(log n)) - Veri setinin büyüklüğünden bağımsız</p>\n</li>\n<li><p>Veri tutarlılığı garantisi</p>\n</li>\n<li><p>Maksimum 500 kayıt/sayfa (standart endpoint 200 ile sınırlı)</p>\n</li>\n</ul>\n<h3 id=\"request-parametreleri\">Request Parametreleri</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Varsayılan</th>\n<th>Max</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>limit</td>\n<td>integer</td>\n<td>200</td>\n<td>500</td>\n<td>Sayfa başına kayıt sayısı</td>\n</tr>\n<tr>\n<td>after</td>\n<td>string</td>\n<td>-</td>\n<td>-</td>\n<td>Sonraki sayfa için cursor (Base64 encoded)</td>\n</tr>\n<tr>\n<td>before</td>\n<td>string</td>\n<td>-</td>\n<td>-</td>\n<td>Önceki sayfa için cursor (Base64 encoded)</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Not:</strong> Tüm filtreleme parametreleri (<code>q[...]</code>) stream endpoint'inde de çalışır.</p>\n<h3 id=\"response-formatı\">Response Formatı</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"data\": [...],\n  \"meta\": {\n    \"cursors\": {\n      \"after\": \"eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNVQxMDozMDowMCIsImlkIjoiYWJjMTIzIn0=\",\n      \"before\": null\n    },\n    \"has_next_page\": true,\n    \"has_previous_page\": false,\n    \"count\": 200\n  }\n}\n\n</code></pre>\n<h3 id=\"kullanım-örnekleri\">Kullanım Örnekleri</h3>\n<p><strong>İlk sayfa:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/user_shifts/stream?limit=100\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n\n</code></pre>\n<p><strong>Sonraki sayfa (after cursor ile):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/user_shifts/stream?limit=100&amp;after=CURSOR_VALUE\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n\n</code></pre>\n<p><strong>Filtreleme ile birlikte:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/user_shifts/stream?limit=200&amp;q[date_of_shift_gteq]=2025-01-01&amp;q[date_of_shift_lteq]=2025-01-31\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n\n</code></pre>\n<h2 id=\"async-bulk-export\">Async Bulk Export</h2>\n<p>Büyük veri setlerini CSV veya JSON formatında export etmek için async export kullanabilirsiniz.</p>\n<h3 id=\"export-i̇ş-akışı\">Export İş Akışı</h3>\n<ol>\n<li><p>Export işi başlat → Job ID al</p>\n</li>\n<li><p>Durumu sorgula (polling)</p>\n</li>\n<li><p>Tamamlandığında dosyayı indir</p>\n</li>\n</ol>\n<h3 id=\"1-export-i̇şi-başlatma\">1. Export İşi Başlatma</h3>\n<p><strong>POST</strong> <code>/api/public/v1/user_shifts/export</code></p>\n<p>Request body:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"format\": \"csv\",\n  \"date_from\": \"2025-01-01\",\n  \"date_to\": \"2025-01-31\",\n  \"user_id\": \"uuid\",\n  \"branch_id\": \"uuid\",\n  \"status\": \"approved\"\n}\n\n</code></pre>\n<p>Response (202 Accepted):</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"message\": \"Export job started\",\n  \"data\": {\n    \"job_id\": \"export-abc-123\",\n    \"status\": \"pending\",\n    \"format\": \"csv\",\n    \"created_at\": \"2025-01-15T10:30:00+03:00\"\n  }\n}\n\n</code></pre>\n<h3 id=\"2-export-durumu-sorgulama\">2. Export Durumu Sorgulama</h3>\n<p><strong>GET</strong> <code>/api/public/v1/user_shifts/export/{job_id}/status</code></p>\n<p>Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"data\": {\n    \"job_id\": \"export-abc-123\",\n    \"status\": \"completed\",\n    \"format\": \"csv\",\n    \"total_records\": 15000,\n    \"progress\": 100,\n    \"created_at\": \"2025-01-15T10:30:00+03:00\",\n    \"completed_at\": \"2025-01-15T10:32:15+03:00\"\n  }\n}\n\n</code></pre>\n<p><strong>Durum Kodları:</strong></p>\n<ul>\n<li><p><code>pending</code>: İş kuyruğa alındı</p>\n</li>\n<li><p><code>processing</code>: İşlem devam ediyor</p>\n</li>\n<li><p><code>completed</code>: Dosya hazır</p>\n</li>\n<li><p><code>failed</code>: İşlem başarısız</p>\n</li>\n<li><p><code>expired</code>: Dosya süresi doldu (24 saat)</p>\n</li>\n</ul>\n<h3 id=\"3-export-dosyası-i̇ndirme\">3. Export Dosyası İndirme</h3>\n<p><strong>GET</strong> <code>/api/public/v1/user_shifts/export/{job_id}/download</code></p>\n<p>Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"data\": {\n    \"download_url\": \"https://s3.amazonaws.com/...\",\n    \"expires_at\": \"2025-01-16T10:30:00+03:00\"\n  }\n}\n\n</code></pre>\n<h3 id=\"4-export-geçmişini-listeleme\">4. Export Geçmişini Listeleme</h3>\n<p><strong>GET</strong> <code>/api/public/v1/user_shifts/exports</code></p>\n<p>Son 20 export işini listeler.</p>\n<h3 id=\"önemli-notlar\">Önemli Notlar</h3>\n<ul>\n<li><p>Export işleri yalnızca <strong>API Key</strong> ile kullanılabilir (User JWT token ile kullanılamaz)</p>\n</li>\n<li><p>Export dosyaları 24 saat sonra otomatik silinir</p>\n</li>\n<li><p>Durum sorgulama için 5-10 saniye aralıklarla polling önerilir</p>\n</li>\n</ul>\n<h2 id=\"standart-vs-cursor-pagination\">Standart vs Cursor Pagination</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Özellik</th>\n<th>Standart</th>\n<th>Cursor (Stream)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Endpoint</td>\n<td>/user_shifts</td>\n<td>/user_shifts/stream</td>\n</tr>\n<tr>\n<td>Performans</td>\n<td>O(n)</td>\n<td>O(log n)</td>\n</tr>\n<tr>\n<td>Max Limit</td>\n<td>200</td>\n<td>500</td>\n</tr>\n<tr>\n<td>Kullanım</td>\n<td>&lt;10,000 kayıt</td>\n<td>&gt;10,000 kayıt</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Detaylı bilgi için:</strong> <code>docs/public_api/CURSOR_PAGINATION_GUIDE.md</code></p>\n","event":[{"listen":"prerequest","script":{"id":"d98639a2-c5ad-4e1a-a1b5-796720dfe32d","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"00c359b1-4366-45e5-8ff7-97eb75365697","type":"text/javascript","exec":[""]}}],"_postman_id":"ccfa4ac5-7af0-4675-9a15-eee8717882b7","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Payrolls","item":[{"name":"Get All Payrolls","id":"2029f89c-8d88-4bfe-9a24-c12f9a68ce72","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/payrolls?page=1&per_page=25","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","payrolls"],"host":["https://api.passgage.com"],"query":[{"description":{"content":"<p>Sayfa numarası</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>Sayfa başına kayıt sayısı</p>\n","type":"text/plain"},"key":"per_page","value":"25"},{"disabled":true,"description":{"content":"<p>Başlangıç tarihi (YYYY-MM-DD)</p>\n","type":"text/plain"},"key":"q[date_of_work_gteq]","value":"2024-01-01"},{"disabled":true,"description":{"content":"<p>Bitiş tarihi (YYYY-MM-DD)</p>\n","type":"text/plain"},"key":"q[date_of_work_lteq]","value":"2024-12-31"},{"disabled":true,"description":{"content":"<p>Kullanıcı ID'si ile filtreleme</p>\n","type":"text/plain"},"key":"q[user_id_eq]","value":"user_uuid_here"},{"disabled":true,"description":{"content":"<p>Tatil günlerini filtreleme</p>\n","type":"text/plain"},"key":"q[is_holiday_eq]","value":"true"},{"disabled":true,"description":{"content":"<p>Hafta sonu filtreleme</p>\n","type":"text/plain"},"key":"q[is_weekend_eq]","value":"false"}],"variable":[]}},"response":[{"id":"b10ba11f-bc73-48ba-9611-cd8bf229f4e3","name":"Success Response","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/payrolls"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n      \"date_of_work\": \"2024-01-15\",\n      \"actual_entrance\": \"2024-01-15T08:00:00.000Z\",\n      \"actual_exit\": \"2024-01-15T17:00:00.000Z\",\n      \"actual_hours\": 540,\n      \"excepted_hours\": 480,\n      \"overtime\": 60,\n      \"public_holiday_overtime\": 0,\n      \"is_holiday\": false,\n      \"is_weekend\": false,\n      \"shift_name\": \"Normal Vardiya\",\n      \"leave_name\": null,\n      \"leave_type\": null,\n      \"created_at\": \"2024-01-16T10:00:00.000Z\",\n      \"updated_at\": \"2024-01-16T10:00:00.000Z\",\n      \"user\": {\n        \"id\": \"user_uuid\",\n        \"first_name\": \"Ahmet\",\n        \"last_name\": \"Yılmaz\",\n        \"email\": \"ahmet@example.com\"\n      },\n      \"company\": {\n        \"id\": \"company_uuid\",\n        \"name\": \"Örnek Şirket A.Ş.\"\n      },\n      \"shift\": {\n        \"id\": \"shift_uuid\",\n        \"name\": \"Normal Vardiya\",\n        \"check_in_time\": \"08:00\",\n        \"check_out_time\": \"17:00\"\n      },\n      \"leave\": null\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"total_pages\": 5,\n    \"total_count\": 125\n  }\n}"}],"_postman_id":"2029f89c-8d88-4bfe-9a24-c12f9a68ce72"},{"name":"Get Single Payroll","id":"886659f1-9b92-4a44-91fd-c45617613568","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/payrolls/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","payrolls",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Bordro UUID'si</p>\n","type":"text/plain"},"type":"any","value":"payroll_uuid_here","key":"id"}]}},"response":[{"id":"9870ba1b-3ca9-477c-a243-04e682d36124","name":"Success Response","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/payrolls/123e4567-e89b-12d3-a456-426614174000"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": {\n    \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"date_of_work\": \"2024-01-15\",\n    \"actual_entrance\": \"2024-01-15T08:00:00.000Z\",\n    \"actual_exit\": \"2024-01-15T17:00:00.000Z\",\n    \"actual_hours\": 540,\n    \"excepted_hours\": 480,\n    \"overtime\": 60,\n    \"public_holiday_overtime\": 0,\n    \"is_holiday\": false,\n    \"is_weekend\": false,\n    \"shift_name\": \"Normal Vardiya\",\n    \"leave_name\": null,\n    \"leave_type\": null,\n    \"created_at\": \"2024-01-16T10:00:00.000Z\",\n    \"updated_at\": \"2024-01-16T10:00:00.000Z\",\n    \"user\": {\n      \"id\": \"user_uuid\",\n      \"first_name\": \"Ahmet\",\n      \"last_name\": \"Yılmaz\",\n      \"email\": \"ahmet@example.com\"\n    },\n    \"company\": {\n      \"id\": \"company_uuid\",\n      \"name\": \"Örnek Şirket A.Ş.\"\n    },\n    \"shift\": {\n      \"id\": \"shift_uuid\",\n      \"name\": \"Normal Vardiya\",\n      \"check_in_time\": \"08:00\",\n      \"check_out_time\": \"17:00\"\n    },\n    \"leave\": null\n  },\n  \"meta\": {}\n}"}],"_postman_id":"886659f1-9b92-4a44-91fd-c45617613568"},{"name":"Export - Start Job","id":"64fd9abf-d7f9-4bcb-b72e-1c20e4f591fc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"format\": \"json\",\n  \"date_from\": \"2025-11-01\",\n  \"date_to\": \"2025-11-30\"\n}"},"url":"https://api.passgage.com/api/public/v1/payrolls/export","description":"<p>Async bulk export baslatir.</p>\n","urlObject":{"path":["api","public","v1","payrolls","export"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"64fd9abf-d7f9-4bcb-b72e-1c20e4f591fc"},{"name":"Export - Check Status","id":"2da2599d-42a5-4497-bc88-26f22dd507d3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/payrolls/export/:job_id/status","urlObject":{"path":["api","public","v1","payrolls","export",":job_id","status"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"{{export-job-uuid}}","key":"job_id"}]}},"response":[],"_postman_id":"2da2599d-42a5-4497-bc88-26f22dd507d3"},{"name":"Export - Download","id":"8d9d4b97-f311-4db1-b5d8-ceaab6f9637d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/payrolls/export/:job_id/download","urlObject":{"path":["api","public","v1","payrolls","export",":job_id","download"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"{{export-job-uuid}}","key":"job_id"}]}},"response":[],"_postman_id":"8d9d4b97-f311-4db1-b5d8-ceaab6f9637d"},{"name":"Export - List Jobs","id":"c1904807-f971-444f-b15d-a615e8ac217e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/payrolls/exports?","urlObject":{"path":["api","public","v1","payrolls","exports"],"host":["https://api.passgage.com"],"query":[{"key":"","value":null}],"variable":[]}},"response":[],"_postman_id":"c1904807-f971-444f-b15d-a615e8ac217e"},{"name":"Stream - Cursor Pagination","id":"2a2fb070-7e3c-47d6-bda4-87df8fc78eb8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/user_shifts/stream","description":"<p>Cursor-based pagination ile vardiya listesi.</p>\n<p><strong>Avantajlari:</strong></p>\n<ul>\n<li>Buyuk veri setlerinde sabit performans (O(log n))</li>\n<li>Sayfa atlama olmadan ardisik veri cekme</li>\n<li>Veri tutarliligi garantisi</li>\n</ul>\n<p><strong>Kullanim:</strong></p>\n<ol>\n<li>Ilk istek: limit parametresi ile</li>\n<li>Sonraki sayfalar: response'daki <code>meta.cursors.after</code> degerini <code>after</code> parametresine ekleyin</li>\n<li>Onceki sayfalar: <code>meta.cursors.before</code> degerini <code>before</code> parametresine ekleyin</li>\n</ol>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_shifts","stream"],"host":["https://api.passgage.com"],"query":[{"disabled":true,"description":{"content":"<p>Sonraki sayfa icin cursor (onceki response'dan alinir)</p>\n","type":"text/plain"},"key":"after","value":"eyJjcmVhdGVkX2F0IjoiMjAyNS0xMi0xNlQwNTo1Njo1MS43MTcyNjNaIiwiaWQiOiJhZTRiZjUwYi02MGIxLTQ5ZGMtOWY1Yi1iYTdhNWFlYWE5ZGUifQ"},{"disabled":true,"description":{"content":"<p>Onceki sayfa icin cursor</p>\n","type":"text/plain"},"key":"before","value":""},{"disabled":true,"description":{"content":"<p>Baslangic tarihi filtresi</p>\n","type":"text/plain"},"key":"q[date_of_shift_gteq]","value":"2025-01-01"},{"disabled":true,"description":{"content":"<p>Bitis tarihi filtresi</p>\n","type":"text/plain"},"key":"q[date_of_shift_lteq]","value":"2025-12-31"},{"disabled":true,"description":{"content":"<p>Max 200</p>\n","type":"text/plain"},"key":"limit","value":"10"}],"variable":[]}},"response":[{"id":"ff8fe889-ec41-410d-b270-3336f05b89b1","name":"Success Response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{secretKey}}","type":"text"}],"url":{"raw":"https://api.passgage.com/api/public/v1/user_shifts/stream","host":["https://api.passgage.com"],"path":["api","public","v1","user_shifts","stream"],"query":[{"key":"after","value":"eyJjcmVhdGVkX2F0IjoiMjAyNS0xMi0xNlQwNTo1Njo1MS43MTcyNjNaIiwiaWQiOiJhZTRiZjUwYi02MGIxLTQ5ZGMtOWY1Yi1iYTdhNWFlYWE5ZGUifQ","description":"Sonraki sayfa icin cursor (onceki response'dan alinir)","disabled":true},{"key":"before","value":"","description":"Onceki sayfa icin cursor","disabled":true},{"key":"q[date_of_shift_gteq]","value":"2025-01-01","description":"Baslangic tarihi filtresi","disabled":true},{"key":"q[date_of_shift_lteq]","value":"2025-12-31","description":"Bitis tarihi filtresi","disabled":true},{"key":"limit","value":"10","description":"Max 200","disabled":true}]},"description":"Cursor-based pagination ile vardiya listesi.\n\n**Avantajlari:**\n- Buyuk veri setlerinde sabit performans (O(log n))\n- Sayfa atlama olmadan ardisik veri cekme\n- Veri tutarliligi garantisi\n\n**Kullanim:**\n1. Ilk istek: limit parametresi ile\n2. Sonraki sayfalar: response'daki `meta.cursors.after` degerini `after` parametresine ekleyin\n3. Onceki sayfalar: `meta.cursors.before` degerini `before` parametresine ekleyin"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"abc123-def456\",\n      \"date_of_shift\": \"2025-01-15\",\n      \"status\": \"approved\",\n      \"user_id\": \"user-uuid\",\n      \"user_full_name\": \"Ahmet Yilmaz\",\n      \"shift_name\": \"Sabah Vardiyasi\"\n    }\n  ],\n  \"meta\": {\n    \"cursors\": {\n      \"after\": \"eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNVQxMDozMDowMCswMzowMCIsImlkIjoibGFzdC1pZCJ9\",\n      \"before\": \"eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNVQxMDozMDowMCswMzowMCIsImlkIjoiZmlyc3QtaWQifQ==\"\n    },\n    \"has_next_page\": true,\n    \"has_previous_page\": false,\n    \"count\": 200\n  }\n}"}],"_postman_id":"2a2fb070-7e3c-47d6-bda4-87df8fc78eb8"}],"id":"999b60c5-bed9-42b3-b328-fb90644a2420","description":"<h1 id=\"puantaj-api-dokümantasyonu\">Puantaj API Dokümantasyonu</h1>\n<h2 id=\"genel-bilgiler\">Genel Bilgiler</h2>\n<p>Bordro API'si, çalışanların günlük çalışma kayıtlarını, mesai saatlerini, izin durumlarını ve bordro bilgilerini yönetmek için kullanılır.</p>\n<h3 id=\"temel-url\">Temel URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api.example.com/api/public/v1\n\n</code></pre><h3 id=\"kimlik-doğrulama\">Kimlik Doğrulama</h3>\n<p>Tüm API çağrıları Bearer Token ile yetkilendirilmelidir.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer YOUR_API_TOKEN\n\n</code></pre><h3 id=\"standart-yanıt-formatı\">Standart Yanıt Formatı</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": {},\n  \"meta\": {}\n}\n\n</code></pre>\n<h2 id=\"endpointler\">Endpoint'ler</h2>\n<h3 id=\"1-tüm-bordroları-listele\">1. Tüm Bordroları Listele</h3>\n<p><strong>GET</strong> <code>/payrolls</code></p>\n<p>Şirket bünyesindeki tüm bordro kayıtlarını sayfalama ile getirir.</p>\n<h4 id=\"query-parametreleri\">Query Parametreleri</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Zorunlu</th>\n<th>Açıklama</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>Hayır</td>\n<td>Sayfa numarası (varsayılan: 1)</td>\n<td><code>1</code></td>\n</tr>\n<tr>\n<td><code>per_page</code></td>\n<td>integer</td>\n<td>Hayır</td>\n<td>Sayfa başına kayıt sayısı (varsayılan: 25)</td>\n<td><code>25</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filtreleme-parametreleri-ransack\">Filtreleme Parametreleri (Ransack)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Açıklama</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>q[date_of_work_gteq]</code></td>\n<td>date</td>\n<td>Çalışma tarihi başlangıç filtresi</td>\n<td><code>2024-01-01</code></td>\n</tr>\n<tr>\n<td><code>q[date_of_work_lteq]</code></td>\n<td>date</td>\n<td>Çalışma tarihi bitiş filtresi</td>\n<td><code>2024-12-31</code></td>\n</tr>\n<tr>\n<td><code>q[user_id_eq]</code></td>\n<td>uuid</td>\n<td>Belirli kullanıcıya ait kayıtlar</td>\n<td><code>123e4567-e89b-12d3-a456-426614174000</code></td>\n</tr>\n<tr>\n<td><code>q[is_holiday_eq]</code></td>\n<td>boolean</td>\n<td>Tatil günü filtresi</td>\n<td><code>true</code> / <code>false</code></td>\n</tr>\n<tr>\n<td><code>q[is_weekend_eq]</code></td>\n<td>boolean</td>\n<td>Hafta sonu filtresi</td>\n<td><code>true</code> / <code>false</code></td>\n</tr>\n<tr>\n<td><code>q[shift_name_cont]</code></td>\n<td>string</td>\n<td>Vardiya adında arama</td>\n<td><code>Gece</code></td>\n</tr>\n<tr>\n<td><code>q[overtime_gt]</code></td>\n<td>integer</td>\n<td>Belirtilen dakikadan fazla mesai</td>\n<td><code>60</code></td>\n</tr>\n<tr>\n<td><code>q[actual_hours_gteq]</code></td>\n<td>integer</td>\n<td>Minimum çalışma saati (dakika)</td>\n<td><code>480</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"örnek-i̇stek\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/payrolls?page=1&amp;per_page=25&amp;q[date_of_work_gteq]=2024-01-01&amp;q[user_id_eq]=123e4567-e89b-12d3-a456-426614174000\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n  -H \"Content-Type: application/json\"\n\n</code></pre>\n<h4 id=\"örnek-yanıt\">Örnek Yanıt</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n      \"date_of_work\": \"2024-01-15\",\n      \"actual_entrance\": \"2024-01-15T08:00:00.000Z\",\n      \"actual_exit\": \"2024-01-15T17:00:00.000Z\",\n      \"actual_hours\": 540,\n      \"excepted_hours\": 480,\n      \"overtime\": 60,\n      \"public_holiday_overtime\": 0,\n      \"is_holiday\": false,\n      \"is_weekend\": false,\n      \"shift_name\": \"Normal Vardiya\",\n      \"leave_name\": null,\n      \"leave_type\": null,\n      \"created_at\": \"2024-01-16T10:00:00.000Z\",\n      \"updated_at\": \"2024-01-16T10:00:00.000Z\",\n      \"user\": {\n        \"id\": \"user_uuid\",\n        \"first_name\": \"Ahmet\",\n        \"last_name\": \"Yılmaz\",\n        \"email\": \"ahmet@example.com\"\n      },\n      \"company\": {\n        \"id\": \"company_uuid\",\n        \"name\": \"Örnek Şirket A.Ş.\"\n      },\n      \"shift\": {\n        \"id\": \"shift_uuid\",\n        \"name\": \"Normal Vardiya\",\n        \"check_in_time\": \"08:00\",\n        \"check_out_time\": \"17:00\"\n      },\n      \"leave\": null\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"total_pages\": 5,\n    \"total_count\": 125\n  }\n}\n\n</code></pre>\n<h3 id=\"2-tekil-bordro-detayı\">2. Tekil Bordro Detayı</h3>\n<p><strong>GET</strong> <code>/payrolls/:id</code></p>\n<p>Belirli bir bordro kaydının detayını getirir.</p>\n<h4 id=\"path-parametreleri\">Path Parametreleri</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Zorunlu</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>uuid</td>\n<td>Evet</td>\n<td>Bordro UUID'si</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"örnek-i̇stek-1\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/payrolls/123e4567-e89b-12d3-a456-426614174000\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n  -H \"Content-Type: application/json\"\n\n</code></pre>\n<h4 id=\"örnek-yanıt-1\">Örnek Yanıt</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": {\n    \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"date_of_work\": \"2024-01-15\",\n    \"actual_entrance\": \"2024-01-15T08:00:00.000Z\",\n    \"actual_exit\": \"2024-01-15T17:00:00.000Z\",\n    \"actual_hours\": 540,\n    \"excepted_hours\": 480,\n    \"overtime\": 60,\n    \"public_holiday_overtime\": 0,\n    \"is_holiday\": false,\n    \"is_weekend\": false,\n    \"shift_name\": \"Normal Vardiya\",\n    \"leave_name\": null,\n    \"leave_type\": null,\n    \"created_at\": \"2024-01-16T10:00:00.000Z\",\n    \"updated_at\": \"2024-01-16T10:00:00.000Z\",\n    \"user\": {\n      \"id\": \"user_uuid\",\n      \"first_name\": \"Ahmet\",\n      \"last_name\": \"Yılmaz\",\n      \"email\": \"ahmet@example.com\"\n    },\n    \"company\": {\n      \"id\": \"company_uuid\",\n      \"name\": \"Örnek Şirket A.Ş.\"\n    },\n    \"shift\": {\n      \"id\": \"shift_uuid\",\n      \"name\": \"Normal Vardiya\",\n      \"check_in_time\": \"08:00\",\n      \"check_out_time\": \"17:00\"\n    },\n    \"leave\": null\n  },\n  \"meta\": {}\n}\n\n</code></pre>\n<h2 id=\"veri-modeli\">Veri Modeli</h2>\n<h3 id=\"payroll-nesnesi\">Payroll Nesnesi</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>uuid</td>\n<td>Bordro kaydının benzersiz kimliği</td>\n</tr>\n<tr>\n<td><code>date_of_work</code></td>\n<td>date</td>\n<td>Çalışma tarihi (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td><code>actual_entrance</code></td>\n<td>datetime</td>\n<td>Gerçek giriş zamanı</td>\n</tr>\n<tr>\n<td><code>actual_exit</code></td>\n<td>datetime</td>\n<td>Gerçek çıkış zamanı</td>\n</tr>\n<tr>\n<td><code>actual_hours</code></td>\n<td>integer</td>\n<td>Gerçek çalışma saati (dakika cinsinden)</td>\n</tr>\n<tr>\n<td><code>excepted_hours</code></td>\n<td>integer</td>\n<td>Beklenen çalışma saati (dakika cinsinden)</td>\n</tr>\n<tr>\n<td><code>overtime</code></td>\n<td>integer</td>\n<td>Mesai süresi (dakika cinsinden)</td>\n</tr>\n<tr>\n<td><code>public_holiday_overtime</code></td>\n<td>integer</td>\n<td>Resmi tatil mesaisi (dakika cinsinden)</td>\n</tr>\n<tr>\n<td><code>is_holiday</code></td>\n<td>boolean</td>\n<td>Tatil günü mü?</td>\n</tr>\n<tr>\n<td><code>is_weekend</code></td>\n<td>boolean</td>\n<td>Hafta sonu mu?</td>\n</tr>\n<tr>\n<td><code>shift_name</code></td>\n<td>string</td>\n<td>Vardiya adı</td>\n</tr>\n<tr>\n<td><code>leave_name</code></td>\n<td>string</td>\n<td>İzin adı (varsa)</td>\n</tr>\n<tr>\n<td><code>leave_type</code></td>\n<td>string</td>\n<td>İzin türü (varsa)</td>\n</tr>\n<tr>\n<td><code>created_at</code></td>\n<td>datetime</td>\n<td>Kayıt oluşturulma zamanı</td>\n</tr>\n<tr>\n<td><code>updated_at</code></td>\n<td>datetime</td>\n<td>Kayıt güncellenme zamanı</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"i̇lişkili-nesneler\">İlişkili Nesneler</h3>\n<h4 id=\"user-kullanıcı\">User (Kullanıcı)</h4>\n<ul>\n<li><p><code>id</code>: Kullanıcı UUID'si</p>\n</li>\n<li><p><code>first_name</code>: Ad</p>\n</li>\n<li><p><code>last_name</code>: Soyad</p>\n</li>\n<li><p><code>email</code>: E-posta adresi</p>\n</li>\n</ul>\n<h4 id=\"company-şirket\">Company (Şirket)</h4>\n<ul>\n<li><p><code>id</code>: Şirket UUID'si</p>\n</li>\n<li><p><code>name</code>: Şirket adı</p>\n</li>\n</ul>\n<h4 id=\"shift-vardiya\">Shift (Vardiya)</h4>\n<ul>\n<li><p><code>id</code>: Vardiya UUID'si</p>\n</li>\n<li><p><code>name</code>: Vardiya adı</p>\n</li>\n<li><p><code>check_in_time</code>: Vardiya başlangıç saati</p>\n</li>\n<li><p><code>check_out_time</code>: Vardiya bitiş saati</p>\n</li>\n</ul>\n<h4 id=\"leave-i̇zin\">Leave (İzin)</h4>\n<ul>\n<li><p><code>id</code>: İzin UUID'si</p>\n</li>\n<li><p><code>title</code>: İzin başlığı</p>\n</li>\n<li><p><code>start_date</code>: İzin başlangıç tarihi</p>\n</li>\n<li><p><code>end_date</code>: İzin bitiş tarihi</p>\n</li>\n</ul>\n<h2 id=\"hata-kodları\">Hata Kodları</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>HTTP Kodu</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>200</code></td>\n<td>Başarılı</td>\n</tr>\n<tr>\n<td><code>401</code></td>\n<td>Yetkisiz erişim (Geçersiz token)</td>\n</tr>\n<tr>\n<td><code>404</code></td>\n<td>Kayıt bulunamadı</td>\n</tr>\n<tr>\n<td><code>422</code></td>\n<td>İşlenemez varlık (Geçersiz parametreler)</td>\n</tr>\n<tr>\n<td><code>500</code></td>\n<td>Sunucu hatası</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"örnek-hata-yanıtı\">Örnek Hata Yanıtı</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 404,\n  \"message\": \"Kayıt bulunamadı\",\n  \"errors\": [\"Belirtilen ID ile bordro kaydı bulunamadı\"]\n}\n\n</code></pre>\n<h2 id=\"kullanım-örnekleri\">Kullanım Örnekleri</h2>\n<h3 id=\"1-belirli-bir-tarih-aralığındaki-bordroları-getir\">1. Belirli Bir Tarih Aralığındaki Bordroları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/payrolls?q[date_of_work_gteq]=2024-01-01&amp;q[date_of_work_lteq]=2024-01-31\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n\n</code></pre>\n<h3 id=\"2-mesai-yapan-çalışanları-getir\">2. Mesai Yapan Çalışanları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/payrolls?q[overtime_gt]=0\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n\n</code></pre>\n<h3 id=\"3-hafta-sonu-çalışanları-getir\">3. Hafta Sonu Çalışanları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/payrolls?q[is_weekend_eq]=true\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n\n</code></pre>\n<h3 id=\"4-belirli-kullanıcının-bordro-geçmişi\">4. Belirli Kullanıcının Bordro Geçmişi</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/payrolls?q[user_id_eq]=123e4567-e89b-12d3-a456-426614174000\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n\n</code></pre>\n<h2 id=\"notlar\">Notlar</h2>\n<ul>\n<li><p>Tüm zaman bilgileri UTC formatındadır</p>\n</li>\n<li><p>Çalışma saatleri dakika cinsinden hesaplanır (480 dakika = 8 saat)</p>\n</li>\n<li><p>Sayfalama varsayılan olarak sayfa başına 25 kayıt getirir</p>\n</li>\n<li><p>Filtreleme işlemleri Ransack gem'i kullanılarak yapılır</p>\n</li>\n<li><p>API yanıtları her zaman JSON formatındadır</p>\n</li>\n</ul>\n<h2 id=\"destek\">Destek</h2>\n<p>API kullanımı ile ilgili sorularınız için lütfen geliştirici ekibi ile iletişime geçin.</p>\n<h2 id=\"cursor-pagination-stream-endpoint\">Cursor Pagination (Stream Endpoint)</h2>\n<p>Büyük veri setlerini (10,000+ kayıt) verimli bir şekilde sorgulamak için cursor-based pagination kullanabilirsiniz.</p>\n<h3 id=\"get-apipublicv1payrollsstream\">GET /api/public/v1/payrolls/stream</h3>\n<p><strong>Avantajları:</strong></p>\n<ul>\n<li><p>Sabit performans (O(log n)) - Veri setinin büyüklüğünden bağımsız</p>\n</li>\n<li><p>Veri tutarlılığı garantisi</p>\n</li>\n<li><p>Maksimum 500 kayıt/sayfa (standart endpoint 200 ile sınırlı)</p>\n</li>\n</ul>\n<h3 id=\"request-parametreleri\">Request Parametreleri</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Varsayılan</th>\n<th>Max</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>limit</td>\n<td>integer</td>\n<td>200</td>\n<td>500</td>\n<td>Sayfa başına kayıt sayısı</td>\n</tr>\n<tr>\n<td>after</td>\n<td>string</td>\n<td>-</td>\n<td>-</td>\n<td>Sonraki sayfa için cursor (Base64 encoded)</td>\n</tr>\n<tr>\n<td>before</td>\n<td>string</td>\n<td>-</td>\n<td>-</td>\n<td>Önceki sayfa için cursor (Base64 encoded)</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Not:</strong> Tüm filtreleme parametreleri (<code>q[...]</code>) stream endpoint'inde de çalışır.</p>\n<h3 id=\"response-formatı\">Response Formatı</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"data\": [...],\n  \"meta\": {\n    \"cursors\": {\n      \"after\": \"eyJjcmVhdGVkX2F0IjoiMjAyNS0wMS0xNVQxMDozMDowMCIsImlkIjoiYWJjMTIzIn0=\",\n      \"before\": null\n    },\n    \"has_next_page\": true,\n    \"has_previous_page\": false,\n    \"count\": 200\n  }\n}\n\n</code></pre>\n<h3 id=\"kullanım-örnekleri-1\">Kullanım Örnekleri</h3>\n<p><strong>İlk sayfa:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/payrolls/stream?limit=100\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n\n</code></pre>\n<p><strong>Sonraki sayfa (after cursor ile):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/payrolls/stream?limit=100&amp;after=CURSOR_VALUE\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n\n</code></pre>\n<p><strong>Filtreleme ile birlikte:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/payrolls/stream?limit=200&amp;q[date_of_work_gteq]=2025-01-01&amp;q[date_of_work_lteq]=2025-01-31\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n\n</code></pre>\n<h2 id=\"async-bulk-export\">Async Bulk Export</h2>\n<p>Büyük veri setlerini CSV veya JSON formatında export etmek için async export kullanabilirsiniz.</p>\n<h3 id=\"export-i̇ş-akışı\">Export İş Akışı</h3>\n<ol>\n<li><p>Export işi başlat → Job ID al</p>\n</li>\n<li><p>Durumu sorgula (polling)</p>\n</li>\n<li><p>Tamamlandığında dosyayı indir</p>\n</li>\n</ol>\n<h3 id=\"1-export-i̇şi-başlatma\">1. Export İşi Başlatma</h3>\n<p><strong>POST</strong> <code>/api/public/v1/payrolls/export</code></p>\n<p>Request body:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"format\": \"csv\",\n  \"date_from\": \"2025-01-01\",\n  \"date_to\": \"2025-01-31\",\n  \"user_id\": \"uuid\"\n}\n\n</code></pre>\n<p>Response (202 Accepted):</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"message\": \"Export job started\",\n  \"data\": {\n    \"job_id\": \"export-abc-123\",\n    \"status\": \"pending\",\n    \"format\": \"csv\",\n    \"created_at\": \"2025-01-15T10:30:00+03:00\"\n  }\n}\n\n</code></pre>\n<h3 id=\"2-export-durumu-sorgulama\">2. Export Durumu Sorgulama</h3>\n<p><strong>GET</strong> <code>/api/public/v1/payrolls/export/{job_id}/status</code></p>\n<p>Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"data\": {\n    \"job_id\": \"export-abc-123\",\n    \"status\": \"completed\",\n    \"format\": \"csv\",\n    \"total_records\": 15000,\n    \"progress\": 100,\n    \"created_at\": \"2025-01-15T10:30:00+03:00\",\n    \"completed_at\": \"2025-01-15T10:32:15+03:00\"\n  }\n}\n\n</code></pre>\n<p><strong>Durum Kodları:</strong></p>\n<ul>\n<li><p><code>pending</code>: İş kuyruğa alındı</p>\n</li>\n<li><p><code>processing</code>: İşlem devam ediyor</p>\n</li>\n<li><p><code>completed</code>: Dosya hazır</p>\n</li>\n<li><p><code>failed</code>: İşlem başarısız</p>\n</li>\n<li><p><code>expired</code>: Dosya süresi doldu (24 saat)</p>\n</li>\n</ul>\n<h3 id=\"3-export-dosyası-i̇ndirme\">3. Export Dosyası İndirme</h3>\n<p><strong>GET</strong> <code>/api/public/v1/payrolls/export/{job_id}/download</code></p>\n<p>Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"data\": {\n    \"download_url\": \"https://s3.amazonaws.com/...\",\n    \"expires_at\": \"2025-01-16T10:30:00+03:00\"\n  }\n}\n\n</code></pre>\n<h3 id=\"4-export-geçmişini-listeleme\">4. Export Geçmişini Listeleme</h3>\n<p><strong>GET</strong> <code>/api/public/v1/payrolls/exports</code></p>\n<p>Son 20 export işini listeler.</p>\n<h3 id=\"önemli-notlar\">Önemli Notlar</h3>\n<ul>\n<li><p>Export işleri yalnızca <strong>API Key</strong> ile kullanılabilir (User JWT token ile kullanılamaz)</p>\n</li>\n<li><p>Export dosyaları 24 saat sonra otomatik silinir</p>\n</li>\n<li><p>Durum sorgulama için 5-10 saniye aralıklarla polling önerilir</p>\n</li>\n</ul>\n<h2 id=\"standart-vs-cursor-pagination\">Standart vs Cursor Pagination</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Özellik</th>\n<th>Standart</th>\n<th>Cursor (Stream)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Endpoint</td>\n<td>/payrolls</td>\n<td>/payrolls/stream</td>\n</tr>\n<tr>\n<td>Performans</td>\n<td>O(n)</td>\n<td>O(log n)</td>\n</tr>\n<tr>\n<td>Max Limit</td>\n<td>200</td>\n<td>500</td>\n</tr>\n<tr>\n<td>Kullanım</td>\n<td>&lt;10,000 kayıt</td>\n<td>&gt;10,000 kayıt</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Detaylı bilgi için:</strong> <code>docs/public_api/CURSOR_PAGINATION_GUIDE.md</code></p>\n","_postman_id":"999b60c5-bed9-42b3-b328-fb90644a2420","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"Working Days","item":[{"name":"list","id":"68eb4de9-7907-4870-ae06-eb34623afab8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/working_days","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","working_days"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"5918cdaa-93b2-4619-9e4b-e626bff028e5","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/working_days"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"d83c48e8-f579-4a67-a148-f2e03f626c50"},{"key":"X-Runtime","value":"0.918245"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"g013ml44lnnboe73o24g,dvt8e0bkwj1bu7wqxgg,amwx3uwdaaus3nkcmh8q,cx7vvw509ibh5vb1iefu,9rfa97hpdent45tigigx,1cy0sw6wogrs2x7x0sou,1q4th26u16iy5g9ta1l0,1a6jmv02tioxcougftil,de97flzdl4ifuj27zr06"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"789162cc-f829-4139-aa7d-d5e8be30500a\",\n            \"name\": \"Merkez Çalışma Takvimi\",\n            \"description\": \"\",\n            \"friday_double\": null,\n            \"friday_double_if_single\": null,\n            \"week_day_1\": [\n                \"\",\n                \"f6d763db-d9c7-4283-af17-38a8b4a4825e\" //shif_id\n            ],\n            \"week_day_2\": [\n                \"\",\n                \"f6d763db-d9c7-4283-af17-38a8b4a4825e\" //shif_id\n            ],\n            \"week_day_3\": [\n                \"\",\n                \"f6d763db-d9c7-4283-af17-38a8b4a4825e\" //shif_id\n            ],\n            \"week_day_4\": [\n                \"\",\n                \"f6d763db-d9c7-4283-af17-38a8b4a4825e\" //shif_id\n            ],\n            \"week_day_5\": [\n                \"\",\n                \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n            ],\n            \"week_day_6\": [\n                \"\",\n                \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n            ],\n            \"week_day_7\": [\n                \"\",\n                \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n            ],\n            \"is_active\": true\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 1,\n        \"total_count\": 1\n    }\n}"}],"_postman_id":"68eb4de9-7907-4870-ae06-eb34623afab8"},{"name":"create","id":"beaf487f-ca99-4a32-8ca4-a33d01be8ba7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"working_day\": {\n        \"name\": \"Merkez Çalışma Takvimi 333\",\n        \"description\": \"\",\n        \"friday_double\": null,\n        \"friday_double_if_single\": null,\n        \"week_day_1\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_2\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_3\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_4\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_5\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_6\": [\n            \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n        ],\n        \"week_day_7\": [\n            \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n        ],\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/working_days","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","working_days"],"host":["https://api.passgage.com"],"query":[],"variable":[]}},"response":[{"id":"2de711cc-6adb-43fc-b0ae-9c44dc4ed7ce","name":"201","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/working_days"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"d83c48e8-f579-4a67-a148-f2e03f626c50"},{"key":"X-Runtime","value":"0.918245"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"g013ml44lnnboe73o24g,dvt8e0bkwj1bu7wqxgg,amwx3uwdaaus3nkcmh8q,cx7vvw509ibh5vb1iefu,9rfa97hpdent45tigigx,1cy0sw6wogrs2x7x0sou,1q4th26u16iy5g9ta1l0,1a6jmv02tioxcougftil,de97flzdl4ifuj27zr06"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": [\n        {\n            \"id\": \"789162cc-f829-4139-aa7d-d5e8be30500a\",\n            \"name\": \"Merkez Çalışma Takvimi\",\n            \"description\": \"\",\n            \"friday_double\": null,\n            \"friday_double_if_single\": null,\n            \"week_day_1\": [\n                \"\",\n                \"f6d763db-d9c7-4283-af17-38a8b4a4825e\" //shif_id\n            ],\n            \"week_day_2\": [\n                \"\",\n                \"f6d763db-d9c7-4283-af17-38a8b4a4825e\" //shif_id\n            ],\n            \"week_day_3\": [\n                \"\",\n                \"f6d763db-d9c7-4283-af17-38a8b4a4825e\" //shif_id\n            ],\n            \"week_day_4\": [\n                \"\",\n                \"f6d763db-d9c7-4283-af17-38a8b4a4825e\" //shif_id\n            ],\n            \"week_day_5\": [\n                \"\",\n                \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n            ],\n            \"week_day_6\": [\n                \"\",\n                \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n            ],\n            \"week_day_7\": [\n                \"\",\n                \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n            ],\n            \"is_active\": true\n        }\n    ],\n    \"meta\": {\n        \"current_page\": 1,\n        \"total_pages\": 1,\n        \"total_count\": 1\n    }\n}"}],"_postman_id":"beaf487f-ca99-4a32-8ca4-a33d01be8ba7"},{"name":"update","id":"fa820c27-18ff-48f7-a5a3-9b1bf85383eb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"working_day\": {\n        \"name\": \"Merkez Çalışma Takvimi Updated\",\n        \"description\": \"\",\n        \"friday_double\": true,\n        \"friday_double_if_single\": true,\n        \"week_day_1\": [\n            \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n        ],\n        \"week_day_2\": [\n            \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n        ],\n        \"week_day_3\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_4\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_5\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_6\": [\n            \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n        ],\n        \"week_day_7\": [\n            \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n        ],\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.passgage.com/api/public/v1/working_days/:id","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","working_days",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"7dfd2102-4150-4e91-bd35-0e1bea2f9171","key":"id"}]}},"response":[{"id":"4059129b-5436-4a82-84e7-642f174b5129","name":"200","originalRequest":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"working_day\": {\n        \"name\": \"Merkez Çalışma Takvimi Updated\",\n        \"description\": \"\",\n        \"friday_double\": true,\n        \"friday_double_if_single\": true,\n        \"week_day_1\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_2\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_3\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_4\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_5\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_6\": [\n            \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n        ],\n        \"week_day_7\": [\n            \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n        ],\n        \"is_active\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.passgage.com/api/public/v1/working_days/:id","host":["https://api.passgage.com"],"path":["api","public","v1","working_days",":id"],"variable":[{"key":"id","value":"7dfd2102-4150-4e91-bd35-0e1bea2f9171"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"c513f572-b952-4566-8407-3972dfcbf978"},{"key":"X-Runtime","value":"0.108156"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"8fdp7w64emn3dggs81id,9e8vtwp7sk3rexv8o212,p93ptjl8a2u0vw33pjxs,z3i59gzhddexu51d5b9k,5ml2am0rmtjuzmh2w1ah,axt91gnouf5466jq8il5,4ivadbasdygo8ejo1wk3"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"Successfully updated working day\",\n    \"data\": {\n        \"id\": \"7dfd2102-4150-4e91-bd35-0e1bea2f9171\",\n        \"name\": \"Merkez Çalışma Takvimi Updated\",\n        \"description\": \"\",\n        \"friday_double\": true,\n        \"friday_double_if_single\": true,\n        \"week_day_1\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_2\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_3\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_4\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_5\": [\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_6\": [\n            \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n        ],\n        \"week_day_7\": [\n            \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n        ],\n        \"is_active\": true\n    },\n    \"meta\": {}\n}"}],"_postman_id":"fa820c27-18ff-48f7-a5a3-9b1bf85383eb"},{"name":"show","id":"bff7328b-b74c-49e3-b9b4-7d6769da94cd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/working_days/:id","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","working_days",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"type":"any","value":"789162cc-f829-4139-aa7d-d5e8be30500a","key":"id"}]}},"response":[{"id":"6883a93a-b7d2-4dc9-beab-0e4b699cf12a","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":{"raw":"https://api.passgage.com/api/public/v1/working_days/:id","host":["https://api.passgage.com"],"path":["api","public","v1","working_days",":id"],"variable":[{"key":"id","value":"789162cc-f829-4139-aa7d-d5e8be30500a"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"3c4c7bff-f4e4-41ae-9df0-27bd9409a4a1"},{"key":"X-Runtime","value":"1.081444"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"bmx1xy2lvua6mp0w2tt1,dvt8e0bkwj1bu7wqxgg,amwx3uwdaaus3nkcmh8q,cx7vvw509ibh5vb1iefu,9rfa97hpdent45tigigx,1cy0sw6wogrs2x7x0sou,1q4th26u16iy5g9ta1l0,1a6jmv02tioxcougftil,de97flzdl4ifuj27zr06,g013ml44lnnboe73o24g,ydq27oorqevmuvy6lrf"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": true,\n    \"status\": 200,\n    \"message\": \"\",\n    \"data\": {\n        \"id\": \"789162cc-f829-4139-aa7d-d5e8be30500a\",\n        \"name\": \"Merkez Çalışma Takvimi\",\n        \"description\": \"\",\n        \"friday_double\": null,\n        \"friday_double_if_single\": null,\n        \"week_day_1\": [\n            \"\",\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_2\": [\n            \"\",\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_3\": [\n            \"\",\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_4\": [\n            \"\",\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_5\": [\n            \"\",\n            \"f6d763db-d9c7-4283-af17-38a8b4a4825e\"\n        ],\n        \"week_day_6\": [\n            \"\",\n            \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n        ],\n        \"week_day_7\": [\n            \"\",\n            \"bd3bfef7-ee8f-44fe-b875-36e3fb53d56f\"\n        ],\n        \"is_active\": true\n    },\n    \"meta\": {}\n}"}],"_postman_id":"bff7328b-b74c-49e3-b9b4-7d6769da94cd"},{"name":"destroy","id":"3f769b44-ffaf-4d71-8554-f574c4061152","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":"https://api.passgage.com/api/public/v1/working_days/:id","description":"<p><strong>q[client_id_eq]</strong> Parametresi ile entegrasyon değerine göre filtreleme yapılabilir.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","working_days",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>working day id</p>\n","type":"text/plain"},"type":"any","value":"51d7f3d9-1b38-4700-a428-4b0938f033e3","key":"id"}]}},"response":[{"id":"cbdb041b-112b-4bd0-82f2-000a94757d93","name":"200","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}"}],"url":{"raw":"https://api.passgage.com/api/public/v1/working_days/:id","host":["https://api.passgage.com"],"path":["api","public","v1","working_days",":id"],"variable":[{"key":"id","value":"51d7f3d9-1b38-4700-a428-4b0938f033e3","description":"working day id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"7734d746-e5db-43d3-a2ba-a7eb583f6caf"},{"key":"X-Runtime","value":"0.099144"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"p93ptjl8a2u0vw33pjxs,9e8vtwp7sk3rexv8o212"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Vary","value":"Origin"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Working Day deleted successfully\"\n}"}],"_postman_id":"3f769b44-ffaf-4d71-8554-f574c4061152"}],"id":"ea79fe82-ed6e-4eed-888d-d71f7a37a291","_postman_id":"ea79fe82-ed6e-4eed-888d-d71f7a37a291","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}},{"name":"User Extra Works","item":[{"name":"Get All User Extra Works","id":"236988c3-5afe-44b6-b549-c7eb823b256b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"url":"https://api.passgage.com/api/public/v1/user_extra_works?page=1&per_page=25","urlObject":{"path":["api","public","v1","user_extra_works"],"host":["https://api.passgage.com"],"query":[{"description":{"content":"<p>Sayfa numarası</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>Sayfa başına kayıt sayısı</p>\n","type":"text/plain"},"key":"per_page","value":"25"},{"disabled":true,"description":{"content":"<p>Başlangıç tarihi (YYYY-MM-DD)</p>\n","type":"text/plain"},"key":"q[date_of_extra_work_gteq]","value":"2024-01-01"},{"disabled":true,"description":{"content":"<p>Bitiş tarihi (YYYY-MM-DD)</p>\n","type":"text/plain"},"key":"q[date_of_extra_work_lteq]","value":"2024-12-31"},{"disabled":true,"description":{"content":"<p>Kullanıcı ID'si ile filtreleme</p>\n","type":"text/plain"},"key":"q[user_id_eq]","value":"user_uuid_here"},{"disabled":true,"description":{"content":"<p>Durum filtreleme (pending/approved/rejected)</p>\n","type":"text/plain"},"key":"q[status_eq]","value":"approved"},{"disabled":true,"description":{"content":"<p>Açıklama içinde arama</p>\n","type":"text/plain"},"key":"q[description_cont]","value":"mesai"},{"disabled":true,"description":{"content":"<p>Belirtilen dakikadan fazla mesai</p>\n","type":"text/plain"},"key":"q[overtime_gt]","value":"60"},{"disabled":true,"description":{"content":"<p>Otomatik oluşturulan kayıtları filtrele</p>\n","type":"text/plain"},"key":"q[auto_generated_eq]","value":"false"}],"variable":[]}},"response":[{"id":"2dfd6163-9bc0-4d38-a554-d53000c22201","name":"Success Response","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/user_extra_works"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n      \"user_id\": \"user_uuid_123\",\n      \"company_id\": \"company_uuid_123\",\n      \"date_of_extra_work\": \"2024-01-15\",\n      \"start_time\": \"18:00:00\",\n      \"end_time\": \"20:00:00\",\n      \"check_in_time\": \"18:05:00\",\n      \"check_out_time\": \"19:55:00\",\n      \"status\": \"approved\",\n      \"description\": \"Proje teslimi için ek mesai\",\n      \"name\": \"Proje teslimi için ek mesai (18:05 - 19:55)\",\n      \"overtime\": 110,\n      \"auto_generated\": false,\n      \"time_in_seconds\": 6600,\n      \"created_at\": \"2024-01-16T10:00:00.000Z\",\n      \"updated_at\": \"2024-01-16T11:30:00.000Z\",\n      \"user\": {\n        \"id\": \"user_uuid_123\",\n        \"first_name\": \"Mehmet\",\n        \"last_name\": \"Öz\",\n        \"email\": \"mehmet@example.com\",\n        \"client_id\": \"EMP001\"\n      }\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"total_pages\": 3,\n    \"total_count\": 67\n  }\n}"}],"_postman_id":"236988c3-5afe-44b6-b549-c7eb823b256b"},{"name":"Get Single User Extra Work","id":"b4d2d9fa-c101-4994-88da-aee150f70b17","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"https://api.passgage.com/api/public/v1/user_extra_works/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}},"urlObject":{"path":["api","public","v1","user_extra_works",":id"],"host":["https://api.passgage.com"],"query":[],"variable":[{"description":{"content":"<p>Ek Çalışma UUID'si</p>\n","type":"text/plain"},"type":"any","value":"user_extra_work_uuid_here","key":"id"}]}},"response":[{"id":"bc94956c-6b43-42c4-9aa1-704d95252393","name":"Success Response","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/user_extra_works/123e4567-e89b-12d3-a456-426614174000"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": {\n    \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"user_id\": \"user_uuid_123\",\n    \"company_id\": \"company_uuid_123\",\n    \"date_of_extra_work\": \"2024-01-15\",\n    \"start_time\": \"18:00:00\",\n    \"end_time\": \"20:00:00\",\n    \"check_in_time\": \"18:05:00\",\n    \"check_out_time\": \"19:55:00\",\n    \"status\": \"approved\",\n    \"description\": \"Proje teslimi için ek mesai\",\n    \"name\": \"Proje teslimi için ek mesai (18:05 - 19:55)\",\n    \"overtime\": 110,\n    \"auto_generated\": false,\n    \"time_in_seconds\": 6600,\n    \"created_at\": \"2024-01-16T10:00:00.000Z\",\n    \"updated_at\": \"2024-01-16T11:30:00.000Z\",\n    \"user\": {\n      \"id\": \"user_uuid_123\",\n      \"first_name\": \"Mehmet\",\n      \"last_name\": \"Öz\",\n      \"email\": \"mehmet@example.com\",\n      \"client_id\": \"EMP001\"\n    }\n  },\n  \"meta\": {}\n}"}],"_postman_id":"b4d2d9fa-c101-4994-88da-aee150f70b17"}],"id":"4695f8fc-3a53-40ed-a7ce-c67968fc21cb","description":"<h1 id=\"kullanıcı-ek-çalışma-user-extra-work-api-dokümantasyonu\">Kullanıcı Ek Çalışma (User Extra Work) API Dokümantasyonu</h1>\n<h2 id=\"genel-bilgiler\">Genel Bilgiler</h2>\n<p>Kullanıcı Ek Çalışma API'si, çalışanların normal mesai saatleri dışında yaptıkları ek çalışmaları, mesai saatlerini ve bunların onay durumlarını yönetmek için kullanılır.</p>\n<h3 id=\"temel-url\">Temel URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api.example.com/api/public/v1\n</code></pre><h3 id=\"kimlik-doğrulama\">Kimlik Doğrulama</h3>\n<p>Tüm API çağrıları Bearer Token ile yetkilendirilmelidir.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer YOUR_API_TOKEN\n</code></pre><h3 id=\"standart-yanıt-formatı\">Standart Yanıt Formatı</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": {},\n  \"meta\": {}\n}\n</code></pre>\n<h2 id=\"endpointler\">Endpoint'ler</h2>\n<h3 id=\"1-tüm-ek-çalışmaları-listele\">1. Tüm Ek Çalışmaları Listele</h3>\n<p><strong>GET</strong> <code>/user_extra_works</code></p>\n<p>Şirket bünyesindeki tüm ek çalışma kayıtlarını sayfalama ile getirir.</p>\n<h4 id=\"query-parametreleri\">Query Parametreleri</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Zorunlu</th>\n<th>Açıklama</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>Hayır</td>\n<td>Sayfa numarası (varsayılan: 1)</td>\n<td><code>1</code></td>\n</tr>\n<tr>\n<td><code>per_page</code></td>\n<td>integer</td>\n<td>Hayır</td>\n<td>Sayfa başına kayıt sayısı (varsayılan: 25)</td>\n<td><code>25</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filtreleme-parametreleri-ransack\">Filtreleme Parametreleri (Ransack)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Açıklama</th>\n<th>Örnek</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>q[date_of_extra_work_gteq]</code></td>\n<td>date</td>\n<td>Ek çalışma tarihi başlangıç filtresi</td>\n<td><code>2024-01-01</code></td>\n</tr>\n<tr>\n<td><code>q[date_of_extra_work_lteq]</code></td>\n<td>date</td>\n<td>Ek çalışma tarihi bitiş filtresi</td>\n<td><code>2024-12-31</code></td>\n</tr>\n<tr>\n<td><code>q[user_id_eq]</code></td>\n<td>uuid</td>\n<td>Belirli kullanıcıya ait kayıtlar</td>\n<td><code>123e4567-e89b-12d3-a456-426614174000</code></td>\n</tr>\n<tr>\n<td><code>q[status_eq]</code></td>\n<td>string</td>\n<td>Onay durumu filtresi</td>\n<td><code>pending</code>, <code>approved</code>, <code>rejected</code></td>\n</tr>\n<tr>\n<td><code>q[description_cont]</code></td>\n<td>string</td>\n<td>Açıklama içinde arama</td>\n<td><code>proje</code></td>\n</tr>\n<tr>\n<td><code>q[overtime_gt]</code></td>\n<td>integer</td>\n<td>Belirtilen dakikadan fazla mesai</td>\n<td><code>60</code></td>\n</tr>\n<tr>\n<td><code>q[overtime_lt]</code></td>\n<td>integer</td>\n<td>Belirtilen dakikadan az mesai</td>\n<td><code>120</code></td>\n</tr>\n<tr>\n<td><code>q[auto_generated_eq]</code></td>\n<td>boolean</td>\n<td>Otomatik oluşturulan kayıtlar</td>\n<td><code>true</code> / <code>false</code></td>\n</tr>\n<tr>\n<td><code>q[start_time_gteq]</code></td>\n<td>time</td>\n<td>Başlangıç saati filtresi</td>\n<td><code>18:00</code></td>\n</tr>\n<tr>\n<td><code>q[end_time_lteq]</code></td>\n<td>time</td>\n<td>Bitiş saati filtresi</td>\n<td><code>22:00</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"örnek-i̇stek\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/user_extra_works?page=1&amp;per_page=25&amp;q[date_of_extra_work_gteq]=2024-01-01&amp;q[status_eq]=approved\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n  -H \"Content-Type: application/json\"\n</code></pre>\n<h4 id=\"örnek-yanıt\">Örnek Yanıt</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n      \"user_id\": \"user_uuid_123\",\n      \"company_id\": \"company_uuid_123\",\n      \"date_of_extra_work\": \"2024-01-15\",\n      \"start_time\": \"18:00:00\",\n      \"end_time\": \"20:00:00\",\n      \"check_in_time\": \"18:05:00\",\n      \"check_out_time\": \"19:55:00\",\n      \"status\": \"approved\",\n      \"description\": \"Proje teslimi için ek mesai\",\n      \"name\": \"Proje teslimi için ek mesai (18:05 - 19:55)\",\n      \"overtime\": 110,\n      \"auto_generated\": false,\n      \"time_in_seconds\": 6600,\n      \"created_at\": \"2024-01-16T10:00:00.000Z\",\n      \"updated_at\": \"2024-01-16T11:30:00.000Z\",\n      \"user\": {\n        \"id\": \"user_uuid_123\",\n        \"first_name\": \"Mehmet\",\n        \"last_name\": \"Öz\",\n        \"email\": \"mehmet@example.com\",\n        \"client_id\": \"EMP001\"\n      }\n    }\n  ],\n  \"meta\": {\n    \"current_page\": 1,\n    \"total_pages\": 3,\n    \"total_count\": 67\n  }\n}\n</code></pre>\n<h3 id=\"2-tekil-ek-çalışma-detayı\">2. Tekil Ek Çalışma Detayı</h3>\n<p><strong>GET</strong> <code>/user_extra_works/:id</code></p>\n<p>Belirli bir ek çalışma kaydının detayını getirir.</p>\n<h4 id=\"path-parametreleri\">Path Parametreleri</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parametre</th>\n<th>Tip</th>\n<th>Zorunlu</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>uuid</td>\n<td>Evet</td>\n<td>Ek Çalışma UUID'si</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"örnek-i̇stek-1\">Örnek İstek</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/user_extra_works/123e4567-e89b-12d3-a456-426614174000\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n  -H \"Content-Type: application/json\"\n</code></pre>\n<h4 id=\"örnek-yanıt-1\">Örnek Yanıt</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": true,\n  \"status\": 200,\n  \"message\": \"\",\n  \"data\": {\n    \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"user_id\": \"user_uuid_123\",\n    \"company_id\": \"company_uuid_123\",\n    \"date_of_extra_work\": \"2024-01-15\",\n    \"start_time\": \"18:00:00\",\n    \"end_time\": \"20:00:00\",\n    \"check_in_time\": \"18:05:00\",\n    \"check_out_time\": \"19:55:00\",\n    \"status\": \"approved\",\n    \"description\": \"Proje teslimi için ek mesai\",\n    \"name\": \"Proje teslimi için ek mesai (18:05 - 19:55)\",\n    \"overtime\": 110,\n    \"auto_generated\": false,\n    \"time_in_seconds\": 6600,\n    \"created_at\": \"2024-01-16T10:00:00.000Z\",\n    \"updated_at\": \"2024-01-16T11:30:00.000Z\",\n    \"user\": {\n      \"id\": \"user_uuid_123\",\n      \"first_name\": \"Mehmet\",\n      \"last_name\": \"Öz\",\n      \"email\": \"mehmet@example.com\",\n      \"client_id\": \"EMP001\"\n    }\n  },\n  \"meta\": {}\n}\n</code></pre>\n<h2 id=\"veri-modeli\">Veri Modeli</h2>\n<h3 id=\"userextrawork-nesnesi\">UserExtraWork Nesnesi</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>uuid</td>\n<td>Ek çalışma kaydının benzersiz kimliği</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>uuid</td>\n<td>Çalışan kullanıcının kimliği</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>uuid</td>\n<td>Şirket kimliği</td>\n</tr>\n<tr>\n<td><code>date_of_extra_work</code></td>\n<td>date</td>\n<td>Ek çalışma tarihi (YYYY-MM-DD)</td>\n</tr>\n<tr>\n<td><code>start_time</code></td>\n<td>time</td>\n<td>Planlanan başlangıç saati (HH:MM:SS)</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>time</td>\n<td>Planlanan bitiş saati (HH:MM:SS)</td>\n</tr>\n<tr>\n<td><code>check_in_time</code></td>\n<td>time</td>\n<td>Gerçek giriş saati (HH:MM:SS)</td>\n</tr>\n<tr>\n<td><code>check_out_time</code></td>\n<td>time</td>\n<td>Gerçek çıkış saati (HH:MM:SS)</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>Onay durumu (<code>pending</code>, <code>approved</code>, <code>rejected</code>)</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string</td>\n<td>Ek çalışma açıklaması</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Otomatik oluşturulan ek çalışma adı</td>\n</tr>\n<tr>\n<td><code>overtime</code></td>\n<td>integer</td>\n<td>Mesai süresi (dakika cinsinden)</td>\n</tr>\n<tr>\n<td><code>auto_generated</code></td>\n<td>boolean</td>\n<td>Otomatik oluşturulan kayıt mı?</td>\n</tr>\n<tr>\n<td><code>time_in_seconds</code></td>\n<td>integer</td>\n<td>Toplam süre (saniye cinsinden)</td>\n</tr>\n<tr>\n<td><code>created_at</code></td>\n<td>datetime</td>\n<td>Kayıt oluşturulma zamanı</td>\n</tr>\n<tr>\n<td><code>updated_at</code></td>\n<td>datetime</td>\n<td>Kayıt güncellenme zamanı</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"i̇lişkili-nesneler\">İlişkili Nesneler</h3>\n<h4 id=\"user-kullanıcı\">User (Kullanıcı)</h4>\n<ul>\n<li><code>id</code>: Kullanıcı UUID'si</li>\n<li><code>first_name</code>: Ad</li>\n<li><code>last_name</code>: Soyad</li>\n<li><code>email</code>: E-posta adresi</li>\n<li><code>client_id</code>: Çalışan numarası</li>\n</ul>\n<h2 id=\"durum-kodları\">Durum Kodları</h2>\n<h3 id=\"status-onay-durumu\">Status (Onay Durumu)</h3>\n<ul>\n<li><code>pending</code>: Onay bekliyor</li>\n<li><code>approved</code>: Onaylandı</li>\n<li><code>rejected</code>: Reddedildi</li>\n</ul>\n<h2 id=\"hata-kodları\">Hata Kodları</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>HTTP Kodu</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>200</code></td>\n<td>Başarılı</td>\n</tr>\n<tr>\n<td><code>401</code></td>\n<td>Yetkisiz erişim (Geçersiz token)</td>\n</tr>\n<tr>\n<td><code>404</code></td>\n<td>Kayıt bulunamadı</td>\n</tr>\n<tr>\n<td><code>422</code></td>\n<td>İşlenemez varlık (Geçersiz parametreler)</td>\n</tr>\n<tr>\n<td><code>500</code></td>\n<td>Sunucu hatası</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"örnek-hata-yanıtı\">Örnek Hata Yanıtı</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"success\": false,\n  \"status\": 404,\n  \"message\": \"Kayıt bulunamadı\",\n  \"errors\": [\"Belirtilen ID ile ek çalışma kaydı bulunamadı\"]\n}\n</code></pre>\n<h2 id=\"kullanım-örnekleri\">Kullanım Örnekleri</h2>\n<h3 id=\"1-belirli-bir-tarih-aralığındaki-ek-çalışmaları-getir\">1. Belirli Bir Tarih Aralığındaki Ek Çalışmaları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/user_extra_works?q[date_of_extra_work_gteq]=2024-01-01&amp;q[date_of_extra_work_lteq]=2024-01-31\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"2-onay-bekleyen-ek-çalışmaları-getir\">2. Onay Bekleyen Ek Çalışmaları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/user_extra_works?q[status_eq]=pending\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"3-belirli-kullanıcının-ek-çalışmalarını-getir\">3. Belirli Kullanıcının Ek Çalışmalarını Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/user_extra_works?q[user_id_eq]=123e4567-e89b-12d3-a456-426614174000\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"4-2-saatten-fazla-mesai-yapanları-getir\">4. 2 Saatten Fazla Mesai Yapanları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/user_extra_works?q[overtime_gt]=120\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"5-akşam-mesailerini-getir-1800den-sonra-başlayanlar\">5. Akşam Mesailerini Getir (18:00'den sonra başlayanlar)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/user_extra_works?q[start_time_gteq]=18:00\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"6-manuel-oluşturulan-ek-çalışmaları-getir\">6. Manuel Oluşturulan Ek Çalışmaları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/user_extra_works?q[auto_generated_eq]=false\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h3 id=\"7-açıklamada-proje-geçen-ek-çalışmaları-getir\">7. Açıklamada \"proje\" Geçen Ek Çalışmaları Getir</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"https://api.example.com/api/public/v1/user_extra_works?q[description_cont]=proje\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\"\n</code></pre>\n<h2 id=\"hesaplamalar\">Hesaplamalar</h2>\n<h3 id=\"overtime-mesai-süresi\">Overtime (Mesai Süresi)</h3>\n<p>Mesai süresi, gerçek çalışma süresine göre dakika cinsinden hesaplanır:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Overtime = (check_out_time - check_in_time) dakika cinsinden\n</code></pre><h3 id=\"time-in-seconds-saniye-cinsinden-süre\">Time in Seconds (Saniye Cinsinden Süre)</h3>\n<p>Toplam çalışma süresi saniye cinsinden:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Time in Seconds = (check_out_time - check_in_time) saniye cinsinden\n</code></pre><h3 id=\"name-otomatik-ad\">Name (Otomatik Ad)</h3>\n<p>Ek çalışma adı otomatik olarak şu formatta oluşturulur:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>\"{description} ({check_in_time} - {check_out_time})\"\n</code></pre><h2 id=\"notlar\">Notlar</h2>\n<ul>\n<li>Tüm zaman bilgileri UTC formatındadır</li>\n<li>Mesai süreleri dakika cinsinden hesaplanır</li>\n<li>Sayfalama varsayılan olarak sayfa başına 25 kayıt getirir</li>\n<li>Filtreleme işlemleri Ransack gem'i kullanılarak yapılır</li>\n<li>API yanıtları her zaman JSON formatındadır</li>\n<li><code>auto_generated</code> alanı sistem tarafından otomatik oluşturulan kayıtları belirtir</li>\n<li>Durum değişiklikleri için ayrı endpoint'ler kullanılabilir (create, update, destroy)</li>\n</ul>\n<h2 id=\"destek\">Destek</h2>\n<p>API kullanımı ile ilgili sorularınız için lütfen geliştirici ekibi ile iletişime geçin.</p>\n","_postman_id":"4695f8fc-3a53-40ed-a7ce-c67968fc21cb","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]},"isInherited":true,"source":{"_postman_id":"59789240-5fd7-4067-8f9f-254fe7bf6598","id":"59789240-5fd7-4067-8f9f-254fe7bf6598","name":"PublicApi","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{secretKey}}"}]}},"event":[{"listen":"prerequest","script":{"id":"4b9fad7e-808a-4a0b-82ac-a1752cc480de","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"3147dca9-e8d0-459c-b446-b5fedc52ee3a","type":"text/javascript","exec":[""]}}],"variable":[{"key":"baseUrl","value":"https://api.passgage.com","type":"string"},{"key":"titleId","value":"","type":"string"},{"key":"user_jwt_token","value":""}]}