CheckoutAddressInput.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <?php
  2. namespace Webkul\BagistoApi\Dto;
  3. use ApiPlatform\Metadata\ApiProperty;
  4. use Symfony\Component\Serializer\Annotation\Groups;
  5. use Symfony\Component\Serializer\Annotation\SerializedName;
  6. /**
  7. * CheckoutAddressInput - GraphQL Input DTO for Checkout Address
  8. *
  9. * Input for storing billing and shipping addresses during checkout
  10. * Authentication token is passed via Authorization: Bearer header, NOT as input parameter
  11. */
  12. class CheckoutAddressInput
  13. {
  14. // Billing Address
  15. #[Groups(['mutation'])]
  16. #[ApiProperty(description: 'Billing first name')]
  17. #[SerializedName('billingFirstName')]
  18. public ?string $billingFirstName = null;
  19. #[Groups(['mutation'])]
  20. #[ApiProperty(description: 'Billing last name')]
  21. #[SerializedName('billingLastName')]
  22. public ?string $billingLastName = null;
  23. #[Groups(['mutation'])]
  24. #[ApiProperty(description: 'Billing email')]
  25. #[SerializedName('billingEmail')]
  26. public ?string $billingEmail = null;
  27. #[Groups(['mutation'])]
  28. #[ApiProperty(description: 'Billing company name')]
  29. #[SerializedName('billingCompanyName')]
  30. public ?string $billingCompanyName = null;
  31. #[Groups(['mutation'])]
  32. #[ApiProperty(description: 'Billing address')]
  33. #[SerializedName('billingAddress')]
  34. public ?string $billingAddress = null;
  35. #[Groups(['mutation'])]
  36. #[ApiProperty(description: 'Billing country')]
  37. #[SerializedName('billingCountry')]
  38. public ?string $billingCountry = null;
  39. #[Groups(['mutation'])]
  40. #[ApiProperty(description: 'Billing state')]
  41. #[SerializedName('billingState')]
  42. public ?string $billingState = null;
  43. #[Groups(['mutation'])]
  44. #[ApiProperty(description: 'Billing city')]
  45. #[SerializedName('billingCity')]
  46. public ?string $billingCity = null;
  47. #[Groups(['mutation'])]
  48. #[ApiProperty(description: 'Billing postcode')]
  49. #[SerializedName('billingPostcode')]
  50. public ?string $billingPostcode = null;
  51. #[Groups(['mutation'])]
  52. #[ApiProperty(description: 'Billing phone number')]
  53. #[SerializedName('billingPhoneNumber')]
  54. public ?string $billingPhoneNumber = null;
  55. // Shipping Address
  56. #[Groups(['mutation'])]
  57. #[ApiProperty(description: 'Shipping first name')]
  58. #[SerializedName('shippingFirstName')]
  59. public ?string $shippingFirstName = null;
  60. #[Groups(['mutation'])]
  61. #[ApiProperty(description: 'Shipping last name')]
  62. #[SerializedName('shippingLastName')]
  63. public ?string $shippingLastName = null;
  64. #[Groups(['mutation'])]
  65. #[ApiProperty(description: 'Shipping email')]
  66. #[SerializedName('shippingEmail')]
  67. public ?string $shippingEmail = null;
  68. #[Groups(['mutation'])]
  69. #[ApiProperty(description: 'Shipping company name')]
  70. #[SerializedName('shippingCompanyName')]
  71. public ?string $shippingCompanyName = null;
  72. #[Groups(['mutation'])]
  73. #[ApiProperty(description: 'Shipping address')]
  74. #[SerializedName('shippingAddress')]
  75. public ?string $shippingAddress = null;
  76. #[Groups(['mutation'])]
  77. #[ApiProperty(description: 'Shipping country')]
  78. #[SerializedName('shippingCountry')]
  79. public ?string $shippingCountry = null;
  80. #[Groups(['mutation'])]
  81. #[ApiProperty(description: 'Shipping state')]
  82. #[SerializedName('shippingState')]
  83. public ?string $shippingState = null;
  84. #[Groups(['mutation'])]
  85. #[ApiProperty(description: 'Shipping city')]
  86. #[SerializedName('shippingCity')]
  87. public ?string $shippingCity = null;
  88. #[Groups(['mutation'])]
  89. #[ApiProperty(description: 'Shipping postcode')]
  90. #[SerializedName('shippingPostcode')]
  91. public ?string $shippingPostcode = null;
  92. #[Groups(['mutation'])]
  93. #[ApiProperty(description: 'Shipping phone number')]
  94. #[SerializedName('shippingPhoneNumber')]
  95. public ?string $shippingPhoneNumber = null;
  96. // Flags
  97. #[Groups(['mutation'])]
  98. #[ApiProperty(description: 'Use address for shipping')]
  99. #[SerializedName('useForShipping')]
  100. public ?bool $useForShipping = null;
  101. // Additional fields for shipping and payment methods
  102. #[Groups(['mutation'])]
  103. #[ApiProperty(description: 'Shipping method code')]
  104. #[SerializedName('shippingMethod')]
  105. public ?string $shippingMethod = null;
  106. #[Groups(['mutation'])]
  107. #[ApiProperty(description: 'Payment method code')]
  108. #[SerializedName('paymentMethod')]
  109. public ?string $paymentMethod = null;
  110. // Payment callback URLs (for headless frontends)
  111. #[Groups(['mutation'])]
  112. #[ApiProperty(description: 'Payment success callback URL')]
  113. #[SerializedName('paymentSuccessUrl')]
  114. public ?string $paymentSuccessUrl = null;
  115. #[Groups(['mutation'])]
  116. #[ApiProperty(description: 'Payment failure callback URL')]
  117. #[SerializedName('paymentFailureUrl')]
  118. public ?string $paymentFailureUrl = null;
  119. #[Groups(['mutation'])]
  120. #[ApiProperty(description: 'Payment cancel callback URL')]
  121. #[SerializedName('paymentCancelUrl')]
  122. public ?string $paymentCancelUrl = null;
  123. }