diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..e37d817
Binary files /dev/null and b/.DS_Store differ
diff --git a/keys/59b094fe-d609-45fd-a843-34642be4fbe0.pem b/keys/59b094fe-d609-45fd-a843-34642be4fbe0.pem
new file mode 100644
index 0000000..cf2ab1d
--- /dev/null
+++ b/keys/59b094fe-d609-45fd-a843-34642be4fbe0.pem
@@ -0,0 +1,52 @@
+-----BEGIN PRIVATE KEY-----
+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
+YUHjDHYjcOFDTDsqWBnlZJqAxhWs+g==
+-----END PRIVATE KEY-----
\ No newline at end of file
diff --git a/README.md b/playtomic-wrapper/README.md
similarity index 100%
rename from README.md
rename to playtomic-wrapper/README.md
diff --git a/tools/.DS_Store b/tools/.DS_Store
new file mode 100644
index 0000000..675071d
Binary files /dev/null and b/tools/.DS_Store differ
diff --git a/tournme/.DS_Store b/tournme/.DS_Store
new file mode 100644
index 0000000..380cf26
Binary files /dev/null and b/tournme/.DS_Store differ
diff --git a/tournme/collection/.DS_Store b/tournme/collection/.DS_Store
new file mode 100644
index 0000000..c4b0041
Binary files /dev/null and b/tournme/collection/.DS_Store differ
diff --git a/tournme/collection/PadelTour API/.DS_Store b/tournme/collection/PadelTour API/.DS_Store
new file mode 100644
index 0000000..e8c5bc7
Binary files /dev/null and b/tournme/collection/PadelTour API/.DS_Store differ
diff --git a/tournme/collection/PadelTour API/Authentication/Login.bru b/tournme/collection/PadelTour API/Authentication/Login.bru
new file mode 100644
index 0000000..cc0fb79
--- /dev/null
+++ b/tournme/collection/PadelTour API/Authentication/Login.bru
@@ -0,0 +1,30 @@
+meta {
+ name: Login
+ type: http
+ seq: 1
+}
+
+post {
+ url: {{baseUrl}}/api/v1/login
+ body: formUrlEncoded
+ auth: inherit
+}
+
+body:form-urlencoded {
+ grant_type:
+ username: {{username}}
+ password: {{password}}
+ scope:
+ client_id:
+ client_secret:
+}
+
+script:post-response {
+ function onResponse(res) {
+ let data = res.getBody();
+ bru.setEnvVar("access_token", data.access_token);
+ bru.setEnvVar("refresh_token", data.refresh_token);
+ }
+
+ onResponse(res);
+}
diff --git a/tournme/collection/PadelTour API/Authentication/Refresh Token.bru b/tournme/collection/PadelTour API/Authentication/Refresh Token.bru
new file mode 100644
index 0000000..718fd01
--- /dev/null
+++ b/tournme/collection/PadelTour API/Authentication/Refresh Token.bru
@@ -0,0 +1,17 @@
+meta {
+ name: Refresh Token
+ type: http
+ seq: 2
+}
+
+post {
+ url: {{baseUrl}}/api/v1/refresh
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "refresh_token": "{{refresh_token}}"
+ }
+}
diff --git a/tournme/collection/PadelTour API/Authentication/folder.bru b/tournme/collection/PadelTour API/Authentication/folder.bru
new file mode 100644
index 0000000..d668e65
--- /dev/null
+++ b/tournme/collection/PadelTour API/Authentication/folder.bru
@@ -0,0 +1,3 @@
+meta {
+ name: Authentication
+}
diff --git a/tournme/collection/PadelTour API/Companies/Change Password.bru b/tournme/collection/PadelTour API/Companies/Change Password.bru
new file mode 100644
index 0000000..977e2c8
--- /dev/null
+++ b/tournme/collection/PadelTour API/Companies/Change Password.bru
@@ -0,0 +1,19 @@
+meta {
+ name: Change Password
+ type: http
+ seq: 4
+}
+
+post {
+ url: {{baseUrl}}/api/v1/companies/me/change-password
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "current_password": "",
+ "new_password": "",
+ "confirm_password": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Companies/Create Company Admin.bru b/tournme/collection/PadelTour API/Companies/Create Company Admin.bru
new file mode 100644
index 0000000..e0fc11c
--- /dev/null
+++ b/tournme/collection/PadelTour API/Companies/Create Company Admin.bru
@@ -0,0 +1,20 @@
+meta {
+ name: Create Company Admin
+ type: http
+ seq: 1
+}
+
+post {
+ url: {{baseUrl}}/api/v1/companies/admin/create
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "name": "",
+ "email": "",
+ "phone_number": "",
+ "address": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Companies/Get All Companies.bru b/tournme/collection/PadelTour API/Companies/Get All Companies.bru
new file mode 100644
index 0000000..d741057
--- /dev/null
+++ b/tournme/collection/PadelTour API/Companies/Get All Companies.bru
@@ -0,0 +1,11 @@
+meta {
+ name: Get All Companies
+ type: http
+ seq: 5
+}
+
+get {
+ url: {{baseUrl}}/api/v1/companies
+ body: none
+ auth: inherit
+}
diff --git a/tournme/collection/PadelTour API/Companies/Get Company By Login.bru b/tournme/collection/PadelTour API/Companies/Get Company By Login.bru
new file mode 100644
index 0000000..06bbf5a
--- /dev/null
+++ b/tournme/collection/PadelTour API/Companies/Get Company By Login.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Company By Login
+ type: http
+ seq: 6
+}
+
+get {
+ url: {{baseUrl}}/api/v1/companies/:login
+ body: none
+ auth: inherit
+}
+
+params:path {
+ login:
+}
diff --git a/tournme/collection/PadelTour API/Companies/Get Current Company.bru b/tournme/collection/PadelTour API/Companies/Get Current Company.bru
new file mode 100644
index 0000000..b150f9f
--- /dev/null
+++ b/tournme/collection/PadelTour API/Companies/Get Current Company.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Current Company
+ type: http
+ seq: 2
+}
+
+get {
+ url: {{baseUrl}}/api/v1/companies/me
+ body: none
+ auth: bearer
+}
+
+auth:bearer {
+ token: {{access_token}}
+}
diff --git a/tournme/collection/PadelTour API/Companies/Update Current Company.bru b/tournme/collection/PadelTour API/Companies/Update Current Company.bru
new file mode 100644
index 0000000..0f6b81d
--- /dev/null
+++ b/tournme/collection/PadelTour API/Companies/Update Current Company.bru
@@ -0,0 +1,21 @@
+meta {
+ name: Update Current Company
+ type: http
+ seq: 3
+}
+
+patch {
+ url: {{baseUrl}}/api/v1/companies/me
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "name": "",
+ "email": "",
+ "phone_number": "",
+ "address": "",
+ "vat_number": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Companies/folder.bru b/tournme/collection/PadelTour API/Companies/folder.bru
new file mode 100644
index 0000000..a88c158
--- /dev/null
+++ b/tournme/collection/PadelTour API/Companies/folder.bru
@@ -0,0 +1,11 @@
+meta {
+ name: Companies
+}
+
+auth {
+ mode: bearer
+}
+
+auth:bearer {
+ token: {{access_token}}
+}
diff --git a/tournme/collection/PadelTour API/Courts/Create Court.bru b/tournme/collection/PadelTour API/Courts/Create Court.bru
new file mode 100644
index 0000000..05c59ab
--- /dev/null
+++ b/tournme/collection/PadelTour API/Courts/Create Court.bru
@@ -0,0 +1,18 @@
+meta {
+ name: Create Court
+ type: http
+ seq: 3
+}
+
+post {
+ url: {{baseUrl}}/api/v1/courts/
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "name": "CAMPO BELLISSIMO",
+ "images": ["https://ddlgzcxdeqadinmzpgqu.supabase.co/storage/v1/object/public/padelcourt_dev/34847922/courts/19cdc929-7dcd-4a63-b016-66db8fdabd4a.jpeg?"]
+ }
+}
diff --git a/tournme/collection/PadelTour API/Courts/Delete Court.bru b/tournme/collection/PadelTour API/Courts/Delete Court.bru
new file mode 100644
index 0000000..5b83abf
--- /dev/null
+++ b/tournme/collection/PadelTour API/Courts/Delete Court.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Delete Court
+ type: http
+ seq: 6
+}
+
+delete {
+ url: {{baseUrl}}/api/v1/courts/:id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ id:
+}
diff --git a/tournme/collection/PadelTour API/Courts/Get All Courts.bru b/tournme/collection/PadelTour API/Courts/Get All Courts.bru
new file mode 100644
index 0000000..97a6d34
--- /dev/null
+++ b/tournme/collection/PadelTour API/Courts/Get All Courts.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get All Courts
+ type: http
+ seq: 2
+}
+
+get {
+ url: {{baseUrl}}/api/v1/courts/
+ body: none
+ auth: inherit
+}
+
+settings {
+ encodeUrl: false
+}
diff --git a/tournme/collection/PadelTour API/Courts/Get Court By Id.bru b/tournme/collection/PadelTour API/Courts/Get Court By Id.bru
new file mode 100644
index 0000000..db680ed
--- /dev/null
+++ b/tournme/collection/PadelTour API/Courts/Get Court By Id.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Court By Id
+ type: http
+ seq: 4
+}
+
+get {
+ url: {{baseUrl}}/api/v1/courts/:id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ id:
+}
diff --git a/tournme/collection/PadelTour API/Courts/Update Court.bru b/tournme/collection/PadelTour API/Courts/Update Court.bru
new file mode 100644
index 0000000..5adf2ca
--- /dev/null
+++ b/tournme/collection/PadelTour API/Courts/Update Court.bru
@@ -0,0 +1,23 @@
+meta {
+ name: Update Court
+ type: http
+ seq: 5
+}
+
+put {
+ url: {{baseUrl}}/api/v1/courts/:id
+ body: json
+ auth: inherit
+}
+
+params:path {
+ id:
+}
+
+body:json {
+ {
+ "id": 0,
+ "name": "",
+ "images": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Courts/Upload Image.bru b/tournme/collection/PadelTour API/Courts/Upload Image.bru
new file mode 100644
index 0000000..554c6ce
--- /dev/null
+++ b/tournme/collection/PadelTour API/Courts/Upload Image.bru
@@ -0,0 +1,19 @@
+meta {
+ name: Upload Image
+ type: http
+ seq: 1
+}
+
+post {
+ url: {{baseUrl}}/api/v1/courts/upload_image/
+ body: multipartForm
+ auth: inherit
+}
+
+params:query {
+ ~folder:
+}
+
+body:multipart-form {
+ files: @file(/Users/ayoublefhim/Downloads/images.jpeg)
+}
diff --git a/tournme/collection/PadelTour API/Password Reset/Check reset token status.bru b/tournme/collection/PadelTour API/Password Reset/Check reset token status.bru
new file mode 100644
index 0000000..5fced6c
--- /dev/null
+++ b/tournme/collection/PadelTour API/Password Reset/Check reset token status.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Check reset token status
+ type: http
+ seq: 4
+}
+
+get {
+ url: {{baseUrl}}/api/v1/password-reset/status/:token
+ body: none
+ auth: inherit
+}
+
+params:path {
+ token:
+}
diff --git a/tournme/collection/PadelTour API/Password Reset/Complete password reset.bru b/tournme/collection/PadelTour API/Password Reset/Complete password reset.bru
new file mode 100644
index 0000000..477f201
--- /dev/null
+++ b/tournme/collection/PadelTour API/Password Reset/Complete password reset.bru
@@ -0,0 +1,18 @@
+meta {
+ name: Complete password reset
+ type: http
+ seq: 3
+}
+
+post {
+ url: {{baseUrl}}/api/v1/password-reset/complete
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "token": "",
+ "new_password": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Password Reset/Initiate password reset.bru b/tournme/collection/PadelTour API/Password Reset/Initiate password reset.bru
new file mode 100644
index 0000000..3df9737
--- /dev/null
+++ b/tournme/collection/PadelTour API/Password Reset/Initiate password reset.bru
@@ -0,0 +1,17 @@
+meta {
+ name: Initiate password reset
+ type: http
+ seq: 1
+}
+
+post {
+ url: {{baseUrl}}/api/v1/password-reset/initiate
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "email": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Password Reset/Verify reset code.bru b/tournme/collection/PadelTour API/Password Reset/Verify reset code.bru
new file mode 100644
index 0000000..6e07c19
--- /dev/null
+++ b/tournme/collection/PadelTour API/Password Reset/Verify reset code.bru
@@ -0,0 +1,18 @@
+meta {
+ name: Verify reset code
+ type: http
+ seq: 2
+}
+
+post {
+ url: {{baseUrl}}/api/v1/password-reset/verify
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "email": "",
+ "code": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Players/Create Player From Playtomic.bru b/tournme/collection/PadelTour API/Players/Create Player From Playtomic.bru
new file mode 100644
index 0000000..bdbe915
--- /dev/null
+++ b/tournme/collection/PadelTour API/Players/Create Player From Playtomic.bru
@@ -0,0 +1,18 @@
+meta {
+ name: Create Player From Playtomic
+ type: http
+ seq: 3
+}
+
+post {
+ url: {{baseUrl}}/api/v1/players/from-playtomic/
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "playtomic_id": 0,
+ "gender": 0
+ }
+}
diff --git a/tournme/collection/PadelTour API/Players/Create Player.bru b/tournme/collection/PadelTour API/Players/Create Player.bru
new file mode 100644
index 0000000..f064f4d
--- /dev/null
+++ b/tournme/collection/PadelTour API/Players/Create Player.bru
@@ -0,0 +1,20 @@
+meta {
+ name: Create Player
+ type: http
+ seq: 1
+}
+
+post {
+ url: {{baseUrl}}/api/v1/players/
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "name": "",
+ "gender": "",
+ "surname": "",
+ "nickname": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Players/Delete Player Association.bru b/tournme/collection/PadelTour API/Players/Delete Player Association.bru
new file mode 100644
index 0000000..e53ed53
--- /dev/null
+++ b/tournme/collection/PadelTour API/Players/Delete Player Association.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Delete Player Association
+ type: http
+ seq: 8
+}
+
+delete {
+ url: {{baseUrl}}/api/v1/players/:id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ id:
+}
diff --git a/tournme/collection/PadelTour API/Players/Get Player By Id.bru b/tournme/collection/PadelTour API/Players/Get Player By Id.bru
new file mode 100644
index 0000000..9ad0dce
--- /dev/null
+++ b/tournme/collection/PadelTour API/Players/Get Player By Id.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Player By Id
+ type: http
+ seq: 6
+}
+
+get {
+ url: {{baseUrl}}/api/v1/players/:id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ id:
+}
diff --git a/tournme/collection/PadelTour API/Players/Get Players.bru b/tournme/collection/PadelTour API/Players/Get Players.bru
new file mode 100644
index 0000000..0828964
--- /dev/null
+++ b/tournme/collection/PadelTour API/Players/Get Players.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Players
+ type: http
+ seq: 2
+}
+
+get {
+ url: {{baseUrl}}/api/v1/players/
+ body: none
+ auth: inherit
+}
+
+params:query {
+ ~search:
+}
diff --git a/tournme/collection/PadelTour API/Players/Get Playtomic Players.bru b/tournme/collection/PadelTour API/Players/Get Playtomic Players.bru
new file mode 100644
index 0000000..b1e238e
--- /dev/null
+++ b/tournme/collection/PadelTour API/Players/Get Playtomic Players.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Playtomic Players
+ type: http
+ seq: 4
+}
+
+get {
+ url: {{baseUrl}}/api/v1/players/playtomic-player/
+ body: none
+ auth: inherit
+}
+
+params:query {
+ ~name:
+}
diff --git a/tournme/collection/PadelTour API/Players/Get Tournament Id.bru b/tournme/collection/PadelTour API/Players/Get Tournament Id.bru
new file mode 100644
index 0000000..8d83dfc
--- /dev/null
+++ b/tournme/collection/PadelTour API/Players/Get Tournament Id.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Tournament Id
+ type: http
+ seq: 5
+}
+
+get {
+ url: {{baseUrl}}/api/v1/players/tournament-id/
+ body: none
+ auth: inherit
+}
+
+params:query {
+ ~url:
+}
diff --git a/tournme/collection/PadelTour API/Players/Update Player.bru b/tournme/collection/PadelTour API/Players/Update Player.bru
new file mode 100644
index 0000000..7934247
--- /dev/null
+++ b/tournme/collection/PadelTour API/Players/Update Player.bru
@@ -0,0 +1,30 @@
+meta {
+ name: Update Player
+ type: http
+ seq: 7
+}
+
+put {
+ url: {{baseUrl}}/api/v1/players/:id
+ body: json
+ auth: inherit
+}
+
+params:path {
+ id:
+}
+
+body:json {
+ {
+ "name": "",
+ "gender": "",
+ "surname": "",
+ "nickname": "",
+ "id": 0,
+ "number": "",
+ "email": "",
+ "picture": "",
+ "playtomic_id": "",
+ "level": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Registration/Initiate company registration.bru b/tournme/collection/PadelTour API/Registration/Initiate company registration.bru
new file mode 100644
index 0000000..cad437c
--- /dev/null
+++ b/tournme/collection/PadelTour API/Registration/Initiate company registration.bru
@@ -0,0 +1,22 @@
+meta {
+ name: Initiate company registration
+ type: http
+ seq: 2
+}
+
+post {
+ url: {{baseUrl}}/api/v1/register/initiate
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "email": "",
+ "password": "",
+ "name": "",
+ "address": "",
+ "phone_number": "",
+ "vat_number": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Registration/Resend verification code.bru b/tournme/collection/PadelTour API/Registration/Resend verification code.bru
new file mode 100644
index 0000000..971c58e
--- /dev/null
+++ b/tournme/collection/PadelTour API/Registration/Resend verification code.bru
@@ -0,0 +1,17 @@
+meta {
+ name: Resend verification code
+ type: http
+ seq: 4
+}
+
+post {
+ url: {{baseUrl}}/api/v1/register/resend
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "email": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Registration/Test Loops API connection.bru b/tournme/collection/PadelTour API/Registration/Test Loops API connection.bru
new file mode 100644
index 0000000..1bb7617
--- /dev/null
+++ b/tournme/collection/PadelTour API/Registration/Test Loops API connection.bru
@@ -0,0 +1,11 @@
+meta {
+ name: Test Loops API connection
+ type: http
+ seq: 1
+}
+
+get {
+ url: {{baseUrl}}/api/v1/register/test-loops
+ body: none
+ auth: inherit
+}
diff --git a/tournme/collection/PadelTour API/Registration/Verify email and complete registration.bru b/tournme/collection/PadelTour API/Registration/Verify email and complete registration.bru
new file mode 100644
index 0000000..67c7e6d
--- /dev/null
+++ b/tournme/collection/PadelTour API/Registration/Verify email and complete registration.bru
@@ -0,0 +1,18 @@
+meta {
+ name: Verify email and complete registration
+ type: http
+ seq: 3
+}
+
+post {
+ url: {{baseUrl}}/api/v1/register/verify
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "email": "",
+ "code": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Root.bru b/tournme/collection/PadelTour API/Root.bru
new file mode 100644
index 0000000..e022904
--- /dev/null
+++ b/tournme/collection/PadelTour API/Root.bru
@@ -0,0 +1,11 @@
+meta {
+ name: Root
+ type: http
+ seq: 1
+}
+
+get {
+ url: {{baseUrl}}/
+ body: none
+ auth: inherit
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Add Couple To Group.bru b/tournme/collection/PadelTour API/Tournament Staging/Add Couple To Group.bru
new file mode 100644
index 0000000..27a2932
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Add Couple To Group.bru
@@ -0,0 +1,22 @@
+meta {
+ name: Add Couple To Group
+ type: http
+ seq: 11
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/group/:group_id/couple
+ body: json
+ auth: inherit
+}
+
+params:path {
+ group_id:
+}
+
+body:json {
+ {
+ "group_id": 0,
+ "couple_id": 0
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Assign Couples To Groups.bru b/tournme/collection/PadelTour API/Tournament Staging/Assign Couples To Groups.bru
new file mode 100644
index 0000000..80c307c
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Assign Couples To Groups.bru
@@ -0,0 +1,19 @@
+meta {
+ name: Assign Couples To Groups
+ type: http
+ seq: 14
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/stage/:stage_id/assign-couples
+ body: none
+ auth: inherit
+}
+
+params:query {
+ ~method:
+}
+
+params:path {
+ stage_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Auto Schedule Matches.bru b/tournme/collection/PadelTour API/Tournament Staging/Auto Schedule Matches.bru
new file mode 100644
index 0000000..8d0ae68
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Auto Schedule Matches.bru
@@ -0,0 +1,21 @@
+meta {
+ name: Auto Schedule Matches
+ type: http
+ seq: 35
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/tournament/:tournament_id/auto-schedule
+ body: none
+ auth: inherit
+}
+
+params:query {
+ ~start_date:
+ ~end_date:
+ ~order_only:
+}
+
+params:path {
+ tournament_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Calculate Stage Match Order.bru b/tournme/collection/PadelTour API/Tournament Staging/Calculate Stage Match Order.bru
new file mode 100644
index 0000000..b69a706
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Calculate Stage Match Order.bru
@@ -0,0 +1,19 @@
+meta {
+ name: Calculate Stage Match Order
+ type: http
+ seq: 29
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/stage/:stage_id/calculate-match-order
+ body: none
+ auth: inherit
+}
+
+params:query {
+ ~strategy:
+}
+
+params:path {
+ stage_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Calculate Tournament Match Order.bru b/tournme/collection/PadelTour API/Tournament Staging/Calculate Tournament Match Order.bru
new file mode 100644
index 0000000..8dba14e
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Calculate Tournament Match Order.bru
@@ -0,0 +1,19 @@
+meta {
+ name: Calculate Tournament Match Order
+ type: http
+ seq: 28
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/tournament/:tournament_id/calculate-match-order
+ body: none
+ auth: inherit
+}
+
+params:query {
+ ~strategy:
+}
+
+params:path {
+ tournament_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Create Tournament Bracket.bru b/tournme/collection/PadelTour API/Tournament Staging/Create Tournament Bracket.bru
new file mode 100644
index 0000000..db40686
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Create Tournament Bracket.bru
@@ -0,0 +1,22 @@
+meta {
+ name: Create Tournament Bracket
+ type: http
+ seq: 16
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/stage/:stage_id/bracket
+ body: json
+ auth: inherit
+}
+
+params:path {
+ stage_id:
+}
+
+body:json {
+ {
+ "stage_id": 0,
+ "bracket_type": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Create Tournament Group.bru b/tournme/collection/PadelTour API/Tournament Staging/Create Tournament Group.bru
new file mode 100644
index 0000000..ad723fe
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Create Tournament Group.bru
@@ -0,0 +1,22 @@
+meta {
+ name: Create Tournament Group
+ type: http
+ seq: 6
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/stage/:stage_id/group
+ body: json
+ auth: inherit
+}
+
+params:path {
+ stage_id:
+}
+
+body:json {
+ {
+ "stage_id": 0,
+ "name": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Create Tournament Stage.bru b/tournme/collection/PadelTour API/Tournament Staging/Create Tournament Stage.bru
new file mode 100644
index 0000000..be44048
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Create Tournament Stage.bru
@@ -0,0 +1,25 @@
+meta {
+ name: Create Tournament Stage
+ type: http
+ seq: 1
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/tournament/:tournament_id/stage
+ body: json
+ auth: inherit
+}
+
+params:path {
+ tournament_id:
+}
+
+body:json {
+ {
+ "tournament_id": 0,
+ "name": "",
+ "stage_type": "",
+ "order": 0,
+ "config": {}
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Delete Tournament Bracket.bru b/tournme/collection/PadelTour API/Tournament Staging/Delete Tournament Bracket.bru
new file mode 100644
index 0000000..9b935bf
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Delete Tournament Bracket.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Delete Tournament Bracket
+ type: http
+ seq: 20
+}
+
+delete {
+ url: {{baseUrl}}/api/v1/staging/bracket/:bracket_id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ bracket_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Delete Tournament Group.bru b/tournme/collection/PadelTour API/Tournament Staging/Delete Tournament Group.bru
new file mode 100644
index 0000000..c2b5bd2
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Delete Tournament Group.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Delete Tournament Group
+ type: http
+ seq: 10
+}
+
+delete {
+ url: {{baseUrl}}/api/v1/staging/group/:group_id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ group_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Delete Tournament Stage.bru b/tournme/collection/PadelTour API/Tournament Staging/Delete Tournament Stage.bru
new file mode 100644
index 0000000..7078156
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Delete Tournament Stage.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Delete Tournament Stage
+ type: http
+ seq: 5
+}
+
+delete {
+ url: {{baseUrl}}/api/v1/staging/stage/:stage_id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ stage_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Generate Bracket Matches.bru b/tournme/collection/PadelTour API/Tournament Staging/Generate Bracket Matches.bru
new file mode 100644
index 0000000..722799d
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Generate Bracket Matches.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Generate Bracket Matches
+ type: http
+ seq: 36
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/bracket/:bracket_id/generate-matches
+ body: json
+ auth: inherit
+}
+
+params:path {
+ bracket_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Generate Group Matches.bru b/tournme/collection/PadelTour API/Tournament Staging/Generate Group Matches.bru
new file mode 100644
index 0000000..401d4eb
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Generate Group Matches.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Generate Group Matches
+ type: http
+ seq: 31
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/group/:group_id/generate-matches
+ body: none
+ auth: inherit
+}
+
+params:path {
+ group_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Generate Stage Matches.bru b/tournme/collection/PadelTour API/Tournament Staging/Generate Stage Matches.bru
new file mode 100644
index 0000000..012b917
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Generate Stage Matches.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Generate Stage Matches
+ type: http
+ seq: 21
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/stage/:stage_id/generate-matches
+ body: json
+ auth: inherit
+}
+
+params:path {
+ stage_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Bracket By Id.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Bracket By Id.bru
new file mode 100644
index 0000000..84e681f
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Bracket By Id.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Bracket By Id
+ type: http
+ seq: 18
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/bracket/:bracket_id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ bracket_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Bracket Matches.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Bracket Matches.bru
new file mode 100644
index 0000000..7df3985
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Bracket Matches.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Bracket Matches
+ type: http
+ seq: 25
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/bracket/:bracket_id/matches
+ body: none
+ auth: inherit
+}
+
+params:path {
+ bracket_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Couple Stats.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Couple Stats.bru
new file mode 100644
index 0000000..fc818b9
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Couple Stats.bru
@@ -0,0 +1,20 @@
+meta {
+ name: Get Couple Stats
+ type: http
+ seq: 38
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/couple/:couple_id/tournament/:tournament_id/stats
+ body: none
+ auth: inherit
+}
+
+params:query {
+ ~group_id:
+}
+
+params:path {
+ couple_id:
+ tournament_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Court Availability.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Court Availability.bru
new file mode 100644
index 0000000..662462b
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Court Availability.bru
@@ -0,0 +1,19 @@
+meta {
+ name: Get Court Availability
+ type: http
+ seq: 34
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/tournament/:tournament_id/court-availability
+ body: none
+ auth: inherit
+}
+
+params:query {
+ date:
+}
+
+params:path {
+ tournament_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Group By Id.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Group By Id.bru
new file mode 100644
index 0000000..917ee5e
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Group By Id.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Group By Id
+ type: http
+ seq: 8
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/group/:group_id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ group_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Group Couples.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Group Couples.bru
new file mode 100644
index 0000000..39bc2d9
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Group Couples.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Group Couples
+ type: http
+ seq: 12
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/group/:group_id/couple
+ body: none
+ auth: inherit
+}
+
+params:path {
+ group_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Group Matches.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Group Matches.bru
new file mode 100644
index 0000000..f5ab16f
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Group Matches.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Group Matches
+ type: http
+ seq: 24
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/group/:group_id/matches
+ body: none
+ auth: inherit
+}
+
+params:path {
+ group_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Group Standings With Stats.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Group Standings With Stats.bru
new file mode 100644
index 0000000..7817fa6
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Group Standings With Stats.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Group Standings With Stats
+ type: http
+ seq: 15
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/group/:group_id/standings
+ body: none
+ auth: inherit
+}
+
+params:path {
+ group_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Match By Id.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Match By Id.bru
new file mode 100644
index 0000000..0111966
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Match By Id.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Match By Id
+ type: http
+ seq: 26
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/match/:match_id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ match_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Stage Brackets.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Stage Brackets.bru
new file mode 100644
index 0000000..c40387f
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Stage Brackets.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Stage Brackets
+ type: http
+ seq: 17
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/stage/:stage_id/bracket
+ body: none
+ auth: inherit
+}
+
+params:path {
+ stage_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Stage By Id.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Stage By Id.bru
new file mode 100644
index 0000000..382eb43
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Stage By Id.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Stage By Id
+ type: http
+ seq: 3
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/stage/:stage_id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ stage_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Stage Groups.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Stage Groups.bru
new file mode 100644
index 0000000..146c20c
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Stage Groups.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Stage Groups
+ type: http
+ seq: 7
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/stage/:stage_id/group
+ body: none
+ auth: inherit
+}
+
+params:path {
+ stage_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Stage Matches.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Stage Matches.bru
new file mode 100644
index 0000000..8353472
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Stage Matches.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Stage Matches
+ type: http
+ seq: 22
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/stage/:stage_id/matches
+ body: none
+ auth: inherit
+}
+
+params:path {
+ stage_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Match Order Info.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Match Order Info.bru
new file mode 100644
index 0000000..4627289
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Match Order Info.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Tournament Match Order Info
+ type: http
+ seq: 30
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/tournament/{{tournamentId}}/match-order-info
+ body: none
+ auth: bearer
+}
+
+auth:bearer {
+ token: {{access_token}}
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Matches.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Matches.bru
new file mode 100644
index 0000000..aab2c68
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Matches.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Tournament Matches
+ type: http
+ seq: 23
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/tournament/:tournament_id/matches
+ body: none
+ auth: inherit
+}
+
+params:path {
+ tournament_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Stages.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Stages.bru
new file mode 100644
index 0000000..cd8542d
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Stages.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Tournament Stages
+ type: http
+ seq: 2
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/tournament/:tournament_id/stage
+ body: none
+ auth: inherit
+}
+
+params:path {
+ tournament_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Standings.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Standings.bru
new file mode 100644
index 0000000..1e201a4
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Standings.bru
@@ -0,0 +1,19 @@
+meta {
+ name: Get Tournament Standings
+ type: http
+ seq: 41
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/tournament/:tournament_id/standings
+ body: none
+ auth: inherit
+}
+
+params:query {
+ ~group_id:
+}
+
+params:path {
+ tournament_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Stats.bru b/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Stats.bru
new file mode 100644
index 0000000..1fc267a
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Get Tournament Stats.bru
@@ -0,0 +1,19 @@
+meta {
+ name: Get Tournament Stats
+ type: http
+ seq: 37
+}
+
+get {
+ url: {{baseUrl}}/api/v1/staging/tournament/:tournament_id/stats
+ body: none
+ auth: inherit
+}
+
+params:query {
+ ~group_id:
+}
+
+params:path {
+ tournament_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Initialize Missing Couple Stats.bru b/tournme/collection/PadelTour API/Tournament Staging/Initialize Missing Couple Stats.bru
new file mode 100644
index 0000000..dce9e48
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Initialize Missing Couple Stats.bru
@@ -0,0 +1,19 @@
+meta {
+ name: Initialize Missing Couple Stats
+ type: http
+ seq: 40
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/tournament/:tournament_id/stats/initialize
+ body: none
+ auth: inherit
+}
+
+params:query {
+ ~group_id:
+}
+
+params:path {
+ tournament_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Recalculate Tournament Stats.bru b/tournme/collection/PadelTour API/Tournament Staging/Recalculate Tournament Stats.bru
new file mode 100644
index 0000000..ac081c6
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Recalculate Tournament Stats.bru
@@ -0,0 +1,19 @@
+meta {
+ name: Recalculate Tournament Stats
+ type: http
+ seq: 39
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/tournament/:tournament_id/stats/recalculate
+ body: none
+ auth: inherit
+}
+
+params:query {
+ ~group_id:
+}
+
+params:path {
+ tournament_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Remove Couple From Group.bru b/tournme/collection/PadelTour API/Tournament Staging/Remove Couple From Group.bru
new file mode 100644
index 0000000..c9be33f
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Remove Couple From Group.bru
@@ -0,0 +1,16 @@
+meta {
+ name: Remove Couple From Group
+ type: http
+ seq: 13
+}
+
+delete {
+ url: {{baseUrl}}/api/v1/staging/group/:group_id/couple/:couple_id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ group_id:
+ couple_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Schedule Match.bru b/tournme/collection/PadelTour API/Tournament Staging/Schedule Match.bru
new file mode 100644
index 0000000..832ffd2
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Schedule Match.bru
@@ -0,0 +1,23 @@
+meta {
+ name: Schedule Match
+ type: http
+ seq: 32
+}
+
+post {
+ url: {{baseUrl}}/api/v1/staging/match/:match_id/schedule
+ body: none
+ auth: inherit
+}
+
+params:query {
+ court_id:
+ start_time:
+ ~end_time:
+ ~is_time_limited:
+ ~time_limit_minutes:
+}
+
+params:path {
+ match_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Unschedule Match.bru b/tournme/collection/PadelTour API/Tournament Staging/Unschedule Match.bru
new file mode 100644
index 0000000..c3902d9
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Unschedule Match.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Unschedule Match
+ type: http
+ seq: 33
+}
+
+delete {
+ url: {{baseUrl}}/api/v1/staging/match/:match_id/schedule
+ body: none
+ auth: inherit
+}
+
+params:path {
+ match_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Update Match.bru b/tournme/collection/PadelTour API/Tournament Staging/Update Match.bru
new file mode 100644
index 0000000..9875d3e
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Update Match.bru
@@ -0,0 +1,37 @@
+meta {
+ name: Update Match
+ type: http
+ seq: 27
+}
+
+put {
+ url: {{baseUrl}}/api/v1/staging/match/:match_id
+ body: json
+ auth: inherit
+}
+
+params:path {
+ match_id:
+}
+
+body:json {
+ {
+ "winner_couple_id": "",
+ "games": "",
+ "stage_id": "",
+ "group_id": "",
+ "bracket_id": "",
+ "court_id": "",
+ "scheduled_start": "",
+ "scheduled_end": "",
+ "is_time_limited": "",
+ "time_limit_minutes": "",
+ "match_result_status": "",
+ "display_order": "",
+ "order_in_stage": "",
+ "order_in_group": "",
+ "bracket_position": "",
+ "round_number": "",
+ "priority_score": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Update Tournament Bracket.bru b/tournme/collection/PadelTour API/Tournament Staging/Update Tournament Bracket.bru
new file mode 100644
index 0000000..5e7bf7d
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Update Tournament Bracket.bru
@@ -0,0 +1,21 @@
+meta {
+ name: Update Tournament Bracket
+ type: http
+ seq: 19
+}
+
+put {
+ url: {{baseUrl}}/api/v1/staging/bracket/:bracket_id
+ body: json
+ auth: inherit
+}
+
+params:path {
+ bracket_id:
+}
+
+body:json {
+ {
+ "bracket_type": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Update Tournament Group.bru b/tournme/collection/PadelTour API/Tournament Staging/Update Tournament Group.bru
new file mode 100644
index 0000000..00c9c60
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Update Tournament Group.bru
@@ -0,0 +1,21 @@
+meta {
+ name: Update Tournament Group
+ type: http
+ seq: 9
+}
+
+put {
+ url: {{baseUrl}}/api/v1/staging/group/:group_id
+ body: json
+ auth: inherit
+}
+
+params:path {
+ group_id:
+}
+
+body:json {
+ {
+ "name": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournament Staging/Update Tournament Stage.bru b/tournme/collection/PadelTour API/Tournament Staging/Update Tournament Stage.bru
new file mode 100644
index 0000000..82e5ef4
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournament Staging/Update Tournament Stage.bru
@@ -0,0 +1,24 @@
+meta {
+ name: Update Tournament Stage
+ type: http
+ seq: 4
+}
+
+put {
+ url: {{baseUrl}}/api/v1/staging/stage/:stage_id
+ body: json
+ auth: inherit
+}
+
+params:path {
+ stage_id:
+}
+
+body:json {
+ {
+ "name": "",
+ "stage_type": "",
+ "order": "",
+ "config": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Add Court To Tournament.bru b/tournme/collection/PadelTour API/Tournaments/Add Court To Tournament.bru
new file mode 100644
index 0000000..cc37f92
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Add Court To Tournament.bru
@@ -0,0 +1,23 @@
+meta {
+ name: Add Court To Tournament
+ type: http
+ seq: 12
+}
+
+post {
+ url: {{baseUrl}}/api/v1/tournaments/:id/court
+ body: json
+ auth: inherit
+}
+
+params:path {
+ id:
+}
+
+body:json {
+ {
+ "court_id": 0,
+ "availability_start": "",
+ "availability_end": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Add Player To Tournament.bru b/tournme/collection/PadelTour API/Tournaments/Add Player To Tournament.bru
new file mode 100644
index 0000000..6d26ac6
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Add Player To Tournament.bru
@@ -0,0 +1,22 @@
+meta {
+ name: Add Player To Tournament
+ type: http
+ seq: 5
+}
+
+post {
+ url: {{baseUrl}}/api/v1/tournaments/:id/player
+ body: json
+ auth: inherit
+}
+
+params:path {
+ id:
+}
+
+body:json {
+ {
+ "tournament_id": 0,
+ "player_id": 0
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Create Tournament Couple.bru b/tournme/collection/PadelTour API/Tournaments/Create Tournament Couple.bru
new file mode 100644
index 0000000..c666bc6
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Create Tournament Couple.bru
@@ -0,0 +1,23 @@
+meta {
+ name: Create Tournament Couple
+ type: http
+ seq: 8
+}
+
+post {
+ url: {{baseUrl}}/api/v1/tournaments/:id/couple
+ body: json
+ auth: inherit
+}
+
+params:path {
+ id:
+}
+
+body:json {
+ {
+ "first_player_id": 0,
+ "second_player_id": 0,
+ "name": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Create Tournament.bru b/tournme/collection/PadelTour API/Tournaments/Create Tournament.bru
new file mode 100644
index 0000000..dece1f6
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Create Tournament.bru
@@ -0,0 +1,23 @@
+meta {
+ name: Create Tournament
+ type: http
+ seq: 2
+}
+
+post {
+ url: {{baseUrl}}/api/v1/tournaments/
+ body: json
+ auth: inherit
+}
+
+body:json {
+ {
+ "name": "",
+ "description": "",
+ "images": "",
+ "start_date": "",
+ "end_date": "",
+ "players_number": 0,
+ "full_description": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Delete Player From Tournament.bru b/tournme/collection/PadelTour API/Tournaments/Delete Player From Tournament.bru
new file mode 100644
index 0000000..a9d64a9
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Delete Player From Tournament.bru
@@ -0,0 +1,16 @@
+meta {
+ name: Delete Player From Tournament
+ type: http
+ seq: 7
+}
+
+delete {
+ url: {{baseUrl}}/api/v1/tournaments/:tournament_id/player/:player_id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ tournament_id:
+ player_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Delete Tournament Couple.bru b/tournme/collection/PadelTour API/Tournaments/Delete Tournament Couple.bru
new file mode 100644
index 0000000..034a56e
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Delete Tournament Couple.bru
@@ -0,0 +1,16 @@
+meta {
+ name: Delete Tournament Couple
+ type: http
+ seq: 11
+}
+
+delete {
+ url: {{baseUrl}}/api/v1/tournaments/:tournament_id/couple/:couple_id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ tournament_id:
+ couple_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Get All Tournaments.bru b/tournme/collection/PadelTour API/Tournaments/Get All Tournaments.bru
new file mode 100644
index 0000000..361dcf8
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Get All Tournaments.bru
@@ -0,0 +1,11 @@
+meta {
+ name: Get All Tournaments
+ type: http
+ seq: 1
+}
+
+get {
+ url: {{baseUrl}}/api/v1/tournaments/
+ body: none
+ auth: inherit
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Get Tournament By Id.bru b/tournme/collection/PadelTour API/Tournaments/Get Tournament By Id.bru
new file mode 100644
index 0000000..18794c0
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Get Tournament By Id.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Tournament By Id
+ type: http
+ seq: 3
+}
+
+get {
+ url: {{baseUrl}}/api/v1/tournaments/:id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ id:
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Get Tournament Couples.bru b/tournme/collection/PadelTour API/Tournaments/Get Tournament Couples.bru
new file mode 100644
index 0000000..4ac1108
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Get Tournament Couples.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Tournament Couples
+ type: http
+ seq: 9
+}
+
+get {
+ url: {{baseUrl}}/api/v1/tournaments/:id/couple
+ body: none
+ auth: inherit
+}
+
+params:path {
+ id:
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Get Tournament Courts.bru b/tournme/collection/PadelTour API/Tournaments/Get Tournament Courts.bru
new file mode 100644
index 0000000..90b52c6
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Get Tournament Courts.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Tournament Courts
+ type: http
+ seq: 13
+}
+
+get {
+ url: {{baseUrl}}/api/v1/tournaments/:id/court
+ body: none
+ auth: inherit
+}
+
+params:path {
+ id:
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Get Tournament Players.bru b/tournme/collection/PadelTour API/Tournaments/Get Tournament Players.bru
new file mode 100644
index 0000000..d4f7c48
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Get Tournament Players.bru
@@ -0,0 +1,15 @@
+meta {
+ name: Get Tournament Players
+ type: http
+ seq: 6
+}
+
+get {
+ url: {{baseUrl}}/api/v1/tournaments/:id/player
+ body: none
+ auth: inherit
+}
+
+params:path {
+ id:
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Remove Court From Tournament.bru b/tournme/collection/PadelTour API/Tournaments/Remove Court From Tournament.bru
new file mode 100644
index 0000000..f735af7
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Remove Court From Tournament.bru
@@ -0,0 +1,16 @@
+meta {
+ name: Remove Court From Tournament
+ type: http
+ seq: 15
+}
+
+delete {
+ url: {{baseUrl}}/api/v1/tournaments/:tournament_id/court/:court_id
+ body: none
+ auth: inherit
+}
+
+params:path {
+ tournament_id:
+ court_id:
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Update Tournament Couple.bru b/tournme/collection/PadelTour API/Tournaments/Update Tournament Couple.bru
new file mode 100644
index 0000000..259f7ef
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Update Tournament Couple.bru
@@ -0,0 +1,25 @@
+meta {
+ name: Update Tournament Couple
+ type: http
+ seq: 10
+}
+
+put {
+ url: {{baseUrl}}/api/v1/tournaments/:tournament_id/couple/:couple_id
+ body: json
+ auth: inherit
+}
+
+params:path {
+ tournament_id:
+ couple_id:
+}
+
+body:json {
+ {
+ "tournament_id": "",
+ "first_player_id": "",
+ "second_player_id": "",
+ "name": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Update Tournament Court.bru b/tournme/collection/PadelTour API/Tournaments/Update Tournament Court.bru
new file mode 100644
index 0000000..34bf260
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Update Tournament Court.bru
@@ -0,0 +1,23 @@
+meta {
+ name: Update Tournament Court
+ type: http
+ seq: 14
+}
+
+put {
+ url: {{baseUrl}}/api/v1/tournaments/:tournament_id/court/:court_id
+ body: json
+ auth: inherit
+}
+
+params:path {
+ tournament_id:
+ court_id:
+}
+
+body:json {
+ {
+ "availability_start": "",
+ "availability_end": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/Tournaments/Update Tournament.bru b/tournme/collection/PadelTour API/Tournaments/Update Tournament.bru
new file mode 100644
index 0000000..010206f
--- /dev/null
+++ b/tournme/collection/PadelTour API/Tournaments/Update Tournament.bru
@@ -0,0 +1,27 @@
+meta {
+ name: Update Tournament
+ type: http
+ seq: 4
+}
+
+put {
+ url: {{baseUrl}}/api/v1/tournaments/:id
+ body: json
+ auth: inherit
+}
+
+params:path {
+ id:
+}
+
+body:json {
+ {
+ "name": "",
+ "description": "",
+ "images": "",
+ "start_date": "",
+ "end_date": "",
+ "players_number": "",
+ "full_description": ""
+ }
+}
diff --git a/tournme/collection/PadelTour API/bruno.json b/tournme/collection/PadelTour API/bruno.json
new file mode 100644
index 0000000..a4e2d08
--- /dev/null
+++ b/tournme/collection/PadelTour API/bruno.json
@@ -0,0 +1,9 @@
+{
+ "version": "1",
+ "name": "PadelTour API",
+ "type": "collection",
+ "ignore": [
+ "node_modules",
+ ".git"
+ ]
+}
\ No newline at end of file
diff --git a/tournme/collection/PadelTour API/collection.bru b/tournme/collection/PadelTour API/collection.bru
new file mode 100644
index 0000000..c15274c
--- /dev/null
+++ b/tournme/collection/PadelTour API/collection.bru
@@ -0,0 +1,7 @@
+auth {
+ mode: bearer
+}
+
+auth:bearer {
+ token: {{access_token}}
+}
diff --git a/tournme/collection/PadelTour API/environments/Dev.bru b/tournme/collection/PadelTour API/environments/Dev.bru
new file mode 100644
index 0000000..cd4b1d6
--- /dev/null
+++ b/tournme/collection/PadelTour API/environments/Dev.bru
@@ -0,0 +1,7 @@
+vars {
+ baseUrl: http://localhost:8000
+ username: test@test.it
+ password: Pass123!
+ access_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJleHAiOjE3NTM4MjY5ODR9.kG1cISeoVJOTwZzPDWJdi1UMTVXiTGsB7HFn9DqItdI
+ tournamentId: 1
+}
diff --git a/tournme/collection/PadelTour API/environments/PROD.bru b/tournme/collection/PadelTour API/environments/PROD.bru
new file mode 100644
index 0000000..cd4ecb7
--- /dev/null
+++ b/tournme/collection/PadelTour API/environments/PROD.bru
@@ -0,0 +1,7 @@
+vars {
+ baseUrl: https://api.tourn.me
+ username: 02421217
+}
+vars:secret [
+ password
+]
diff --git a/tournme/docs/FEATURES.md b/tournme/docs/FEATURES.md
new file mode 100644
index 0000000..0de83f0
--- /dev/null
+++ b/tournme/docs/FEATURES.md
@@ -0,0 +1,65 @@
+
+# Project Features
+
+This document outlines the main features of the Tourn.me application, a comprehensive platform for managing padel tournaments. The project is divided into a frontend application (`app.tourn.me`) and a backend service (`padeltour`).
+
+## Backend Features (padeltour)
+
+The backend is built with Python and FastAPI, providing a robust API for the frontend.
+
+### Core APIs
+
+- **Authentication**: Handles user login, token refresh, and other authentication-related tasks.
+- **Companies**: Manages company information, including admin creation and password changes.
+- **Courts**: Provides endpoints for creating, retrieving, updating, and deleting court information.
+- **Dashboard**: Offers endpoints to fetch data for the main dashboard, including statistics and overviews.
+- **Password Reset**: Manages the password reset process, including token validation and password updates.
+- **Players**: Handles player management, including creation, deletion, and association with tournaments.
+- **Registration**: Manages the company registration process, including email verification.
+- **Tournaments**: Provides comprehensive management of tournaments, from creation to player and court assignments.
+- **Tournament Staging**: Manages the different stages of a tournament, including:
+ - **Brackets**: Handles the creation and management of tournament brackets.
+ - **Groups**: Manages player groups within a tournament.
+ - **Matches**: Provides endpoints for match management and scheduling.
+ - **Scheduling**: Automates the scheduling of matches.
+ - **Stages**: Manages the different stages of a tournament (e.g., group stage, knockout stage).
+ - **Stats**: Provides statistics for tournaments.
+
+## Frontend Features (app.tourn.me)
+
+The frontend is a Next.js application that provides a user-friendly interface for managing tournaments.
+
+### Main Sections
+
+- **Dashboard**: The main landing page after login, providing an overview of key metrics.
+ - **Overview**: Displays statistics related to sales, user activity, and more.
+ - **Courts**: Allows for the management of padel courts.
+ - **Players**: A section for managing players, including creation and viewing.
+ - **Products**: Manages products or services offered.
+ - **Profile**: Allows users to manage their company profile and settings.
+ - **Tournament**: The core section for managing tournaments.
+
+### Tournament Management
+
+- **Tournament Creation**: A step-by-step process to create new tournaments.
+- **Tournament Overview**: A view of all ongoing and past tournaments.
+- **Tournament Details**: A detailed view of a specific tournament, including:
+ - Player management
+ - Court assignments
+ - Match scheduling
+ - Bracket visualization
+
+### User Authentication
+
+- **Sign In/Register**: Standard user authentication pages.
+- **Forgot/Reset Password**: A complete flow for password recovery.
+
+### Other Features
+
+- **Email Service**: Integrated email notifications for events like registration and password recovery.
+- **Internationalization (i18n)**: The application supports multiple languages.
+- **Real-time Updates**: The application is set up for real-time data fetching and updates.
+- **API Documentation**: The project includes a `collection` folder with API requests for easier testing and integration.
+- **Monitoring**: The `grafana` folder suggests that the application is set up for monitoring with Grafana dashboards.
+- **Database Migrations**: Uses `alembic` for handling database schema migrations.
+- **Containerization**: Both the frontend and backend applications are containerized using Docker.
diff --git a/tournme/email/.DS_Store b/tournme/email/.DS_Store
new file mode 100644
index 0000000..706bd11
Binary files /dev/null and b/tournme/email/.DS_Store differ
diff --git a/tournme/email/1_password_recovery/.DS_Store b/tournme/email/1_password_recovery/.DS_Store
new file mode 100644
index 0000000..5008ddf
Binary files /dev/null and b/tournme/email/1_password_recovery/.DS_Store differ
diff --git a/tournme/email/1_password_recovery/index.mjml b/tournme/email/1_password_recovery/index.mjml
new file mode 100644
index 0000000..174a208
--- /dev/null
+++ b/tournme/email/1_password_recovery/index.mjml
@@ -0,0 +1,199 @@
+
+ Questo è un messaggio automatico, non rispondere a questa email.
+
+ Questo è un messaggio automatico, non rispondere a questa email.
+
+ Questo è un messaggio automatico, non rispondere a questa email.
+
Design System & UI Mockups
++ Complete UI/UX Design Reference for Padel Tournament Management Platform +
++ Hero section, features grid, how it works, stats, CTA, and footer +
++ Clean authentication form with password recovery link +
++ Two-column layout with benefits and registration form +
++ Sidebar layout with stats cards, active tournaments, recent activity, and upcoming matches +
++ Search, filters, tabs (Active/Upcoming/Completed/Draft), and card grid layout +
++ Multi-tab interface with overview, match scheduling (drag & drop), bracket, and teams table +
++ Large format design with live matches, completed results, upcoming schedule, bracket preview, and QR code +
++ Clear visual indicators for tournaments, matches, and teams (draft, in progress, completed, etc.) +
++ Visual bracket displays for single/double elimination formats +
++ Drag & drop scheduling with court assignments and score tracking +
++ Comprehensive tables for players, teams, and standings with sorting +
++ Complete dark mode support with theme toggle +
++ Large, readable public view perfect for center displays +
++ Use the tabs at the top of the page to navigate through different sections: +
++ This interactive prototype serves as a complete reference for your Figma designs. + All components, spacing, colors, and layouts are production-ready and can be + directly translated to Figma. Use the dark mode toggle to see both theme variants. +
++ Every component is built to be reusable and follows consistent patterns. + Status badges, cards, tables, and navigation elements maintain the same + visual language throughout the application. +
++ This design system provides everything you need to create a cohesive, + professional tournament management platform. All components are designed + to work together seamlessly. +
+2xl - Medium weight
+xl - Medium weight
+lg - Medium weight
+base - Medium weight
+Body text - This is regular body text used throughout the application.
+base - Normal weight
+Small text - Used for captions and secondary information
+sm - Normal weight
+This is helpful tooltip information
+Icon-only buttons should have tooltips
+Tournament Progress
+Quarter Finals - 4 of 8 matches complete
+Large
+Default
+Small
+Overview content would go here...
+Matches content would go here...
+Standings content would go here...
+Bracket content would go here...
+Welcome back, John! Here's what's happening today.
+Single Elimination
+Round Robin
+Groups + Knockout
+Match completed
+Team Alpha defeated Team Beta (6-4, 6-3)
+5 minutes ago
+Tournament started
+Summer Championship 2026 is now in progress
+2 hours ago
+New players added
+12 players imported from Playtomic
+Yesterday
+Schedule conflict
+2 matches need court reassignment
+2 days ago
+Quarter Final
++ The lightweight tool for padel centers to organize tournaments, schedule matches, + and communicate with players effortlessly. +
+ ++ From player management to live displays, we've got all your tournament needs covered +
++ Support for Round Robin, Single/Double Elimination, and Groups + Knockout formats +
++ Import from Playtomic or add manually. Players shared across all centers +
++ Drag & drop match ordering with optional court assignments +
++ Shareable links for TV displays with optional access codes +
++ Winners automatically advance in knockout brackets +
++ Secure, isolated data for each padel center +
+Get started in minutes
++ Sign up and set up your padel center profile in seconds +
++ Import from Playtomic or add players manually with their skill levels +
++ Create tournaments, schedule matches, and share results on displays +
++ Join padel centers around the world using tourn.me to manage their tournaments +
+Scan to view on your device
++ Join hundreds of padel centers using tourn.me +
++ Round Robin, Single/Double Elimination, Groups + Knockout +
++ Sync your player database with one click +
++ Share tournament brackets and matches on your screens +
++ Drag & drop interface for quick organization +
+Match #7 completed
+Team Alpha won 6-4, 6-3
+5 minutes ago
+Match #8 started
+Team Delta vs Team Gamma
+12 minutes ago
+Manage all your padel tournaments
+Upcoming tournaments view...
+Completed tournaments view...
+Draft tournaments view...
+