{
  "USER_CREATED": "User created successfully",
  "USER_NOT_FOUND": "User not found",
  "LOGIN_SUCCESS": "Login successful",
  "LOGIN_FAILED": "Login failed",
  "TRANSLATION_FETCHED": "Translation fetched successfully",
  "SOMETHING_WENT_WRONG": "Something went wrong",
  "VALIDATION_ERROR": "Validation error",
  "UNAUTHORIZED": "Unauthorized access",
  "FORBIDDEN": "Access forbidden",
  "INVALID_CREDENTIALS": "Invalid credentials",
  "EMAIL_NOT_VERIFIED": "Please verify your email first",
  "COUNTRY_CODE_REQUIRED": "Country code is required for phone number login",
  "INVALID_PHONE_EMAIL": "Invalid email or phone number format",
  "OTP_SENT_EMAIL": "OTP sent to your email. Please verify to complete registration.",
  "EMAIL_ALREADY_REGISTERED": "Email already registered. Please login.",
  "INVALID_SIGNUP_TOKEN": "Invalid or missing signup token. Please signup first.",
  "INVALID_OTP": "Invalid OTP",
  "OTP_EXPIRED": "OTP expired. Please request a new one.",
  "REGISTRATION_SUCCESS": "Registration successful! Email verified and account created.",
  "INVALID_EMAIL_PASSWORD": "Invalid email or password",
  "PROFILE_UPDATED": "Profile updated successfully",
  "INVALID_LANGUAGE": "Invalid language. Must be en or hi",
  "EMAIL_ALREADY_EXISTS": "Email already registered",
  "OTP_SENT_NEW_EMAIL": "OTP sent to your new email. Please verify to complete update.",
  "OTP_SENT_PHONE": "OTP sent to your new phone number. Please verify to complete update.",
  "PHONE_NOT_SET": "Phone number not set. Please update phone number first.",
  "NEW_OTP_SENT_PHONE": "New OTP sent to your phone number.",
  "INVALID_UPDATE_TOKEN": "Invalid or missing update token. Please request update first.",
  "EMAIL_VERIFIED_SUCCESS": "Email verified successfully!",
  "PHONE_VERIFIED_SUCCESS": "Phone number verified successfully!",
  "INVALID_TOKEN_TYPE": "Invalid token type",
  "NO_ACCOUNT_EMAIL": "No account found with this email",
  "NO_ACCOUNT_PHONE": "No account found with this phone number",
  "OTP_SENT_RESET": "OTP sent to your email/phone. Please verify to reset password.",
  "OTP_SENT_RESET_EMAIL": "OTP sent to your email. Please verify to reset password.",
  "OTP_VERIFY_SUCCESS": "OTP verified successfully. You can now reset your password.",
  "PASSWORD_CHANGED_SUCCESS": "Password changed successfully! You can now login with your new password.",
  "NO_PASSWORD_SET": "No password set. Please use forgot password feature.",
  "CURRENT_PASSWORD_INCORRECT": "Current password is incorrect",
  "NEW_PASSWORD_SAME": "New password must be different from current password",
  "PASSWORD_CHANGED": "Password changed successfully!",
  "NEW_OTP_SENT": "New OTP sent to your email/phone.",
  "USERS_RETRIEVED": "Users retrieved successfully",
  "LOGOUT_SUCCESS": "User logout successfully.",
  "PROFILE_RETRIEVED": "Profile retrieved successfully",
  "INVALID_SOCIAL_TYPE": "Invalid social type. Must be GOOGLE, FACEBOOK, or APPLE",
  "INVALID_SOCIAL_TOKEN": "Invalid social token",
  "SOCIAL_LOGIN_SUCCESS": "Logged in successfully",
  "INVALID_FACEBOOK_TOKEN": "Invalid Facebook token",
  "INVALID_GOOGLE_TOKEN": "Invalid Google token",
  "INVALID_APPLE_TOKEN": "Invalid Apple token",
  "PAGE_NOT_FOUND": "Page not found",
  "FAQ_ADDED": "New FAQ added successfully",
  "PAGES_FOUND": "Pages found successfully",
  "PAGE_UPDATED": "Page updated successfully",
  "INVALID_REFERRAL_CODE": "Invalid referral code",
  "INVALID_REVENUE_MODEL": "Invalid revenue model. Must be COMMISSION or SUBSCRIPTION",
  "ADDRESS_ADDED_SUCCESSFULLY": "Address added successfully",
  "ADDRESS_LIST_RETRIEVED": "Address list retrieved successfully",
  "ADDRESS_UPDATED_SUCCESSFULLY": "Address updated successfully",
  "ADDRESS_DELETED_SUCCESSFULLY": "Address deleted successfully",
  "DEFAULT_ADDRESS_UPDATED_SUCCESSFULLY": "Default address updated successfully",
  "ADDRESS_NOT_FOUND": "Address not found",
  "ADDRESS_RETRIEVED": "Address retrieved successfully",
  "NOTIFICATIONS_RETRIEVED": "Notifications retrieved successfully",
  "NOTIFICATIONS_MARKED_READ": "All notifications marked as read",
  "UNREAD_COUNT_RETRIEVED": "Unread count retrieved",
  "ACCOUNT_DELETED": "Your account has been deleted. Please contact support for assistance.",
  "ACCOUNT_EXISTS_DIFFERENT_TYPE": "You already have an account as a {userType}. Please login there.",
  "PHONE_ALREADY_REGISTERED": "This phone number is already registered with another account.",
  "NEW_EMAIL_MUST_BE_DIFFERENT_FROM_CURRENT_EMAIL": "New email must be different from current email",
  "NEW_PHONE_MUST_BE_DIFFERENT_FROM_CURRENT_PHONE": "New phone number must be different from current phone number",
  "BANK_ACCOUNT_REQUIRED_FOR_PRODUCT": "Please link your bank account before adding products",
  "PRODUCT_NOT_FOUND": "Product not found",
  "PRODUCT_NOT_AVAILABLE": "Product is not available",
  "VENDOR_NOT_FOUND": "Vendor not found",
  "ORDER_NOT_FOUND": "Order not found",
  "NO_COMMISSION_TO_PAY": "No commission to pay for this order",
  "STRIPE_ACCOUNT_NOT_LINKED": "Stripe account not linked",
  "RAZORPAY_ACCOUNT_NOT_LINKED": "Razorpay account not linked",
  "REFUND_PROCESSING_FAILED": "Failed to process refund. Please try again later.",
  "REFUND_INSUFFICIENT_BALANCE": "Refund failed: Insufficient balance in payment gateway account.",
  "REFUND_PAYMENT_EXPIRED": "Refund failed: Payment has expired or is no longer eligible for refund.",
  "REFUND_ALREADY_PROCESSED": "Refund failed: This payment has already been refunded.",
  "REFUND_DISPUTE_ACTIVE": "Refund failed: Payment is under dispute or chargeback.",
  "REFUND_FAILED": "Refund processing failed",
  "PAYOUT_PROCESSING_FAILED": "Failed to process vendor payout. Please try again later.",
  "PAYOUT_INSUFFICIENT_BALANCE": "Payout failed: Insufficient balance in payment gateway account.",
  "PAYOUT_INVALID_ACCOUNT": "Payout failed: Invalid or inactive vendor bank account.",
  "PAYOUT_LIMIT_EXCEEDED": "Payout failed: Amount exceeds payout limit. Please contact support.",
  "PAYOUT_ACCOUNT_RESTRICTED": "Payout failed: Vendor account is restricted or suspended.",
  "PAYOUT_FAILED": "Payout processing failed",
  "INVALID_DEBIT_AMOUNT": "Withdrawal amount must be greater than 0",
  "INSUFFICIENT_WALLET_BALANCE": "Insufficient wallet balance. Available: {available}, Required: {required}",
  "BANK_ACCOUNT_NOT_FOUND": "Bank account not found. Please add a bank account first.",
  "WITHDRAWAL_PROCESSING_FAILED": "Failed to process withdrawal. Please try again later.",
  "WITHDRAWAL_INSUFFICIENT_BALANCE": "Withdrawal failed: Insufficient balance in payment gateway account.",
  "WITHDRAWAL_INVALID_ACCOUNT": "Withdrawal failed: Invalid or inactive bank account.",
  "WITHDRAWAL_LIMIT_EXCEEDED": "Withdrawal failed: Amount exceeds withdrawal limit. Please contact support.",
  "WITHDRAWAL_ACCOUNT_RESTRICTED": "Withdrawal failed: Your account is restricted or suspended.",
  "WITHDRAWAL_BELOW_MINIMUM": "Withdrawal failed: Amount is below minimum withdrawal limit.",
  "WITHDRAWAL_FAILED": "Withdrawal processing failed",
  "WITHDRAWAL_SUCCESS": "Successfully withdrawn {amount} from wallet",
  "PLAN_NOT_FOUND": "Plan not found",
  "PLAN_NOT_READY_FOR_STRIPE": "Plan is not ready for Stripe payments",
  "SUBSCRIPTION_ALREADY_CANCELLED": "Subscription already cancelled",
  "SUBSCRIPTION_CANCELLED_SUCCESS": "Your subscription has been cancelled successfully",
  "NO_CANCELLED_SUBSCRIPTION": "No cancelled subscription found to reactivate",
  "SUBSCRIPTION_REACTIVATED_SUCCESS": "Your subscription has been reactivated successfully",
  "ONLY_VENDORS_CAN_SWITCH": "Only vendors can switch revenue models",
  "COMMISSION_SWITCH_PENDING": "Your commission switch request is already scheduled at the end of your current subscription",
  "SWITCH_TO_COMMISSION_PENDING": "Switch to commission is pending. You will be switched to commission model when your current subscription ends",
  "SWITCHED_TO_COMMISSION_SUCCESS": "Successfully switched to commission model",
  "PLAN_NAME_EXISTS": "Plan name already exists",
  "GOOGLE_PLAY_PRODUCT_REQUIRED": "Google Play product information is required when in-app purchases are enabled",
  "APPLE_APP_STORE_PRODUCT_REQUIRED": "Apple App Store product information is required when in-app purchases are enabled",
  "PLAN_CREATED_SUCCESS": "New plan created successfully",
  "PLAN_DISABLED_SUCCESS": "Plan disabled successfully",
  "USER_ALREADY_SUBSCRIBED": "You are already subscribed to this plan",
  "ONE_TIME_SUBSCRIPTION_NO_UPGRADE": "You already have an active one-time subscription. Upgrade/downgrade is not available for one-time plans",
  "NO_ONE_TIME_WITH_RECURRING": "Cannot purchase a one-time plan while having an active recurring subscription",
  "SELECT_PLAN_REQUIRED": "Please select a plan",
  "ONE_TIME_PLAN_SETTINGS_MISMATCH": "This is a one-time plan but current settings require recurring checkout",
  "RECURRING_PLAN_SETTINGS_MISMATCH": "This is a recurring plan but current settings require one-time checkout",
  "SUBSCRIPTION_NOT_ACTIVE_STRIPE": "Current subscription is not active on Stripe",
  "SUBSCRIPTION_NOT_ACTIVE_RAZORPAY": "Current subscription is not active on Razorpay",
  "INVALID_PAYMENT_GATEWAY": "Invalid payment gateway",
  "SUBSCRIPTION_UPGRADE_SUCCESS": "Subscription upgraded successfully",
  "SUBSCRIPTION_UPGRADE_INITIATED": "Subscription upgrade initiated. Please complete payment.",
  "SUBSCRIPTION_DOWNGRADE_SCHEDULED": "Subscription downgrade scheduled for period end",
  "CALLER_ALREADY_ON_CALL": "You can't make another call",
  "RECEIVER_ID_REQUIRED": "Receiver ID is required for one-to-one calls",
  "RECEIVER_ALREADY_ON_CALL": "The person you are calling is currently on another call. Please try again later.",
  "CALLER_BLOCKED_RECEIVER": "You have blocked this user. Please unblock them first to make a call.",
  "CONNECTION_NOT_FOUND": "Connection not found",
  "CALL_INITIATED_SUCCESS": "Call initiated successfully",
  "CALL_NOT_FOUND": "Call not found",
  "NOT_PART_OF_CALL": "You are not part of this call",
  "CALL_ALREADY_ENDED": "Call is already {status}",
  "CALL_REJOINED_SUCCESS": "Successfully rejoined call"
}
