Index: KernelRecordsMVC.Application/ViewModels/CartItemViewModel.cs
===================================================================
--- KernelRecordsMVC.Application/ViewModels/CartItemViewModel.cs	(revision fa0fbaf2cdd288351eeaf3d4d17d8a6158ea5adc)
+++ KernelRecordsMVC.Application/ViewModels/CartItemViewModel.cs	(revision d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63)
@@ -16,4 +16,6 @@
 
     public long Stock { get; set; }
+    
+    public string? CoverPhoto { get; set; }
 
     public decimal Total =>
Index: KernelRecordsMVC.Application/ViewModels/CreateReleaseViewModel.cs
===================================================================
--- KernelRecordsMVC.Application/ViewModels/CreateReleaseViewModel.cs	(revision fa0fbaf2cdd288351eeaf3d4d17d8a6158ea5adc)
+++ KernelRecordsMVC.Application/ViewModels/CreateReleaseViewModel.cs	(revision d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63)
@@ -1,6 +1,69 @@
-﻿namespace KernelRecordsMVC.Application.ViewModels;
+﻿using System.ComponentModel.DataAnnotations;
+
+namespace KernelRecordsMVC.Application.ViewModels;
 
 public class CreateReleaseViewModel
 {
-    
+    // ==========================================
+    // RELEASE
+    // ==========================================
+
+    [Required]
+    [StringLength(200)]
+    public string Title { get; set; } = string.Empty;
+
+
+    [Display(Name = "Record Label")]
+    [StringLength(200)]
+    public string? RecordLabel { get; set; }
+
+
+    [Required]
+    [StringLength(100)]
+    public string Genre { get; set; } = string.Empty;
+
+
+    [Required]
+    [Display(Name = "Release Date")]
+    [DataType(DataType.Date)]
+    public DateTime ReleaseDate { get; set; } = DateTime.Today;
+
+
+    [Required]
+    [Display(Name = "Cover Photo")]
+    public string CoverPhoto { get; set; } = string.Empty;
+
+
+    // ALBUM or SINGLE
+    [Required]
+    [Display(Name = "Release Type")]
+    public string ReleaseType { get; set; } = "ALBUM";
+
+
+    // ==========================================
+    // ARTISTS
+    // ==========================================
+
+    [Required]
+    [Display(Name = "Main Artist")]
+    public long MainArtistId { get; set; }
+
+
+    [Display(Name = "Featured Artists")]
+    public List<long> FeaturedArtistIds { get; set; } = new();
+
+
+    // ==========================================
+    // SINGLE
+    // ==========================================
+
+    [Display(Name = "Single Duration")]
+    public string? SingleDuration { get; set; }
+
+
+    // ==========================================
+    // ALBUM
+    // ==========================================
+
+    public List<CreateTrackViewModel> Tracks { get; set; } = new();
 }
Index: KernelRecordsMVC.Application/ViewModels/CreateTrackViewModel.cs
===================================================================
--- KernelRecordsMVC.Application/ViewModels/CreateTrackViewModel.cs	(revision fa0fbaf2cdd288351eeaf3d4d17d8a6158ea5adc)
+++ KernelRecordsMVC.Application/ViewModels/CreateTrackViewModel.cs	(revision d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63)
@@ -1,6 +1,19 @@
-﻿namespace KernelRecordsMVC.Application.ViewModels;
+﻿using System.ComponentModel.DataAnnotations;
+
+namespace KernelRecordsMVC.Application.ViewModels;
 
 public class CreateTrackViewModel
 {
-    
+    [Required]
+    [Display(Name = "Track Name")]
+    public string SongName { get; set; } = string.Empty;
+
+
+    [Required]
+    [Display(Name = "Duration")]
+    public string SongDuration { get; set; } = string.Empty;
+
+
+    [Display(Name = "Track Artists")]
+    public List<long> ArtistIds { get; set; } = new();
 }
