1887 lines
42 KiB
C#

using System;
using System.ComponentModel.DataAnnotations;
using System.Xml.Linq;
namespace gehGassi.Domain.Common
{
/// <summary>
/// Modus in welchem sich die App befindet.
/// Ist wichtig für die Abfrage von Daten wenn der Benutzer beides ist
/// </summary>
public enum AppMode
{
/// <summary>
/// Hundebesitzer
/// </summary>
DogOwner = 10,
/// <summary>
/// Hundeausführer
/// </summary>
DogWalker = 20
}
/// <summary>
/// Geschlecht
/// </summary>
public enum Sex
{
/// <summary>
/// Undefiniert
/// </summary>
Undefined = 0,
/// <summary>
/// Männlich
/// </summary>
Male = 1,
/// <summary>
/// Weiblich
/// </summary>
Female = 2,
/// <summary>
/// Divers
/// </summary>
Diverse = 3,
/// <summary>
/// Inter
/// </summary>
Inter = 4,
/// <summary>
/// Offen
/// </summary>
Open = 5
}
/// <summary>
/// Typ einer Nachricht die via SignalR gesendet wird.
/// </summary>
public enum SignalrMessageType
{
/// <summary>
/// Erfolg - GRÜN
/// </summary>
Success = 10,
/// <summary>
/// Warnung - ORANGE
/// </summary>
Warning = 20,
/// <summary>
/// Fehler - ROT
/// </summary>
Alert = 30
}
/// <summary>
/// Online / Offline Status von Entitäten.
/// Kann für die Synchronisation verwendet werden.
/// So können z.B. Rubriken ein- oder ausgeschalten werden
/// </summary>
public enum OnlineStatus
{
/// <summary>
/// Offline
/// </summary>
Offline = 0,
/// <summary>
/// Online
/// </summary>
Online = 1
}
/// <summary>
/// Typ der FAQ - an wen richtet sich der Eintrag?
/// </summary>
public enum FaqType
{
/// <summary>
/// Hundebesitzer
/// </summary>
DogOwner = 10,
/// <summary>
/// DogWalker
/// </summary>
DogWalker = 20,
/// <summary>
/// Beide
/// </summary>
Both = 30
}
/// <summary>
/// Typ der Listung
/// </summary>
public enum ListingType
{
/// <summary>
/// Basis-Listung
/// </summary>
Base = 0,
/// <summary>
/// Silber-Listung
/// </summary>
Silver = 10,
/// <summary>
/// Gold-Listung
/// </summary>
Gold = 20,
/// <summary>
/// Platin-Listung
/// </summary>
Platin = 30
}
/// <summary>
/// Status der Listung
/// </summary>
public enum ListingStatus
{
/// <summary>
/// Entwurf
/// </summary>
Draft = 0,
/// <summary>
/// Reserviert
/// </summary>
Reserverd = 10,
/// <summary>
/// Zu bezahlen
/// </summary>
ToPay = 20,
/// <summary>
/// Gebucht
/// </summary>
Booked = 30,
/// <summary>
/// Laufend
/// </summary>
Running = 40,
/// <summary>
/// Beendet
/// </summary>
Ended = 50,
/// <summary>
/// Storniert
/// </summary>
Cancelled = 60
}
/// <summary>
/// Status der Werbung
/// </summary>
public enum AdvertisementStatus
{
/// <summary>
/// Entwurf
/// </summary>
Draft = 0,
/// <summary>
/// Zu bezahlen
/// </summary>
ToPay = 10,
/// <summary>
/// Gebucht
/// </summary>
Booked = 20,
/// <summary>
/// Laufend
/// </summary>
Running = 30,
/// <summary>
/// Beendet
/// </summary>
Ended = 40,
/// <summary>
/// Storniert
/// </summary>
Cancelled = 50
}
/// <summary>
/// Status eines Banners
/// </summary>
public enum BannerStatus
{
/// <summary>
/// Entwurf
/// </summary>
Draft = 0,
/// <summary>
/// Zu bezahlen
/// </summary>
ToPay = 10,
/// <summary>
/// Gebucht
/// </summary>
Booked = 20,
/// <summary>
/// Laufend
/// </summary>
Running = 30,
/// <summary>
/// Beendet
/// </summary>
Ended = 40,
/// <summary>
/// Storniert
/// </summary>
Cancelled = 50
}
/// <summary>
/// Status eines Pins
/// </summary>
public enum PinStatus
{
/// <summary>
/// Entwurf
/// </summary>
Draft = 0,
/// <summary>
/// Zu bezahlen
/// </summary>
ToPay = 10,
/// <summary>
/// Gebucht
/// </summary>
Booked = 20,
/// <summary>
/// Laufend
/// </summary>
Running = 30,
/// <summary>
/// Beendet
/// </summary>
Ended = 40,
/// <summary>
/// Storniert
/// </summary>
Cancelled = 50
}
/// <summary>
/// Geoeinschränkungen für Listungen und Werbungen
/// </summary>
public enum GeoMode
{
/// <summary>
/// Keine einschränkunge
/// </summary>
None = 0,
/// <summary>
/// Auf ein Land eingeschränkt
/// </summary>
Country = 10,
/// <summary>
/// Auf ein Land und Bundesland eingeschränkt
/// </summary>
CountryAndState = 20,
/// <summary>
/// Auf eine Geo-Location mit Radius eingeschränkt
/// </summary>
Location = 30
}
/// <summary>
/// Zahlungsarten
/// </summary>
public enum PaymentType
{
/// <summary>
/// Keine
/// </summary>
None = 0,
/// <summary>
/// Rechnung
/// </summary>
Invoice = 10,
/// <summary>
/// Klarna
/// </summary>
Klarna = 20,
/// <summary>
/// PayPal
/// </summary>
PayPal = 30
}
/// <summary>
/// Zahlungsstatus
/// </summary>
public enum PaymentStatus
{
/// <summary>
/// Kein Status
/// </summary>
None = 0,
/// <summary>
/// Anstehend - dafür ist noch eine einzahlung zu leisten
/// </summary>
Pending = 10,
/// <summary>
/// Authorisiert - die Einzahlung wurde gemacht und der Walk kann durchgeführt werden
/// </summary>
Authorized = 20,
/// <summary>
/// Bezahlt - Nach eine Walk wurde die Bezahlung überwiesen
/// </summary>
Paid = 30,
//// <summary>
//// Teilweise Rückerstattung
//// </summary>
//PartiallyRefunded = 35,
/// <summary>
/// Rückerstattet - Rückerstattet wegen einer Reklamation
/// </summary>
Refunded = 40,
/// <summary>
/// Entwertet - Storniert
/// </summary>
Voided = 50,
/// <summary>
/// Rückerstattet und von gehGassi bezahlt
/// </summary>
RefundendAndPayed = 60
}
/// <summary>
/// Auf welche Art und Weise eine Zahlung erfolgt ist
/// </summary>
public enum PayInType
{
/// <summary>
/// Kreditkarte CB, Visa, Mastercard
/// </summary>
CB_VISA_MASTERCARD = 1,
/// <summary>
/// American Express
/// </summary>
AMEX = 20,
/// <summary>
/// Diners
/// </summary>
DINERS = 30,
/// <summary>
/// Maestro Karte
/// </summary>
MAESTRO = 40,
/// <summary>
/// Klarna - Sofort
/// </summary>
KLARNA = 50,
/// <summary>
/// Giropay
/// </summary>
GIRO = 60,
/// <summary>
/// PayPal
/// </summary>
PAYPAL = 70
}
/// <summary>
/// Status einer Mangopay-Transaktion
/// </summary>
[Flags]
public enum PaymentTransactionStatus
{
/// <summary>
/// Undefiniert
/// </summary>
NotSpecified = 0,
/// <summary>
/// Erstellt
/// </summary>
CREATED = 1,
/// <summary>
/// Erfolgreich
/// </summary>
SUCCEEDED = 2,
/// <summary>
/// Gescheitert
/// </summary>
FAILED = 4,
}
/// <summary>
/// Typ der Transaktion
/// </summary>
public enum PaymentTransactionType
{
/// <summary>
/// Einzahlung
/// </summary>
PayIn,
/// <summary>
/// Bezahlung
/// </summary>
Pay,
/// <summary>
/// Rückzahlung
/// </summary>
Refund,
/// <summary>
/// Gebühr
/// </summary>
Fee
}
/// <summary>
/// Transaktionstyp bei Mangopay
/// </summary>
[Flags]
public enum MangoPayTransactionType
{
NotSpecified = 0,
PAYIN = 1,
PAYOUT = 2,
TRANSFER = 4,
}
/// <summary>
/// Status einer Bestellung
/// </summary>
public enum OrderStatus
{
/// <summary>
/// Anstehend
/// </summary>
Pending = 10,
/// <summary>
/// In Bearbeitung
/// </summary>
Processing = 20,
/// <summary>
/// Abgeschlossen
/// </summary>
Complete = 30,
/// <summary>
/// Storniert
/// </summary>
Cancelled = 40
}
/// <summary>
/// Lieferart
/// </summary>
public enum ShipmentType
{
/// <summary>
/// Kein Versand
/// </summary>
None = 1,
/// <summary>
/// Post
/// </summary>
Postal = 10
}
/// <summary>
/// Lieferstatus
/// </summary>
public enum ShipmentStatus
{
/// <summary>
/// Kein Versand
/// </summary>
ShippingNotRequired = 10,
/// <summary>
/// Noch nicht versendet
/// </summary>
NotYetShipped = 20,
/// <summary>
/// Teilweise versendet
/// </summary>
PartiallyShipped = 25,
/// <summary>
/// Versendet
/// </summary>
Shipped = 30,
/// <summary>
/// Zugestellt
/// </summary>
Delivered = 40
}
/// <summary>
/// Definiert die Sichtbarkeit von Shop-Items (Kategorien & Artikel) je nach Benutzergruppe
/// </summary>
public enum ShopVisibility
{
/// <summary>
/// Nicht sichtbar
/// </summary>
None = 0,
/// <summary>
/// Sichtbar für Kunden
/// </summary>
Customers = 1,
/// <summary>
/// Sichtbar für App-User Hundebesitzer
/// </summary>
AppUserDogOwner = 10,
/// <summary>
/// App-User - Hundeausführer
/// </summary>
AppUserDogWalker = 20,
/// <summary>
/// App-User - Hundebesitzer & Hundeausführer
/// </summary>
AppUserBoth = 30,
/// <summary>
/// Sichtbar für alle, also Kunden Hundebesitzer und Hundeausführer
/// </summary>
All = 100
}
/// <summary>
/// Produkttypen für die Unterscheidung für gehGassi
/// </summary>
public enum ProductType
{
/// <summary>
/// Physisches Produkt
/// </summary>
Physical = 1,
/// <summary>
/// Digitales Produkt / Download (z.B.: ein PDF)
/// </summary>
Download = 2,
/// <summary>
/// Eine Listung auf gehGassi
/// </summary>
Listing = 10,
/// <summary>
/// Eine Werbung auf gehGassi
/// </summary>
Advertisement = 20,
/// <summary>
/// Ein Pin auf gehGassi
/// </summary>
Pin = 30,
/// <summary>
/// Banner
/// </summary>
Banner = 40
}
/// <summary>
/// Art eines Preises für die Kalkulation
/// </summary>
public enum PriceType
{
/// <summary>
/// Je Stück
/// </summary>
Piece = 1,
/// <summary>
/// Je Tag
/// </summary>
Day = 10,
/// <summary>
/// Je Monat
/// </summary>
Month = 20,
/// <summary>
/// Je Jahr
/// </summary>
Year = 30,
/// <summary>
/// Je Jahr
/// </summary>
View = 40
}
/// <summary>
/// Wie sollen Preise berechnet werden, wenn ein Zeitraum unter dem Jahr gewählt wird
/// Es geht um mögliche Berechnungen eines aliquoten Anteils.
/// Z.B. Ein Jahr, wenn zum 1.1. aber erst später gebucht wird, dann nur Restmonate berechnen
/// </summary>
public enum PriceAliquotType
{
/// <summary>
/// Keine aliquote Berechnung möglich
/// </summary>
None = 1,
/// <summary>
/// Basierend auf Tagen
/// </summary>
Day = 10,
/// <summary>
/// Basierend auf Monaten
/// </summary>
Month = 20
}
/// <summary>
/// Wenn es sich um ein Produkt mit dem PreisTyp auf Zeitbasis handelt
/// </summary>
public enum ProductStartType
{
/// <summary>
/// Beliebiger Startzeitpunkt
/// </summary>
Any = 1,
/// <summary>
/// Der erste eines Monats
/// </summary>
FirstOfMonth,
/// <summary>
/// Der erste eines Jahres
/// </summary>
FirstOfYear
}
/// <summary>
/// Wo kann ein Banner plaziert werden
/// </summary>
public enum BannerLocation
{
/// <summary>
/// Keine
/// </summary>
None = 0,
/// <summary>
/// Homescreen
/// </summary>
Home = 1,
/// <summary>
/// Nachrichten
/// </summary>
Messages = 10,
/// <summary>
/// Termin anlegen
/// </summary>
Appointment = 20,
/// <summary>
/// Hundeprofil
/// </summary>
DogProfile = 30,
/// <summary>
/// Ende eines Walks
/// </summary>
WalkEnd = 40,
/// <summary>
/// Erstregistrierung
/// </summary>
Registration = 50,
/// <summary>
/// Favoriten
/// </summary>
Favorites = 60
}
/// <summary>
/// Banner-Größen
/// </summary>
public enum BannerSize
{
/// <summary>
/// Standard: 320 x 50
/// </summary>
Standard = 1,
/// <summary>
/// Groß: 320 x 90
/// </summary>
Large = 10,
/// <summary>
/// Medium rechteckig: 300 x 250
/// </summary>
MediumRectangular = 20
}
/// <summary>
/// Anrede
/// </summary>
public enum Salutation
{
/// <summary>
/// Frau
/// </summary>
Mrs = 1,
/// <summary>
/// Herr
/// </summary>
Mr = 2,
/// <summary>
/// Firma
/// </summary>
Company = 3
}
/// <summary>
/// Gibt an wer eine Bestellung durchgeführt hat
/// </summary>
public enum OrderSource
{
/// <summary>
/// Kunde - Werbepartner
/// </summary>
Customer = 1,
/// <summary>
/// App-User - Hundebesitzer
/// </summary>
AppUserDogOwner = 10,
/// <summary>
/// App-User - Hundeausführer
/// </summary>
AppUserDogWalker = 20,
/// <summary>
/// App-User - Hundebesitzer & Hundeausführer
/// </summary>
AppUserBoth = 30
}
/// <summary>
/// Art der Versandkostenberechnung
/// </summary>
public enum ShipmentCalculationType
{
/// <summary>
/// Nach Gewicht
/// </summary>
Weight = 1,
/// <summary>
/// Nach Zwischensumme
/// </summary>
Subtotal = 10
}
/// <summary>
/// Geschlecht eines Hunde
/// </summary>
public enum DogSex
{
/// <summary>
/// Rüde
/// </summary>
MaleDog = 1,
/// <summary>
/// Hündin
/// </summary>
FemaleDog = 2
}
/// <summary>
/// Größe eines Hundes
/// </summary>
public enum DogSize
{
/// <summary>
/// Kleiner Hund
/// </summary>
Small = 1,
/// <summary>
/// Mittelgroßer Hund
/// </summary>
Middle = 2,
/// <summary>
/// Großer Hund
/// </summary>
Big = 3,
/// <summary>
/// Riesenrasse
/// </summary>
Giant = 4
}
/// <summary>
/// Aggressionsgrad des Hundes
/// </summary>
public enum DogAggressionLevel
{
/// <summary>
/// Nieder
/// </summary>
Low = 1,
/// <summary>
/// Mittel
/// </summary>
Medium = 2,
/// <summary>
/// Hoch
/// </summary>
High = 3
}
/// <summary>
/// Fütterungszeiten für einen Hund
/// </summary>
public enum DogFeedingTimes{
/// <summary>
/// Morgens
/// </summary>
Morning = 1,
/// <summary>
/// Abends
/// </summary>
Evening = 2,
/// <summary>
/// Morgens & Abends
/// </summary>
Both = 3,
/// <summary>
/// Individuell
/// </summary>
Individual = 4
}
/// <summary>
/// Status einer News
/// </summary>
public enum NewsStatus
{
/// <summary>
/// Entwurf
/// </summary>
Draft = 0,
/// <summary>
/// Freizugeben
/// </summary>
ToApprove = 10,
/// <summary>
/// Abgelehnt
/// </summary>
Declined = 20,
/// <summary>
/// Genehmigt
/// </summary>
Approved = 30,
/// <summary>
/// Laufend
/// </summary>
Running = 40,
/// <summary>
/// Beendet
/// </summary>
Ended = 50,
/// <summary>
/// Manuell gestoppt
/// </summary>
Stopped = 100
}
/// <summary>
/// Definiert die Sichtbarkeit von News
/// </summary>
public enum NewsVisibility
{
/// <summary>
/// Nicht sichtbar
/// </summary>
None = 1,
/// <summary>
/// Sichtbar für Hundebesitzer
/// </summary>
DogOwners = 10,
/// <summary>
/// Sichtbar für Hundeausführer
/// </summary>
DogWalkers = 20,
/// <summary>
/// Sichtbar für Hundebesitzer und Hundeausführer
/// </summary>
DogWalkerAndOwners = 30
}
/// <summary>
/// Repräsentiert den Typen eines App-Users
/// </summary>
public enum AppUserType
{
/// <summary>
/// Hundebesitzer
/// </summary>
DogOwner = 10,
/// <summary>
/// Hundeausführer
/// </summary>
DogWalker = 20,
/// <summary>
/// Beides - Hundebesitzer und Hundeausführer
/// </summary>
Both = 30
}
/// <summary>
/// Arten von Dog-Walker Anfragen
/// </summary>
public enum DogWalkRequestType
{
/// <summary>
/// Akzeptiert gar keine Anfragen....
/// </summary>
None = 0,
/// <summary>
/// Ausführen
/// </summary>
Walking = 1,
/// <summary>
/// Sitting
/// </summary>
Sitting = 2,
/// <summary>
/// Beides
/// </summary>
Both = 3
}
/// <summary>
/// Definition von Rating-Zielen.
/// </summary>
public enum RatingTarget
{
/// <summary>
/// Hundebesitzer
/// </summary>
Owner = 0,
/// <summary>
/// Walker
/// </summary>
Walker = 1,
/// <summary>
/// Hund
/// </summary>
Dog = 2,
/// <summary>
/// Einen einzelnen Walk
/// </summary>
Walk = 3,
/// <summary>
/// Eine Tagesbetreuung
/// </summary>
DayCare = 4,
/// <summary>
/// Ein Sitting
/// </summary>
Sitting = 5
}
/// <summary>
/// Art der Statistik eines Banners
/// </summary>
public enum BannerStatisticType
{
/// <summary>
/// ein View = Impression
/// </summary>
View = 1,
/// <summary>
/// ein Klick
/// </summary>
Click = 10
}
/// <summary>
/// Status der offenen Anfrage
/// </summary>
public enum PublicWalkRequestStatus
{
/// <summary>
/// Offen
/// </summary>
Open = 1,
/// <summary>
/// vergeben
/// </summary>
Placed = 20,
/// <summary>
/// Abgelaufen
/// </summary>
TimedOut = 30,
/// <summary>
/// Storniert
/// </summary>
Cancelled = 40
}
/// <summary>
/// Art der öffentlichen Anfrage
/// </summary>
public enum PublicWalkRequestType
{
/// <summary>
/// Ausführen
/// </summary>
Walking = 1,
/// <summary>
/// Sitting
/// </summary>
Sitting = 2
}
/// <summary>
/// Status eines Angebotes für eine öffentliche Anfrage
/// </summary>
public enum PublicWalkResponseStatus
{
/// <summary>
/// Warten auf Antwort
/// </summary>
Awaiting = 1,
/// <summary>
/// Akzeptiert -> Walk erstellt
/// </summary>
Accepted = 10,
/// <summary>
/// Abgelehnt (vom Hundebesitzer)
/// </summary>
Declined = 20,
/// <summary>
/// Geschlossen -> entwender Timout oder jemand anderer hat den Zuschlag erhalten
/// </summary>
Closed = 30,
/// <summary>
/// Vom Walker storniert
/// </summary>
Cancelled = 40
}
public enum WalkType
{
/// <summary>
/// Anfrage basierend auf dem Schedule eine Walkers
/// </summary>
Scheduled = 1,
/// <summary>
/// Direkte Anfrage an einen Walker
/// </summary>
Direct = 2,
/// <summary>
/// Offene Anfrage an die Community
/// </summary>
OpenRequest = 3
}
/// <summary>
/// Welche Art von Service soll durchgeführt werden
/// </summary>
public enum WalkServiceType
{
/// <summary>
/// Walk
/// </summary>
Walking = 1,
/// <summary>
/// Sitting
/// </summary>
Sitting = 2,
/// <summary>
/// Daycare
/// </summary>
DayCare = 3
}
/// <summary>
/// Status eines Walks
/// </summary>
public enum WalkStatus
{
/// <summary>
/// Angefragt
/// </summary>
Requested = 1,
/// <summary>
/// Akzeptiert
/// </summary>
Accepted = 10,
/// <summary>
/// Abgelehnt
/// </summary>
Declined = 20,
/// <summary>
/// Storniert
/// </summary>
Cancelled = 30,
/// <summary>
/// Der Walk läuft
/// </summary>
Started = 40,
/// <summary>
/// Der Walk wurde beendet
/// </summary>
Completed = 50,
/// <summary>
/// Der Walk wurde vom Hundebesitzer oder dem System betätigt
/// </summary>
Confirmed = 60,
/// <summary>
/// Der Walk wurde reklamiert und es muss eine Lösung gesucht werden
/// </summary>
Complained= 70,
/// <summary>
/// Reklamation gelöst
/// </summary>
ComplainResolved = 80
}
/// <summary>
/// Status einer Reklamation
/// </summary>
public enum WalkComplaintStatus
{
/// <summary>
/// Offen
/// </summary>
Open = 1,
/// <summary>
/// In Bearbeitung
/// </summary>
InProgress = 10,
/// <summary>
/// Gelöst, Walker normal bezahlen
/// </summary>
Resolved_Pay = 20,
/// <summary>
/// Gelöst, Hundebesitzer bekommt Geld zurück
/// </summary>
Resolved_Refund = 30,
/// <summary>
/// Gelöst, Hundebesitzer bekommt Geld zurück, Walker bekommt Geld von gehgassi
/// </summary>
Resolved_Gehgassi = 40
}
/// <summary>
/// Art der Beschwerde
/// </summary>
public enum WalkComplaintType
{
/// <summary>
/// Der Walk/Das Sitting wurde nicht durchgeführt.
/// </summary>
NoWalk = 10,
/// <summary>
/// Der Walk/Das Sitting war zu kurz. (zu spät gestartet etc.)
/// </summary>
ShortWalk = 20,
/// <summary>
/// Der/Die Hunde/e sind in einem nicht akzeptablen Zustand retour gekommen.
/// </summary>
Condition = 30,
/// <summary>
/// Sonstiger Grund diesen Walk/Sitting betreffend.
/// </summary>
Other = 100
}
/// <summary>
/// Wer hat die Beschwerde eingereicht?
/// </summary>
public enum WalkComplaintSource
{
/// <summary>
/// Hundebesitzer
/// </summary>
DogOwner = 10,
/// <summary>
/// Hundeausführer
/// </summary>
DogWalker = 20,
}
/// <summary>
/// Wer hat etwas storniert
/// </summary>
public enum CancellationSource
{
/// <summary>
/// Nicht storniert
/// </summary>
None = 0,
/// <summary>
/// Hundebesitzer
/// </summary>
DogOwner = 1,
/// <summary>
/// Hundeausführer
/// </summary>
DogWalker = 2,
/// <summary>
/// von gehgassi / System
/// </summary>
GehGassi = 10
}
/// <summary>
/// Typ des Feedbacks
/// </summary>
public enum AppFeedbackType
{
/// <summary>
/// Problem
/// </summary>
Problem = 1,
/// <summary>
/// Idee
/// </summary>
Idea = 20,
/// <summary>
/// Ich mag
/// </summary>
Like = 33,
/// <summary>
/// Ich mag nicht
/// </summary>
DontLike = 40,
/// <summary>
/// Allgemein
/// </summary>
General = 100
}
/// <summary>
/// Status des Feedbacks
/// </summary>
public enum AppFeedbackStatus
{
/// <summary>
/// Offen
/// </summary>
Open = 1,
/// <summary>
/// Geschlossen
/// </summary>
Closed = 10,
/// <summary>
/// Ignorieren
/// </summary>
Ignore = 20
}
/// <summary>
/// Typ einer Systemnachricht
/// </summary>
public enum SystemMessageType
{
/// <summary>
/// Text-Nachricht
/// </summary>
Text = 1,
/// <summary>
/// Logout durchführen
/// </summary>
Logout = 10,
/// <summary>
/// Öffentliche Anfrage hat sich geändert
/// </summary>
PublicWalkRequestChanged = 100,
/// <summary>
/// Öffentliche Anfrage - Antwort hinzugefügt
/// </summary>
PublicWalkResponseAdded = 101,
/// <summary>
/// Öffentliche Anfrage - Antwort bearbeitet
/// </summary>
PublicWakResponseChanged = 102,
/// <summary>
/// Öffentliche Anfrage - Antwort storniert
/// </summary>
PublicWalkResponseCancelled = 103,
/// <summary>
/// Öffentliche Anfrage - Antwort abgelehnt
/// </summary>
PublicWalkResponseDeclined = 104,
/// <summary>
/// Öffentliche Anfrage storniert
/// </summary>
PublicWalkRequestCancelled = 105,
/// <summary>
/// Erinnerung an eine Öffentliche Anfrage, falls noch nicht angenommen oder storniert
/// </summary>
PublicWalkRequestReminder = 106,
/// <summary>
/// Walk hat sich geändert
/// </summary>
WalkChanged = 200,
/// <summary>
/// Ein Walk für einen Walker wurde hinzugefügt
/// </summary>
WalkAdded = 201,
/// <summary>
/// Ein Walk wurde storniert
/// </summary>
WalkCancelled = 202,
/// <summary>
/// Ein Walk wurde gestartet
/// </summary>
WalkStarted = 203,
/// <summary>
/// Ein Walk wurde beendet
/// </summary>
WalkCompleted = 204,
/// <summary>
/// Ein Walk wurde akzeptiert
/// </summary>
WalkAccepted = 205,
/// <summary>
/// Ein Walk wurde abgelehnt
/// </summary>
WalkDeclined = 206,
/// <summary>
/// Ein Walk wurde von einem Hundebesitzer angefragt
/// </summary>
WalkRequested = 207,
/// <summary>
/// Ein Walk sollte gestartet werden
/// </summary>
WalkStartReminder = 301,
/// <summary>
/// Ein Walk sollte abgeschlossen werden
/// </summary>
WalkCompleteReminder = 302,
/// <summary>
/// Ein Walk wurde bestätigt
/// </summary>
WalkConfirmed = 304,
/// <summary>
/// Ein Walk wurde reklamiert
/// </summary>
WalkComplained = 305,
/// <summary>
/// Ein Walk wurde reklamiert - Update
/// </summary>
WalkComplainedUpdate = 306,
/// <summary>
/// Eine Nachricht erhalten
/// </summary>
MessageReceived = 401,
/// <summary>
/// Identitätsprüfung aktualisiert
/// </summary>
IdentityDocumentUpdate = 501,
/// <summary>
/// Auszahlung aktualisiert
/// </summary>
PayoutUpdate = 601,
}
/// <summary>
/// Notification-Plattform die verwendet werden soll.
/// Das ist vom Typ des Gerätes abhängig
/// </summary>
public enum NotificationPlatform
{
/// <summary>
/// Windows Pushnotification
/// </summary>
Wns = 1,
/// <summary>
/// Apple Pushnotification
/// </summary>
Apns = 2,
/// <summary>
/// Microsoft Pushnotification
/// </summary>
Mpns = 3,
/// <summary>
/// Google Pushnotification (Firebase)
/// </summary>
Fcm = 4,
/// <summary>
/// Amazon Pushnotification
/// </summary>
Adm = 5,
/// <summary>
/// Baidu Pushnotification (Huawei)
/// </summary>
Baidu = 6,
/// <summary>
/// Google Pushnotification (Firebase) V1
/// </summary>
FcmV1 = 9
}
/// <summary>
/// Plattform die verwendet wird
/// </summary>
public enum Platform
{
/// <summary>
/// Windows
/// </summary>
Windows = 1,
/// <summary>
/// Apple - Mac
/// </summary>
Mac = 2,
/// <summary>
/// Apple - IOS
/// </summary>
Ios = 3,
/// <summary>
/// Google - Android
/// </summary>
Android = 4
}
/// <summary>
/// Typ des Wallets
/// </summary>
public enum WalletType
{
/// <summary>
/// Gebühren - wird für Überweisungen an andere verwendet
/// </summary>
Fees = 1,
/// <summary>
/// Guthaben
/// </summary>
Credits = 2,
/// <summary>
/// Transaktionskonto für Kunden
/// </summary>
CustomerTransaction = 10,
/// <summary>
/// Guthabenkonto für Kunden
/// </summary>
CustomerCredits = 11,
/// <summary>
/// Transaktionskonto für Kunden
/// </summary>
CustomerTransactionVoucherCampaign = 20,
/// <summary>
/// Guthabenkonto für Kunden
/// </summary>
CustomerCreditsVoucherCampaign = 21,
}
/// <summary>
/// Typ des Quelldokumentes
/// </summary>
public enum IdentityDocumentSource
{
/// <summary>
/// Pass
/// </summary>
Passport = 1,
/// <summary>
/// Aufenthaltsgenehmigung
/// </summary>
ResidencyCard = 2,
/// <summary>
/// Personalausweis / ID-Karte
/// </summary>
IdentityCard = 3,
/// <summary>
/// Führerschein
/// </summary>
DrivingLicense = 4
}
/// <summary>
/// Typ des Dokumentes für die KYC-Prüfung
/// </summary>
[Flags]
public enum IdentityDocumentType
{
NotSpecified = 0,
IDENTITY_PROOF = 1,
REGISTRATION_PROOF = 2,
ARTICLES_OF_ASSOCIATION = 4,
SHAREHOLDER_DECLARATION = 8,
ADDRESS_PROOF = 16, // 0x00000010
}
/// <summary>
/// Status des Dokumentes für die KYC-Prüfung
/// </summary>
[Flags]
public enum IdentityDocumentStatus
{
NotSpecified = 0,
CREATED = 1,
VALIDATION_ASKED = 2,
VALIDATED = 4,
REFUSED = 8,
OUT_OF_DATE = 16, // 0x00000010
}
/// <summary>
/// Kartentypen
/// </summary>
public enum CardType
{
NotSpecified,
CB_VISA_MASTERCARD,
AMEX,
DINERS,
MASTERPASS,
MAESTRO,
P24,
IDEAL,
BCMC,
PAYLIB,
}
/// <summary>
/// Gültigkeit einer Karte
/// </summary>
public enum Validity
{
NotSpecified,
UNKNOWN,
VALID,
INVALID,
}
/// <summary>
/// Status einer Meldung
/// </summary>
public enum AppUserReportStatus
{
/// <summary>
/// Offfen
/// </summary>
Open = 10,
/// <summary>
/// In Bearbeitung
/// </summary>
Processing = 20,
/// <summary>
/// Abgelehnt
/// </summary>
Rejected = 30,
/// <summary>
/// Geschlossen ohne Aktion
/// </summary>
ClosedNoAction = 40,
/// <summary>
/// Geschlossen und für eine bestimmte Zeit gesperrt
/// </summary>
ClosedLockedForTime = 50,
/// <summary>
/// Geschlossen und für immer gesperrt
/// </summary>
ClosedLockedForever = 60,
/// <summary>
/// Geschlossen und Inhalt bearbeitet
/// </summary>
ClosedContentEdited = 100,
/// <summary>
/// Geschlossen und Inhalt gelöscht
/// </summary>
ClosedContentDeleted = 110,
/// <summary>
/// Wiedereröffnet
/// </summary>
Reopened = 200
}
/// <summary>
/// Bereich der von der Meldung betroffen ist
/// Ist abhängig davon wo in der App die Meldung erstellt wurde.
/// Beeinflusst auch, welche Felder/Infos gemeldet werden können.
/// </summary>
public enum AppUserReportSection
{
/// <summary>
/// Hundeprofil
/// </summary>
ProfileDog = 10,
/// <summary>
/// Konversationen
/// </summary>
Conversations = 20,
/// <summary>
/// Nachrichten
/// </summary>
Messages = 30,
/// <summary>
/// Konversation anlegen
/// </summary>
ConversationCreate = 40,
/// <summary>
/// Profil Hundebesitzer
/// </summary>
ProfileDogOwner = 50,
/// <summary>
/// Ratings Hund
/// </summary>
RatingsDog = 60,
/// <summary>
/// Ratings Hundebesitzer
/// </summary>
RatingsDogOwner = 70,
/// <summary>
/// Meine Ratings
/// </summary>
RatingsMy = 80,
/// <summary>
/// Ratings Walker
/// </summary>
RatingsWalker = 90,
/// <summary>
/// Walker Suche
/// </summary>
WalkersSearch = 100,
/// <summary>
/// Öffentliche Anfragen Suche für Walker
/// </summary>
JobsSearch = 105,
/// <summary>
/// Walker Profil
/// </summary>
ProfileWalker = 110,
/// <summary>
/// Offene Anfrage Hundebesitzer
/// </summary>
OpenRequestDogOwner = 120,
/// <summary>
/// Offene Anfrage Walker
/// </summary>
OpenRequestWalker = 130,
/// <summary>
/// Antwort auf offene Anfrage
/// </summary>
OpenRequestResponse = 140,
/// <summary>
/// Walks Hundebesitzer
/// </summary>
WalksDogOwner = 150,
/// <summary>
/// Offene Anfrage Hundebesitzer Details
/// </summary>
OpenRequestDogOwnerDetails = 160,
/// <summary>
/// Offene Anfrage Walker Details
/// </summary>
OpenRequestWalkerDetails = 170,
/// <summary>
/// Offene Anfrage Antworten
/// </summary>
OpenRequestResponses = 180,
/// <summary>
/// Walks Walker
/// </summary>
WalksWalker = 190,
/// <summary>
/// Walk Details Hundebesitzer
/// </summary>
WalkDetailDogOwner = 200,
/// <summary>
/// Walk Details Walker
/// </summary>
WalkDetailsWalker = 210,
/// <summary>
/// Favoriten Hundebesitzer
/// </summary>
FavouritesDogOwner = 220,
/// <summary>
/// Favoriten Walker
/// </summary>
FavouritesWalker = 230,
/// <summary>
/// Home Hundebesitzer
/// </summary>
HomeDogOwner = 240,
/// <summary>
/// Home Walker
/// </summary>
HomeWalker = 250
}
/// <summary>
/// Typ der Meldung
/// </summary>
public enum AppUserReportType
{
/// <summary>
/// Anstößiger Inhalt
/// </summary>
Objectionable = 10,
/// <summary>
/// Politisch inkorrekt
/// </summary>
PoliticallyIncorrect = 20,
/// <summary>
/// Obszön
/// </summary>
Obscene = 30,
/// <summary>
/// Unkorrekte Angabe
/// </summary>
IncorrectData = 40,
/// <summary>
/// Aufdringlich
/// </summary>
Intrusive = 50
}
/// <summary>
/// Wie soll eine Blockierung bei einer Meldung durchgeführt werden
/// </summary>
public enum AppUserReportBlockType
{
/// <summary>
/// Nicht blockieren
/// </summary>
NoBlock = 1,
/// <summary>
/// für eine bestimmte Zeit blockieren
/// </summary>
BlockForTime = 2,
/// <summary>
/// für immer blockieren
/// </summary>
BlockForever = 3
}
/// <summary>
/// Art der Coins-Transaktion
/// </summary>
public enum CoinsTransactionType
{
/// <summary>
/// Einzahlung
/// </summary>
Deposit = 1,
/// <summary>
/// Auszahlung
/// </summary>
Withdrawal = 2,
/// <summary>
/// Topfgewinn
/// </summary>
PotWin = 10
}
/// <summary>
/// Status eines Gutschein Kampagne
/// </summary>
public enum VoucherCampaignStatus
{
/// <summary>
/// Entwurf
/// </summary>
Draft = 0,
/// <summary>
/// Zu bezahlen
/// </summary>
ToPay = 10,
/// <summary>
/// Gebucht
/// </summary>
Booked = 20,
/// <summary>
/// Laufend
/// </summary>
Running = 30,
/// <summary>
/// Beendet
/// </summary>
Ended = 40,
/// <summary>
/// Storniert
/// </summary>
Cancelled = 50
}
/// <summary>
/// Typ einer Gutschein Kampagne
/// </summary>
public enum VoucherCampaignType
{
/// <summary>
/// Ein Gutschein für alle
/// </summary>
SingleVoucher = 0,
/// <summary>
/// Mehrere Gutscheine je Nach Anzahl
/// </summary>
MultiVoucher = 10
}
/// <summary>
/// Validierungs-Ergebnis eines Gutscheins
/// </summary>
public enum VoucherValidationResult
{
/// <summary>
/// Gültig
/// </summary>
Valid = 1,
/// <summary>
/// Kampagne ist abgelaufen
/// </summary>
CampaignNotStarted = 10,
/// <summary>
/// Kampagne ist abgelaufen
/// </summary>
CampaignEnded = 20,
/// <summary>
/// Das Budget wurde aufgebraucht
/// </summary>
CampaignBudgetUsedUp = 30,
/// <summary>
/// Die maximale Anzahl an Verwendungen des Benutzers wurde erreicht
/// </summary>
MaxUsageReached = 40,
/// <summary>
/// Der Gutschein wurde verbraucht
/// </summary>
VoucherAlreadyUsed = 50,
/// <summary>
/// Der Gutschein wird außerhalb der Geo-Einschränkungen verwendet
/// </summary>
LocationNotAllowed = 60,
/// <summary>
/// Ungültiger Code
/// </summary>
Invalid = 90,
/// <summary>
/// Unbekanntes Problem
/// </summary>
Unknown = 100
}
/// <summary>
/// Status der Verwendung eines Gutscheins.
/// Wird wegen der Reservierung des Betrages vom Konto der Kampagne benötigt
/// </summary>
public enum VoucherUsageStatus
{
/// <summary>
/// Unbekannt
/// </summary>
Unknown = 0,
/// <summary>
/// Reserviert
/// </summary>
Reserved = 1,
/// <summary>
/// Verwendet
/// </summary>
Used = 2,
}
/// <summary>
/// Länge des Abonnements
/// </summary>
public enum SubscriptionLength
{
/// <summary>
/// Eine Woche
/// </summary>
OneWeek = 1,
/// <summary>
/// Ein Monat
/// </summary>
OneMonth = 2,
/// <summary>
/// Zwei Monate
/// </summary>
TwoMonths = 3,
/// <summary>
/// Drei Monate
/// </summary>
ThreeMonths = 4,
/// <summary>
/// Sechs Monate
/// </summary>
SixMonths = 5,
/// <summary>
/// Ein Jahr
/// </summary>
OneYear = 6
}
}