from pydantic import BaseModel from typing import Optional from datetime import datetime class ServicePaymentCreate(BaseModel): payment_type: str # ADVANCE, ADDITIONAL, FINAL, REFUND amount: float provider: str = "RAZORPAY" quote_id: Optional[str] = None class ServicePaymentResponse(BaseModel): payment_id: str service_job_id: str quote_id: Optional[str] payment_type: str amount: float status: str provider: Optional[str] provider_order_id: Optional[str] provider_payment_id: Optional[str] provider_signature: Optional[str] transaction_reference: Optional[str] created_at: datetime paid_at: Optional[datetime] class Config: from_attributes = True class RazorpayVerificationRequest(BaseModel): payment_id: str razorpay_order_id: str razorpay_payment_id: str razorpay_signature: str