Index: KernelRecordsMVC.Application/ViewModels/EditProductViewModel.cs
===================================================================
--- KernelRecordsMVC.Application/ViewModels/EditProductViewModel.cs	(revision fa0fbaf2cdd288351eeaf3d4d17d8a6158ea5adc)
+++ KernelRecordsMVC.Application/ViewModels/EditProductViewModel.cs	(revision d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63)
@@ -1,7 +1,5 @@
-﻿namespace KernelRecordsMVC.Application.ViewModels;
-
-using System.ComponentModel.DataAnnotations;
+﻿using System.ComponentModel.DataAnnotations;
 using KernelRecordsMVC.Domain.Enums;
-
+namespace KernelRecordsMVC.Application.ViewModels;
 
 public class EditProductViewModel
Index: KernelRecordsMVC.Application/ViewModels/ProfileViewModel.cs
===================================================================
--- KernelRecordsMVC.Application/ViewModels/ProfileViewModel.cs	(revision fa0fbaf2cdd288351eeaf3d4d17d8a6158ea5adc)
+++ KernelRecordsMVC.Application/ViewModels/ProfileViewModel.cs	(revision d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63)
@@ -1,6 +1,23 @@
-﻿namespace KernelRecordsMVC.Application.ViewModels;
+﻿using System.ComponentModel.DataAnnotations;
+
+namespace KernelRecordsMVC.Application.ViewModels;
 
 public class ProfileViewModel
 {
-    
+    public long UserId { get; set; }
+
+    public string Username { get; set; } = null!;
+
+    [Required]
+    [EmailAddress]
+    public string Email { get; set; } = null!;
+
+    [Phone]
+    public string? TelephoneNumber { get; set; }
+
+    public string? ShippingAddress { get; set; }
+
+    public DateTime DateCreated { get; set; }
+
+    public long PointsCollected { get; set; }
 }
Index: KernelRecordsMVC.Application/ViewModels/SaleItemViewModel.cs
===================================================================
--- KernelRecordsMVC.Application/ViewModels/SaleItemViewModel.cs	(revision fa0fbaf2cdd288351eeaf3d4d17d8a6158ea5adc)
+++ KernelRecordsMVC.Application/ViewModels/SaleItemViewModel.cs	(revision d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63)
@@ -3,4 +3,22 @@
 public class SaleItemViewModel
 {
-    
+    public long ProductId { get; set; }
+
+    public long ReleaseId { get; set; }
+
+    public string ReleaseTitle { get; set; } = null!;
+
+    public string? CoverPhoto { get; set; }
+
+    public string Format { get; set; } = null!;
+
+    public decimal OriginalPrice { get; set; }
+
+    public decimal SalePrice { get; set; }
+
+    public decimal DiscountPercentage { get; set; }
+
+    public long Stock { get; set; }
+
+    public string ArtistName { get; set; } = null!;
 }
Index: KernelRecordsMVC.Application/ViewModels/TopSellerViewModel.cs
===================================================================
--- KernelRecordsMVC.Application/ViewModels/TopSellerViewModel.cs	(revision d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63)
+++ KernelRecordsMVC.Application/ViewModels/TopSellerViewModel.cs	(revision d2eccb3e3d4db7d262fc57179b8ce6f7fb060d63)
@@ -0,0 +1,22 @@
+﻿namespace KernelRecordsMVC.Application.ViewModels;
+
+public class TopSellerViewModel
+{
+    public long ProductId { get; set; }
+
+    public long ReleaseId { get; set; }
+
+    public string ReleaseTitle { get; set; } = null!;
+
+    public string? CoverPhoto { get; set; }
+
+    public string Format { get; set; } = null!;
+
+    public decimal Price { get; set; }
+
+    public long Stock { get; set; }
+
+    public long SoldQuantity { get; set; }
+
+    public string ArtistName { get; set; } = null!;
+}
