using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace gehGassiApp.Domain.Common { /// /// Modus in welchem sich die App befindet. /// Ist wichtig für die Abfrage von Daten wenn der Benutzer beides ist /// public enum AppMode { /// /// Hundebesitzer /// DogOwner = 10, /// /// Hundeausführer /// DogWalker = 20 } /// /// Geschlecht /// public enum Sex { /// /// Undefiniert /// Undefined = 0, /// /// Männlich /// Male = 1, /// /// Weiblich /// Female = 2, /// /// Divers /// Diverse = 3, /// /// Inter /// Inter = 4, /// /// Offen /// Open = 5 } /// /// Online / Offline Status von Entitäten. /// Kann für die Synchronisation verwendet werden. /// So können z.B. Rubriken ein- oder ausgeschalten werden /// public enum OnlineStatus { /// /// Offline /// Offline = 0, /// /// Online /// Online = 1 } /// /// Repräsentiert den Typen eines App-Users /// public enum AppUserType { /// /// Hundebesitzer /// DogOwner = 10, /// /// Hundeausführer /// DogWalker = 20, /// /// Beides - Hundebesitzer und Hundeausführer /// Both = 30 } /// /// Status des Anlegens eines Datensatzes /// public enum CreateStatus { /// /// Erfolg /// Success = 1, /// /// Existiert bereits /// Exists = 2, /// /// Fehler /// Error = 0 } /// /// Wer hat etwas storniert /// public enum CancellationSource { /// /// Nicht storniert /// None = 0, /// /// Hundebesitzer /// DogOwner = 1, /// /// Hundeausführer /// DogWalker = 2, /// /// von gehgassi / System /// GehGassi = 10 } /// /// Zahlungsart für einen Walk /// public enum WalkPaymentType { /// /// Mit MangoPay bezahlen (z.B. Kreditkarte) /// MangoPay = 1, /// /// Barzahlung /// Cash = 10 } /// /// Zahlungsstatus in der App /// public enum PaymentStatus { /// /// Kein Status /// None = 0, /// /// Anstehend /// Pending = 10, /// /// Authorisiert /// Authorized = 20, /// /// Bezahlt /// Paid = 30, ///// ///// Teilweise Rückerstattung ///// //PartiallyRefunded = 35, /// /// Rückerstattet /// Refunded = 40, /// /// Entwertet /// Voided = 50, /// /// Rückerstattet und von gehGassi bezahlt /// RefundendAndPayed = 60 } /// /// Art der Walk "Anfrage" /// public enum WalkType { /// /// Anfrage basierend auf dem Schedule eine Walkers /// Scheduled = 1, /// /// Direkte Anfrage an einen Walker /// Direct = 2, /// /// Offene Anfrage an die Community /// OpenRequest = 3 } /// /// Welche Art von Service soll durchgeführt werden /// public enum WalkServiceType { /// /// Walk /// Walking = 1, /// /// Sitting /// Sitting = 2, /// /// Daycare /// DayCare = 3 } /// /// Status eines Walks /// public enum WalkStatus { /// /// Angefragt /// Requested = 1, /// /// Akzeptiert /// Accepted = 10, /// /// Abgelehnt /// Declined = 20, /// /// Storniert /// Cancelled = 30, /// /// Der Walk läuft /// Started = 40, /// /// Der Walk wurde beendet /// Completed = 50, /// /// Der Walk wurde vom Hundebesitzer oder dem System betätigt /// Confirmed = 60, /// /// Der Walk wurde reklamiert und es muss eine Lösung gesucht werden /// Complained = 70, /// /// Reklamation gelöst /// ComplainResolved = 80 } /// /// Art der Beschwerde /// public enum WalkComplaintType { /// /// Der Walk/Das Sitting wurde nicht durchgeführt. /// NoWalk = 10, /// /// Der Walk/Das Sitting war zu kurz. (zu spät gestartet etc.) /// ShortWalk = 20, /// /// Der/Die Hunde/e sind in einem nicht akzeptablen Zustand retour gekommen. /// Condition = 30, /// /// Sonstiger Grund diesen Walk/Sitting betreffend. /// Other = 100 } /// /// Status einer Reklamation /// public enum WalkComplaintStatus { /// /// Offen /// Open = 1, /// /// In Bearbeitung /// InProgress = 10, /// /// Gelöst, Walker normal bezahlen /// Resolved_Pay = 20, /// /// Gelöst, Hundebesitzer bekommt Geld zurück /// Resolved_Refund = 30, /// /// Gelöst, Hundebesitzer bekommt Geld zurück, Walker bekommt Geld von gehgassi /// Resolved_Gehgassi = 40 } /// /// Wer hat die Beschwerde eingereicht? /// public enum WalkComplaintSource { /// /// Hundebesitzer /// DogOwner = 10, /// /// Hundeausführer /// DogWalker = 20, } /// /// Bewertungsstatus einer Entität /// public enum RatingStatus { /// /// Noch nicht bewertet /// NotRated = 1, /// /// Bewertet /// Rated = 2 } /// /// Enum für den Register-Wizard /// public enum RegisterStep { /// /// Benutzername Passwort /// Step1 = 1, /// /// Auswahl Owner oder Walker /// Step2 = 2, /// /// Vor- und Nachname, Sex und Geburtsdatum + Bild /// Step3 = 3, /// /// Adresse Land und Bundesland /// Step4 = 4 } /// /// Wo kann ein Banner plaziert werden /// public enum BannerLocation { /// /// Keine /// None = 0, /// /// Homescreen /// Home = 1, /// /// Nachrichten /// Messages = 10, /// /// Termin anlegen /// Appointment = 20, /// /// Hundeprofil /// DogProfile = 30, /// /// Ende eines Walks /// WalkEnd = 40, /// /// Erstregistrierung /// Registration = 50, /// /// Favoriten /// Favorites = 60 } /// /// Banner-Größen /// public enum BannerSize { /// /// Standard: 320 x 50 /// Standard = 1, /// /// Groß: 320 x 90 /// Large = 10, /// /// Medium rechteckig: 300 x 250 /// MediumRectangular = 20 } /// /// Status eines Banners /// public enum BannerStatus { /// /// Entwurf /// Draft = 0, /// /// Zu bezahlen /// ToPay = 10, /// /// Gebucht /// Booked = 20, /// /// Laufend /// Running = 30, /// /// Beendet /// Ended = 40, /// /// Storniert /// Cancelled = 50 } /// /// Geschlecht eines Hunde /// public enum DogSex { /// /// Rüde /// MaleDog = 1, /// /// Hündin /// FemaleDog = 2 } /// /// Größe eines Hundes /// public enum DogSize { /// /// Kleiner Hund /// Small = 1, /// /// Mittelgroßer Hund /// Middle = 2, /// /// Großer Hund /// Big = 3, /// /// Riesenrasse /// Giant = 4 } /// /// Aggressionsgrad des Hundes /// public enum DogAggressionLevel { /// /// Nieder /// Low = 1, /// /// Mittel /// Medium = 2, /// /// Hoch /// High = 3 } /// /// Fütterungszeiten für einen Hund /// public enum DogFeedingTimes { /// /// Morgens /// Morning = 1, /// /// Abends /// Evening = 2, /// /// Morgens und Abends /// Both = 3, /// /// Individuell /// Individual = 4 } /// /// Arten von Dog-Walker Anfragen /// public enum DogWalkRequestType { /// /// Akzeptiert gar keine Anfragen.... /// None = 0, /// /// Ausführen /// Walking = 1, /// /// Sitting /// Sitting = 2, /// /// Beides /// Both = 3 } /// /// Art der öffentlichen Anfrage /// public enum PublicWalkRequestType { /// /// Ausführen /// Walking = 1, /// /// Sitting /// Sitting = 2 } /// /// Status der offenen Anfrage /// public enum PublicWalkRequestStatus { /// /// Offen /// Open = 1, /// /// vergeben /// Placed = 20, /// /// Abgelaufen /// TimedOut = 30, /// /// Storniert /// Cancelled = 40 } /// /// Status eines Angebotes für eine öffentliche Anfrage /// public enum PublicWalkResponseStatus { /// /// Warten auf Antwort /// Awaiting = 1, /// /// Akzeptiert -> Walk erstellt /// Accepted = 10, /// /// Abgelehnt (vom Hundebesitzer) /// Declined = 20, /// /// Geschlossen -> entwender Timout oder jemand anderer hat den Zuschlag erhalten /// Closed = 30, /// /// Vom Walker storniert /// Cancelled = 40 } /// /// Sortierrichtung /// public enum SortDirection { /// /// Aufsteigend /// Ascending = 1, /// /// Absteigend /// Descending = 2 } /// /// Definition von Rating-Zielen. /// public enum RatingTarget { /// /// Hundebesitzer /// Owner = 0, /// /// Walker /// Walker = 1, /// /// Hund /// Dog = 2, /// /// Einen einzelnen Walk /// Walk = 3, /// /// Eine Tagesbetreuung /// DayCare = 4, /// /// Ein Sitting /// Sitting = 5 } /// /// Typ des Feedbacks /// public enum AppFeedbackType { /// /// Problem /// Problem = 1, /// /// Idee /// Idea = 20, /// /// Ich mag /// Like = 33, /// /// Ich mag nicht /// DontLike = 40, /// /// Allgemein /// General = 100 } /// /// Status des Feedbacks /// public enum AppFeedbackStatus { /// /// Offen /// Open = 1, /// /// Geschlossen /// Closed = 10, /// /// Ignorieren /// Ignore = 20 } /// /// Typ einer Systemnachricht /// public enum SystemMessageType { /// /// Text-Nachricht /// Text = 1, /// /// Logout durchführen /// Logout = 10, /// /// Öffentliche Anfrage hat sich geändert /// PublicWalkRequestChanged = 100, /// /// Öffentliche Anfrage - Antwort hinzugefügt /// PublicWalkResponseAdded = 101, /// /// Öffentliche Anfrage - Antwort bearbeitet /// PublicWakResponseChanged = 102, /// /// Öffentliche Anfrage - Antwort storniert /// PublicWalkResponseCancelled = 103, /// /// Öffentliche Anfrage - Antwort abgelehnt /// PublicWalkResponseDeclined = 104, /// /// Öffentliche Anfrage storniert /// PublicWalkRequestCancelled = 105, /// /// Erinnerung an eine Öffentliche Anfrage, falls noch nicht angenommen oder storniert /// PublicWalkRequestReminder = 106, /// /// Walk hat sich geändert /// WalkChanged = 200, /// /// Ein Walk für einen Walker wurde hinzugefügt /// WalkAdded = 201, /// /// Ein Walk wurde storniert /// WalkCancelled = 202, /// /// Ein Walk für einen Walker wurde hinzugefügt /// WalkStarted = 203, /// /// Ein Walk für einen Walker wurde hinzugefügt /// WalkCompleted = 204, /// /// Ein Walk wurde akzeptiert /// WalkAccepted = 205, /// /// Ein Walk wurde abgelehnt /// WalkDeclined = 206, /// /// Ein Walk wurde von einem Hundebesitzer angefragt /// WalkRequested = 207, /// /// Ein Walk sollte gestartet werden /// WalkStartReminder = 301, /// /// Ein Walk sollte abgeschlossen werden /// WalkCompleteReminder = 302, /// /// Ein Walk wurde bestätigt /// WalkConfirmed = 304, /// /// Ein Walk wurde reklamiert /// WalkComplained = 305, /// /// Ein Walk wurde reklamiert - Update /// WalkComplainedUpdate = 306, /// /// Eine Nachricht erhalten /// MessageReceived = 401, /// /// Identitätsprüfung aktualisiert /// IdentityDocumentUpdate = 501, /// /// Auszahlung aktualisiert /// PayoutUpdate = 601, } /// /// Notification-Plattform die verwendet werden soll. /// Das ist vom Typ des Gerätes abhängig /// public enum NotificationPlatform { /// /// Windows Pushnotification /// Wns = 1, /// /// Apple Pushnotification /// Apns = 2, /// /// Microsoft Pushnotification /// Mpns = 3, /// /// Google Pushnotification (Firebase) /// Fcm = 4, /// /// Amazon Pushnotification /// Adm = 5, /// /// Baidu Pushnotification (Huawei) /// Baidu = 6, /// /// Google Pushnotification (Firebase) V1 /// FcmV1 = 9 } /// /// Plattform die verwendet wird /// public enum Platform { /// /// Windows /// Windows = 1, /// /// Apple - Mac /// Mac = 2, /// /// Apple - IOS /// Ios = 3, /// /// Google - Android /// Android = 4 } /// /// Typ des Wallets /// public enum WalletType { /// /// Gebühren - wird für Überweisungen an andere verwendet /// Fees = 1, /// /// Guthaben /// Credits = 2 } /// /// Auf welche Art und Weise eine Zahlung erfolgt ist /// public enum PayInType { /// /// Kreditkarte CB, Visa, Mastercard /// CB_VISA_MASTERCARD = 1, /// /// American Express /// AMEX = 20, /// /// Diners /// DINERS = 30, /// /// Maestro Karte /// MAESTRO = 40, /// /// Klarna - Sofort /// KLARNA = 50, /// /// Giropay /// GIRO = 60, /// /// PayPal /// PAYPAL = 70 } /// /// Typ des Quelldokumentes /// public enum IdentityDocumentSource { /// /// Pass /// Passport = 1, /// /// Aufenthaltsgenehmigung /// ResidencyCard = 2, /// /// Personalausweis / ID-Karte /// IdentityCard = 3, /// /// Führerschein /// DrivingLicense = 4 } /// /// Typ des Dokumentes für die KYC-Prüfung /// [Flags] public enum IdentityDocumentType { NotSpecified = 0, IDENTITY_PROOF = 1, REGISTRATION_PROOF = 2, ARTICLES_OF_ASSOCIATION = 4, SHAREHOLDER_DECLARATION = 8, ADDRESS_PROOF = 16, // 0x00000010 } /// /// Status des Dokumentes für die KYC-Prüfung /// [Flags] public enum IdentityDocumentStatus { NotSpecified = 0, CREATED = 1, VALIDATION_ASKED = 2, VALIDATED = 4, REFUSED = 8, OUT_OF_DATE = 16, // 0x00000010 } /// /// Status einer Mangopay-Transaktion /// [Flags] public enum PaymentTransactionStatus { /// /// Undefiniert /// NotSpecified = 0, /// /// Erstellt /// CREATED = 1, /// /// Erfolgreich /// SUCCEEDED = 2, /// /// Gescheitert /// FAILED = 4, } /// /// Auflistung der Anzeigemöglichkeiten bei Walks /// public enum WalkShowType { /// /// Walks /// Walks = 1, /// /// Öffentliche Anfragen /// PublicWalkRequest = 2, /// /// Direkte Anfragen /// Request = 3 } /// /// 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. /// public enum AppUserReportSection { /// /// Hundeprofil /// ProfileDog = 10, /// /// Konversationen /// Conversations = 20, /// /// Nachrichten /// Messages = 30, /// /// Konversation anlegen /// ConversationCreate = 40, /// /// Profil Hundebesitzer /// ProfileDogOwner = 50, /// /// Ratings Hund /// RatingsDog = 60, /// /// Ratings Hundebesitzer /// RatingsDogOwner = 70, /// /// Meine Ratings /// RatingsMy = 80, /// /// Ratings Walker /// RatingsWalker = 90, /// /// Walker Suche /// WalkersSearch = 100, /// /// Öffentliche Anfragen Suche für Walker /// JobsSearch = 105, /// /// Walker Profil /// ProfileWalker = 110, /// /// Offene Anfrage Hundebesitzer /// OpenRequestDogOwner = 120, /// /// Offene Anfrage Walker /// OpenRequestWalker = 130, /// /// Antwort auf offene Anfrage /// OpenRequestResponse = 140, /// /// Walks Hundebesitzer /// WalksDogOwner = 150, /// /// Offene Anfrage Hundebesitzer Details /// OpenRequestDogOwnerDetails = 160, /// /// Offene Anfrage Walker Details /// OpenRequestWalkerDetails = 170, /// /// Offene Anfrage Antworten /// OpenRequestResponses = 180, /// /// Walks Walker /// WalksWalker = 190, /// /// Walk Details Hundebesitzer /// WalkDetailDogOwner = 200, /// /// Walk Details Walker /// WalkDetailsWalker = 210, /// /// Favoriten Hundebesitzer /// FavouritesDogOwner = 220, /// /// Favoriten Walker /// FavouritesWalker = 230, /// /// Home Hundebesitzer /// HomeDogOwner = 240, /// /// Home Walker /// HomeWalker = 250 } /// /// Typ der Meldung /// public enum AppUserReportType { /// /// Anstößiger Inhalt /// Objectionable = 10, /// /// Politisch inkorrekt /// PoliticallyIncorrect = 20, /// /// Obszön /// Obscene = 30, /// /// Unkorrekte Angabe /// IncorrectData = 40, /// /// Aufdringlich /// Intrusive = 50 } /// /// Wie soll eine Blockierung bei einer Meldung durchgeführt werden /// public enum AppUserReportBlockType { /// /// Nicht blockieren /// NoBlock = 1, /// /// für eine bestimmte Zeit blockieren /// BlockForTime = 2, /// /// für immer blockieren /// BlockForever = 3 } /// /// Typ einer Gutschein Kampagne /// public enum VoucherCampaignType { /// /// Ein Gutschein für alle /// SingleVoucher = 0, /// /// Mehrere Gutscheine je Nach Anzahl /// MultiVoucher = 10 } /// /// Validierungs-Ergebnis eines Gutscheins /// public enum VoucherValidationResult { /// /// Gültig /// Valid = 1, /// /// Kampagne ist abgelaufen /// CampaignNotStarted = 10, /// /// Kampagne ist abgelaufen /// CampaignEnded = 20, /// /// Das Budget wurde aufgebraucht /// CampaignBudgetUsedUp = 30, /// /// Die maximale Anzahl an Verwendungen des Benutzers wurde erreicht /// MaxUsageReached = 40, /// /// Der Gutschein wurde verbraucht /// VoucherAlreadyUsed = 50, /// /// Der Gutschein wird außerhalb der Geo-Einschränkungen verwendet /// LocationNotAllowed = 60, /// /// Ungültiger Code /// Invalid = 90, /// /// Unbekanntes Problem /// Unknown = 100 } /// /// Länge des Abonnements /// public enum SubscriptionLength { /// /// Eine Woche /// OneWeek = 1, /// /// Ein Monat /// OneMonth = 2, /// /// Zwei Monate /// TwoMonths = 3, /// /// Drei Monate /// ThreeMonths = 4, /// /// Sechs Monate /// SixMonths = 5, /// /// Ein Jahr /// OneYear = 6 } }